From 92ff24a493053237f931d9a44450e3a775eb4352 Mon Sep 17 00:00:00 2001 From: Jonko <69772986+jonko0493@users.noreply.github.com> Date: Sat, 25 Jan 2025 04:59:21 -0800 Subject: [PATCH] Add some more script command editors (#442) --- src/SerialLoops.Lib/Items/ScriptItem.cs | 2 +- .../ChibiEnterExitScriptParameter.cs | 4 +- src/SerialLoops/Assets/Strings.Designer.cs | 63 +++++++++++++++ src/SerialLoops/Assets/Strings.resx | 21 +++++ .../Editors/ScenarioEditorViewModel.cs | 2 +- .../ChibiEmoteScriptCommandEditorViewModel.cs | 57 +++++++++++++ ...biEnterExitScriptCommandEditorViewModel.cs | 66 +++++++++++++++ .../Global2DScriptCommandEditorViewModel.cs | 22 +++++ ...InvestStartScriptCommandEditorViewModel.cs | 80 +++++++++++++++++++ ...yFriendshipScriptCommandEditorViewModel.cs | 41 ++++++++++ .../SkipSceneScriptCommandEditorViewModel.cs | 22 +++++ .../Editors/ScriptEditorViewModel.cs | 6 ++ .../ChibiEmoteScriptCommandEditorView.axaml | 41 ++++++++++ ...ChibiEmoteScriptCommandEditorView.axaml.cs | 12 +++ ...hibiEnterExitScriptCommandEditorView.axaml | 48 +++++++++++ ...iEnterExitScriptCommandEditorView.axaml.cs | 12 +++ .../Global2DScriptCommandEditorView.axaml | 20 +++++ .../Global2DScriptCommandEditorView.axaml.cs | 14 ++++ .../InvestStartScriptCommandEditorView.axaml | 44 ++++++++++ ...nvestStartScriptCommandEditorView.axaml.cs | 12 +++ ...ifyFriendshipScriptCommandEditorView.axaml | 32 ++++++++ ...FriendshipScriptCommandEditorView.axaml.cs | 12 +++ .../SkipSceneScriptCommandEditorView.axaml | 19 +++++ .../SkipSceneScriptCommandEditorView.axaml.cs | 12 +++ 24 files changed, 660 insertions(+), 4 deletions(-) create mode 100644 src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/ChibiEmoteScriptCommandEditorViewModel.cs create mode 100644 src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/ChibiEnterExitScriptCommandEditorViewModel.cs create mode 100644 src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/Global2DScriptCommandEditorViewModel.cs create mode 100644 src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/InvestStartScriptCommandEditorViewModel.cs create mode 100644 src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/ModifyFriendshipScriptCommandEditorViewModel.cs create mode 100644 src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/SkipSceneScriptCommandEditorViewModel.cs create mode 100644 src/SerialLoops/Views/Editors/ScriptCommandEditors/ChibiEmoteScriptCommandEditorView.axaml create mode 100644 src/SerialLoops/Views/Editors/ScriptCommandEditors/ChibiEmoteScriptCommandEditorView.axaml.cs create mode 100644 src/SerialLoops/Views/Editors/ScriptCommandEditors/ChibiEnterExitScriptCommandEditorView.axaml create mode 100644 src/SerialLoops/Views/Editors/ScriptCommandEditors/ChibiEnterExitScriptCommandEditorView.axaml.cs create mode 100644 src/SerialLoops/Views/Editors/ScriptCommandEditors/Global2DScriptCommandEditorView.axaml create mode 100644 src/SerialLoops/Views/Editors/ScriptCommandEditors/Global2DScriptCommandEditorView.axaml.cs create mode 100644 src/SerialLoops/Views/Editors/ScriptCommandEditors/InvestStartScriptCommandEditorView.axaml create mode 100644 src/SerialLoops/Views/Editors/ScriptCommandEditors/InvestStartScriptCommandEditorView.axaml.cs create mode 100644 src/SerialLoops/Views/Editors/ScriptCommandEditors/ModifyFriendshipScriptCommandEditorView.axaml create mode 100644 src/SerialLoops/Views/Editors/ScriptCommandEditors/ModifyFriendshipScriptCommandEditorView.axaml.cs create mode 100644 src/SerialLoops/Views/Editors/ScriptCommandEditors/SkipSceneScriptCommandEditorView.axaml create mode 100644 src/SerialLoops/Views/Editors/ScriptCommandEditors/SkipSceneScriptCommandEditorView.axaml.cs diff --git a/src/SerialLoops.Lib/Items/ScriptItem.cs b/src/SerialLoops.Lib/Items/ScriptItem.cs index cb8660be..9d1c3c32 100644 --- a/src/SerialLoops.Lib/Items/ScriptItem.cs +++ b/src/SerialLoops.Lib/Items/ScriptItem.cs @@ -289,7 +289,7 @@ public ScriptPreview GetScriptPreview(OrderedDictionary + /// Looks up a localized string similar to Anger Mark. + /// + public static string ANGER_MARK { + get { + return ResourceManager.GetString("ANGER_MARK", resourceCulture); + } + } + /// /// Looks up a localized string similar to Animation. /// @@ -2265,6 +2274,15 @@ public static string English { } } + /// + /// Looks up a localized string similar to Enter. + /// + public static string Enter { + get { + return ResourceManager.GetString("Enter", resourceCulture); + } + } + /// /// Looks up a localized string similar to Enter/Exit. /// @@ -2591,6 +2609,15 @@ public static string Exception_occurred_while_parsing_projects_cache_json_ { } } + /// + /// Looks up a localized string similar to Exclamation Point. + /// + public static string EXCLAMATION_POINT { + get { + return ResourceManager.GetString("EXCLAMATION_POINT", resourceCulture); + } + } + /// /// Looks up a localized string similar to Exit. /// @@ -4321,6 +4348,15 @@ public static string Level { } } + /// + /// Looks up a localized string similar to Light Bulb. + /// + public static string LIGHT_BULB { + get { + return ResourceManager.GetString("LIGHT_BULB", resourceCulture); + } + } + /// /// Looks up a localized string similar to Listened to {0} (F{1:D2}). /// @@ -4456,6 +4492,15 @@ public static string Map { } } + /// + /// Looks up a localized string similar to Map Character Set. + /// + public static string Map_Character_Set { + get { + return ResourceManager.GetString("Map Character Set", resourceCulture); + } + } + /// /// Looks up a localized string similar to Map Characters. /// @@ -4636,6 +4681,15 @@ public static string Music_ { } } + /// + /// Looks up a localized string similar to Music Note. + /// + public static string MUSIC_NOTE { + get { + return ResourceManager.GetString("MUSIC_NOTE", resourceCulture); + } + } + /// /// Looks up a localized string similar to Mystery girl voice added to config message box. /// @@ -7377,6 +7431,15 @@ public static string Supported_Images { } } + /// + /// Looks up a localized string similar to Sweat Drop. + /// + public static string SWEAT_DROP { + get { + return ResourceManager.GetString("SWEAT_DROP", resourceCulture); + } + } + /// /// Looks up a localized string similar to Symbols. /// diff --git a/src/SerialLoops/Assets/Strings.resx b/src/SerialLoops/Assets/Strings.resx index 8ba306e7..5743c47f 100644 --- a/src/SerialLoops/Assets/Strings.resx +++ b/src/SerialLoops/Assets/Strings.resx @@ -3059,4 +3059,25 @@ This action is irreversible. None + + Map Character Set + + + Exclamation Point + + + Light Bulb + + + Anger Mark + + + Music Note + + + Sweat Drop + + + Enter + diff --git a/src/SerialLoops/ViewModels/Editors/ScenarioEditorViewModel.cs b/src/SerialLoops/ViewModels/Editors/ScenarioEditorViewModel.cs index 097e8811..c4e3d40f 100644 --- a/src/SerialLoops/ViewModels/Editors/ScenarioEditorViewModel.cs +++ b/src/SerialLoops/ViewModels/Editors/ScenarioEditorViewModel.cs @@ -65,7 +65,7 @@ public ScenarioEditorViewModel(ScenarioItem scenario, MainWindowViewModel window private async void Add() { int selectedIndex = Math.Min(_scenario.Scenario.Commands.Count - 1, Commands.IndexOf(SelectedCommand)); - ScenarioVerb? newVerb = await new AddScenarioCommandDialog { DataContext = new AddScenarioCommandDialogViewModel() }.ShowDialog(Window.Window); + ScenarioVerb? newVerb = await new AddScenarioCommandDialog { DataContext = new AddScenarioCommandDialogViewModel() }.ShowDialog(Window.Window); if (newVerb is not null) { int param = newVerb switch diff --git a/src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/ChibiEmoteScriptCommandEditorViewModel.cs b/src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/ChibiEmoteScriptCommandEditorViewModel.cs new file mode 100644 index 00000000..98749d08 --- /dev/null +++ b/src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/ChibiEmoteScriptCommandEditorViewModel.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.ObjectModel; +using System.Linq; +using DynamicData; +using HaruhiChokuretsuLib.Util; +using ReactiveUI; +using ReactiveUI.Fody.Helpers; +using SerialLoops.Assets; +using SerialLoops.Lib.Items; +using SerialLoops.Lib.Script; +using SerialLoops.Lib.Script.Parameters; + +namespace SerialLoops.ViewModels.Editors.ScriptCommandEditors; + +public class ChibiEmoteScriptCommandEditorViewModel(ScriptItemCommand command, ScriptEditorViewModel scriptEditor, ILogger log) : ScriptCommandEditorViewModel(command, scriptEditor, log) +{ + public ObservableCollection Chibis { get; } = new(scriptEditor.Window.OpenProject.Items + .Where(i => i.Type == ItemDescription.ItemType.Chibi).Cast()); + public ChibiItem Chibi + { + get => ((ChibiScriptParameter)Command.Parameters[0]).Chibi; + set + { + ((ChibiScriptParameter)Command.Parameters[0]).Chibi = value; + Script.Event.ScriptSections[Script.Event.ScriptSections.IndexOf(Command.Section)] + .Objects[Command.Index].Parameters[0] = (short)value.TopScreenIndex; + this.RaisePropertyChanged(); + ScriptEditor.UpdatePreview(); + Script.UnsavedChanges = true; + } + } + + public ObservableCollection ChibiEmotes { get; } = new(Enum + .GetValues() + .Select(e => new LocalizedChibiEmote(e))); + + public LocalizedChibiEmote ChibiEmote + { + get => new(((ChibiEmoteScriptParameter)Command.Parameters[1]).Emote); + set + { + ((ChibiEmoteScriptParameter)Command.Parameters[1]).Emote = value.Emote; + Script.Event.ScriptSections[Script.Event.ScriptSections.IndexOf(Command.Section)] + .Objects[Command.Index].Parameters[1] = (short)value.Emote; + this.RaisePropertyChanged(); + ScriptEditor.UpdatePreview(); + Script.UnsavedChanges = true; + } + } +} + +public struct LocalizedChibiEmote(ChibiEmoteScriptParameter.ChibiEmote chibiEmote) +{ + public ChibiEmoteScriptParameter.ChibiEmote Emote { get; } = chibiEmote; + + public string DisplayName => Strings.ResourceManager.GetString(Emote.ToString()); +} diff --git a/src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/ChibiEnterExitScriptCommandEditorViewModel.cs b/src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/ChibiEnterExitScriptCommandEditorViewModel.cs new file mode 100644 index 00000000..e0fa422b --- /dev/null +++ b/src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/ChibiEnterExitScriptCommandEditorViewModel.cs @@ -0,0 +1,66 @@ +using System; +using System.Collections.ObjectModel; +using System.Linq; +using System.Runtime.InteropServices.JavaScript; +using HaruhiChokuretsuLib.Util; +using ReactiveUI; +using SerialLoops.Assets; +using SerialLoops.Lib.Items; +using SerialLoops.Lib.Script; +using SerialLoops.Lib.Script.Parameters; + +namespace SerialLoops.ViewModels.Editors.ScriptCommandEditors; + +public class ChibiEnterExitScriptCommandEditorViewModel(ScriptItemCommand command, ScriptEditorViewModel scriptEditor, ILogger log) : ScriptCommandEditorViewModel(command, scriptEditor, log) +{ + public ObservableCollection Chibis { get; } = new(scriptEditor.Window.OpenProject.Items.Where( + i => i.Type == ItemDescription.ItemType.Chibi).Cast()); + public ChibiItem Chibi + { + get => ((ChibiScriptParameter)Command.Parameters[0]).Chibi; + set + { + ((ChibiScriptParameter)Command.Parameters[0]).Chibi = value; + Script.Event.ScriptSections[Script.Event.ScriptSections.IndexOf(Command.Section)] + .Objects[Command.Index].Parameters[0] = (short)value.TopScreenIndex; + this.RaisePropertyChanged(); + ScriptEditor.UpdatePreview(); + Script.UnsavedChanges = true; + } + } + + public ObservableCollection EnterExitModes { get; } = new(Enum.GetValues() + .Select(t => new LocalizedChibiEnterExitType(t))); + public LocalizedChibiEnterExitType EnterExitMode + { + get => new(((ChibiEnterExitScriptParameter)Command.Parameters[1]).Mode); + set + { + ((ChibiEnterExitScriptParameter)Command.Parameters[1]).Mode = value.Mode; + Script.Event.ScriptSections[Script.Event.ScriptSections.IndexOf(Command.Section)] + .Objects[Command.Index].Parameters[1] = (short)value.Mode; + this.RaisePropertyChanged(); + ScriptEditor.UpdatePreview(); + Script.UnsavedChanges = true; + } + } + + public short Delay + { + get => ((ShortScriptParameter)Command.Parameters[2]).Value; + set + { + ((ShortScriptParameter)Command.Parameters[2]).Value = value; + Script.Event.ScriptSections[Script.Event.ScriptSections.IndexOf(Command.Section)] + .Objects[Command.Index].Parameters[2] = value; + this.RaisePropertyChanged(); + Script.UnsavedChanges = true; + } + } +} + +public readonly struct LocalizedChibiEnterExitType(ChibiEnterExitScriptParameter.ChibiEnterExitType type) +{ + public ChibiEnterExitScriptParameter.ChibiEnterExitType Mode { get; } = type; + public string DisplayName { get; } = Strings.ResourceManager.GetString(type.ToString()); +} diff --git a/src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/Global2DScriptCommandEditorViewModel.cs b/src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/Global2DScriptCommandEditorViewModel.cs new file mode 100644 index 00000000..18828988 --- /dev/null +++ b/src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/Global2DScriptCommandEditorViewModel.cs @@ -0,0 +1,22 @@ +using HaruhiChokuretsuLib.Util; +using ReactiveUI; +using SerialLoops.Lib.Script; +using SerialLoops.Lib.Script.Parameters; + +namespace SerialLoops.ViewModels.Editors.ScriptCommandEditors; + +public class Global2DScriptCommandEditorViewModel(ScriptItemCommand command, ScriptEditorViewModel scriptEditor, ILogger log) : ScriptCommandEditorViewModel(command, scriptEditor, log) +{ + public short Value + { + get => ((ShortScriptParameter)Command.Parameters[0]).Value; + set + { + ((ShortScriptParameter)Command.Parameters[0]).Value = value; + Script.Event.ScriptSections[Script.Event.ScriptSections.IndexOf(Command.Section)] + .Objects[Command.Index].Parameters[0] = value; + this.RaisePropertyChanged(); + Script.UnsavedChanges = true; + } + } +} diff --git a/src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/InvestStartScriptCommandEditorViewModel.cs b/src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/InvestStartScriptCommandEditorViewModel.cs new file mode 100644 index 00000000..080f1bb9 --- /dev/null +++ b/src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/InvestStartScriptCommandEditorViewModel.cs @@ -0,0 +1,80 @@ +using System.Linq; +using HaruhiChokuretsuLib.Util; +using ReactiveUI; +using SerialLoops.Lib.Script; +using SerialLoops.Lib.Script.Parameters; + +namespace SerialLoops.ViewModels.Editors.ScriptCommandEditors; + +public class InvestStartScriptCommandEditorViewModel( + ScriptItemCommand scriptCommand, + ScriptEditorViewModel scriptEditor, + ILogger log) + : ScriptCommandEditorViewModel(scriptCommand, scriptEditor, log) +{ + public short MapCharacterSet + { + get => ((ShortScriptParameter)Command.Parameters[0]).Value; + set + { + ((ShortScriptParameter)Command.Parameters[0]).Value = value; + Script.Event.ScriptSections[Script.Event.ScriptSections.IndexOf(Command.Section)] + .Objects[Command.Index].Parameters[0] = value; + this.RaisePropertyChanged(); + Script.UnsavedChanges = true; + } + } + public short Unknown1 + { + get => ((ShortScriptParameter)Command.Parameters[1]).Value; + set + { + ((ShortScriptParameter)Command.Parameters[1]).Value = value; + Script.Event.ScriptSections[Script.Event.ScriptSections.IndexOf(Command.Section)] + .Objects[Command.Index].Parameters[1] = value; + this.RaisePropertyChanged(); + Script.UnsavedChanges = true; + } + } + + public short Unknown2 + { + get => ((ShortScriptParameter)Command.Parameters[2]).Value; + set + { + ((ShortScriptParameter)Command.Parameters[2]).Value = value; + Script.Event.ScriptSections[Script.Event.ScriptSections.IndexOf(Command.Section)] + .Objects[Command.Index].Parameters[2] = value; + this.RaisePropertyChanged(); + Script.UnsavedChanges = true; + } + } + + public short Unknown3 + { + get => ((ShortScriptParameter)Command.Parameters[3]).Value; + set + { + ((ShortScriptParameter)Command.Parameters[3]).Value = value; + Script.Event.ScriptSections[Script.Event.ScriptSections.IndexOf(Command.Section)] + .Objects[Command.Index].Parameters[3] = value; + this.RaisePropertyChanged(); + Script.UnsavedChanges = true; + } + } + + public ReactiveScriptSection EndScriptSection + { + get => ScriptEditor.ScriptSections.First(s => + s.Section.Name.Equals(((ScriptSectionScriptParameter)Command.Parameters[4]).Section.Name)); + set + { + ((ScriptSectionScriptParameter)Command.Parameters[4]).Section = value.Section; + Script.Event.ScriptSections[Script.Event.ScriptSections.IndexOf(Command.Section)] + .Objects[Command.Index].Parameters[4] = + Script.Event.LabelsSection.Objects.First(l => l.Name.Replace("/", "").Equals(value.Name)).Id; + this.RaisePropertyChanged(); + Script.UnsavedChanges = true; + } + } +} diff --git a/src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/ModifyFriendshipScriptCommandEditorViewModel.cs b/src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/ModifyFriendshipScriptCommandEditorViewModel.cs new file mode 100644 index 00000000..80b9a549 --- /dev/null +++ b/src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/ModifyFriendshipScriptCommandEditorViewModel.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.ObjectModel; +using HaruhiChokuretsuLib.Util; +using ReactiveUI; +using SerialLoops.Lib.Script; +using SerialLoops.Lib.Script.Parameters; + +namespace SerialLoops.ViewModels.Editors.ScriptCommandEditors; + +public class ModifyFriendshipScriptCommandEditorViewModel(ScriptItemCommand command, ScriptEditorViewModel scriptEditor, ILogger log) : ScriptCommandEditorViewModel(command, scriptEditor, log) +{ + public ObservableCollection Characters { get; } = new(Enum.GetNames()); + + public string Character + { + get => ((FriendshipLevelScriptParameter)Command.Parameters[0]).Character.ToString(); + set + { + FriendshipLevelScriptParameter.FriendshipCharacter character = + Enum.Parse(value); + ((FriendshipLevelScriptParameter)Command.Parameters[0]).Character = character; + Script.Event.ScriptSections[Script.Event.ScriptSections.IndexOf(Command.Section)] + .Objects[Command.Index].Parameters[0] = (short)character; + this.RaisePropertyChanged(); + Script.UnsavedChanges = true; + } + } + + public short ModifiedAmount + { + get => ((ShortScriptParameter)Command.Parameters[1]).Value; + set + { + ((ShortScriptParameter)Command.Parameters[1]).Value = value; + Script.Event.ScriptSections[Script.Event.ScriptSections.IndexOf(Command.Section)] + .Objects[Command.Index].Parameters[1] = value; + this.RaisePropertyChanged(); + Script.UnsavedChanges = true; + } + } +} diff --git a/src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/SkipSceneScriptCommandEditorViewModel.cs b/src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/SkipSceneScriptCommandEditorViewModel.cs new file mode 100644 index 00000000..359ea8a4 --- /dev/null +++ b/src/SerialLoops/ViewModels/Editors/ScriptCommandEditors/SkipSceneScriptCommandEditorViewModel.cs @@ -0,0 +1,22 @@ +using HaruhiChokuretsuLib.Util; +using ReactiveUI; +using SerialLoops.Lib.Script; +using SerialLoops.Lib.Script.Parameters; + +namespace SerialLoops.ViewModels.Editors.ScriptCommandEditors; + +public class SkipSceneScriptCommandEditorViewModel(ScriptItemCommand command, ScriptEditorViewModel scriptEditor, ILogger log) : ScriptCommandEditorViewModel(command, scriptEditor, log) +{ + public short ScenesToSkip + { + get => ((ShortScriptParameter)Command.Parameters[0]).Value; + set + { + ((ShortScriptParameter)Command.Parameters[0]).Value = value; + Script.Event.ScriptSections[Script.Event.ScriptSections.IndexOf(Command.Section)] + .Objects[Command.Index].Parameters[0] = value; + this.RaisePropertyChanged(); + Script.UnsavedChanges = true; + } + } +} diff --git a/src/SerialLoops/ViewModels/Editors/ScriptEditorViewModel.cs b/src/SerialLoops/ViewModels/Editors/ScriptEditorViewModel.cs index fdcc7c74..677d17b8 100644 --- a/src/SerialLoops/ViewModels/Editors/ScriptEditorViewModel.cs +++ b/src/SerialLoops/ViewModels/Editors/ScriptEditorViewModel.cs @@ -203,10 +203,16 @@ private void UpdateCommandViewModel() CommandVerb.BACK => new EmptyScriptCommandEditorViewModel(_selectedCommand, this, _log), CommandVerb.STOP => new EmptyScriptCommandEditorViewModel(_selectedCommand, this, _log), CommandVerb.NOOP2 => new EmptyScriptCommandEditorViewModel(_selectedCommand, this, _log), + CommandVerb.INVEST_START => new InvestStartScriptCommandEditorViewModel(_selectedCommand, this, _log), CommandVerb.LOAD_ISOMAP => new LoadIsomapScriptCommandEditorViewModel(_selectedCommand, this, _log), CommandVerb.INVEST_END => new EmptyScriptCommandEditorViewModel(_selectedCommand, this, _log), + CommandVerb.CHIBI_EMOTE => new ChibiEmoteScriptCommandEditorViewModel(_selectedCommand, this, _log), CommandVerb.NEXT_SCENE => new EmptyScriptCommandEditorViewModel(_selectedCommand, this, _log), + CommandVerb.SKIP_SCENE => new SkipSceneScriptCommandEditorViewModel(_selectedCommand, this, _log), + CommandVerb.MODIFY_FRIENDSHIP => new ModifyFriendshipScriptCommandEditorViewModel(_selectedCommand, this, _log), + CommandVerb.CHIBI_ENTEREXIT => new ChibiEnterExitScriptCommandEditorViewModel(_selectedCommand, this, _log), CommandVerb.AVOID_DISP => new EmptyScriptCommandEditorViewModel(_selectedCommand, this, _log), + CommandVerb.GLOBAL2D => new Global2DScriptCommandEditorViewModel(_selectedCommand, this, _log), CommandVerb.CHESS_LOAD => new ChessLoadScriptCommandEditorViewModel(_selectedCommand, this, Window, _log), CommandVerb.SCENE_GOTO_CHESS => new SceneGotoScriptCommandEditorViewModel(_selectedCommand, this, _log, Window), CommandVerb.BG_DISP2 => new BgDispScriptCommandEditorViewModel(_selectedCommand, this, _log, Window), diff --git a/src/SerialLoops/Views/Editors/ScriptCommandEditors/ChibiEmoteScriptCommandEditorView.axaml b/src/SerialLoops/Views/Editors/ScriptCommandEditors/ChibiEmoteScriptCommandEditorView.axaml new file mode 100644 index 00000000..914cb4a5 --- /dev/null +++ b/src/SerialLoops/Views/Editors/ScriptCommandEditors/ChibiEmoteScriptCommandEditorView.axaml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/SerialLoops/Views/Editors/ScriptCommandEditors/ChibiEmoteScriptCommandEditorView.axaml.cs b/src/SerialLoops/Views/Editors/ScriptCommandEditors/ChibiEmoteScriptCommandEditorView.axaml.cs new file mode 100644 index 00000000..e678e6f7 --- /dev/null +++ b/src/SerialLoops/Views/Editors/ScriptCommandEditors/ChibiEmoteScriptCommandEditorView.axaml.cs @@ -0,0 +1,12 @@ +using Avalonia.Controls; + +namespace SerialLoops.Views.Editors.ScriptCommandEditors; + +public partial class ChibiEmoteScriptCommandEditorView : UserControl +{ + public ChibiEmoteScriptCommandEditorView() + { + InitializeComponent(); + } +} + diff --git a/src/SerialLoops/Views/Editors/ScriptCommandEditors/ChibiEnterExitScriptCommandEditorView.axaml b/src/SerialLoops/Views/Editors/ScriptCommandEditors/ChibiEnterExitScriptCommandEditorView.axaml new file mode 100644 index 00000000..b32c9fc6 --- /dev/null +++ b/src/SerialLoops/Views/Editors/ScriptCommandEditors/ChibiEnterExitScriptCommandEditorView.axaml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/SerialLoops/Views/Editors/ScriptCommandEditors/ChibiEnterExitScriptCommandEditorView.axaml.cs b/src/SerialLoops/Views/Editors/ScriptCommandEditors/ChibiEnterExitScriptCommandEditorView.axaml.cs new file mode 100644 index 00000000..8d4f44e7 --- /dev/null +++ b/src/SerialLoops/Views/Editors/ScriptCommandEditors/ChibiEnterExitScriptCommandEditorView.axaml.cs @@ -0,0 +1,12 @@ +using Avalonia.Controls; + +namespace SerialLoops.Views.Editors.ScriptCommandEditors; + +public partial class ChibiEnterExitScriptCommandEditorView : UserControl +{ + public ChibiEnterExitScriptCommandEditorView() + { + InitializeComponent(); + } +} + diff --git a/src/SerialLoops/Views/Editors/ScriptCommandEditors/Global2DScriptCommandEditorView.axaml b/src/SerialLoops/Views/Editors/ScriptCommandEditors/Global2DScriptCommandEditorView.axaml new file mode 100644 index 00000000..24045513 --- /dev/null +++ b/src/SerialLoops/Views/Editors/ScriptCommandEditors/Global2DScriptCommandEditorView.axaml @@ -0,0 +1,20 @@ + + + + + + + diff --git a/src/SerialLoops/Views/Editors/ScriptCommandEditors/Global2DScriptCommandEditorView.axaml.cs b/src/SerialLoops/Views/Editors/ScriptCommandEditors/Global2DScriptCommandEditorView.axaml.cs new file mode 100644 index 00000000..3917063c --- /dev/null +++ b/src/SerialLoops/Views/Editors/ScriptCommandEditors/Global2DScriptCommandEditorView.axaml.cs @@ -0,0 +1,14 @@ +using Avalonia; +using Avalonia.Controls; +using Avalonia.Markup.Xaml; + +namespace SerialLoops.Views.Editors.ScriptCommandEditors; + +public partial class Global2DScriptCommandEditorView : UserControl +{ + public Global2DScriptCommandEditorView() + { + InitializeComponent(); + } +} + diff --git a/src/SerialLoops/Views/Editors/ScriptCommandEditors/InvestStartScriptCommandEditorView.axaml b/src/SerialLoops/Views/Editors/ScriptCommandEditors/InvestStartScriptCommandEditorView.axaml new file mode 100644 index 00000000..cba1b7ed --- /dev/null +++ b/src/SerialLoops/Views/Editors/ScriptCommandEditors/InvestStartScriptCommandEditorView.axaml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/SerialLoops/Views/Editors/ScriptCommandEditors/InvestStartScriptCommandEditorView.axaml.cs b/src/SerialLoops/Views/Editors/ScriptCommandEditors/InvestStartScriptCommandEditorView.axaml.cs new file mode 100644 index 00000000..0fac1d23 --- /dev/null +++ b/src/SerialLoops/Views/Editors/ScriptCommandEditors/InvestStartScriptCommandEditorView.axaml.cs @@ -0,0 +1,12 @@ +using Avalonia.Controls; + +namespace SerialLoops.Views.Editors.ScriptCommandEditors; + +public partial class InvestStartScriptCommandEditorView : UserControl +{ + public InvestStartScriptCommandEditorView() + { + InitializeComponent(); + } +} + diff --git a/src/SerialLoops/Views/Editors/ScriptCommandEditors/ModifyFriendshipScriptCommandEditorView.axaml b/src/SerialLoops/Views/Editors/ScriptCommandEditors/ModifyFriendshipScriptCommandEditorView.axaml new file mode 100644 index 00000000..df97df9d --- /dev/null +++ b/src/SerialLoops/Views/Editors/ScriptCommandEditors/ModifyFriendshipScriptCommandEditorView.axaml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/SerialLoops/Views/Editors/ScriptCommandEditors/ModifyFriendshipScriptCommandEditorView.axaml.cs b/src/SerialLoops/Views/Editors/ScriptCommandEditors/ModifyFriendshipScriptCommandEditorView.axaml.cs new file mode 100644 index 00000000..bdd2dbfe --- /dev/null +++ b/src/SerialLoops/Views/Editors/ScriptCommandEditors/ModifyFriendshipScriptCommandEditorView.axaml.cs @@ -0,0 +1,12 @@ +using Avalonia.Controls; + +namespace SerialLoops.Views.Editors.ScriptCommandEditors; + +public partial class ModifyFriendshipScriptCommandEditorView : UserControl +{ + public ModifyFriendshipScriptCommandEditorView() + { + InitializeComponent(); + } +} + diff --git a/src/SerialLoops/Views/Editors/ScriptCommandEditors/SkipSceneScriptCommandEditorView.axaml b/src/SerialLoops/Views/Editors/ScriptCommandEditors/SkipSceneScriptCommandEditorView.axaml new file mode 100644 index 00000000..4bccea17 --- /dev/null +++ b/src/SerialLoops/Views/Editors/ScriptCommandEditors/SkipSceneScriptCommandEditorView.axaml @@ -0,0 +1,19 @@ + + + + + + + diff --git a/src/SerialLoops/Views/Editors/ScriptCommandEditors/SkipSceneScriptCommandEditorView.axaml.cs b/src/SerialLoops/Views/Editors/ScriptCommandEditors/SkipSceneScriptCommandEditorView.axaml.cs new file mode 100644 index 00000000..3736b158 --- /dev/null +++ b/src/SerialLoops/Views/Editors/ScriptCommandEditors/SkipSceneScriptCommandEditorView.axaml.cs @@ -0,0 +1,12 @@ +using Avalonia.Controls; + +namespace SerialLoops.Views.Editors.ScriptCommandEditors; + +public partial class SkipSceneScriptCommandEditorView : UserControl +{ + public SkipSceneScriptCommandEditorView() + { + InitializeComponent(); + } +} +