From 29c4468d546332dc039c2f575cda379c9593b492 Mon Sep 17 00:00:00 2001 From: SepComet <202308010230@stu.csust.edu.cn> Date: Sat, 6 Jun 2026 16:35:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=85=E7=90=86=E9=A1=B9=E7=9B=AE=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=EF=BC=8C=E5=BC=95=E5=85=A5=20InputModule=20=E5=81=9A?= =?UTF-8?q?=E5=A4=9A=E5=B9=B3=E5=8F=B0=E8=BE=93=E5=85=A5=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude/commands/opsx/apply.md | 152 - .claude/commands/opsx/archive.md | 157 - .claude/commands/opsx/explore.md | 173 - .claude/commands/opsx/propose.md | 106 - .claude/skills/openspec-apply-change/SKILL.md | 156 - .../skills/openspec-archive-change/SKILL.md | 114 - .claude/skills/openspec-explore/SKILL.md | 288 -- .claude/skills/openspec-propose/SKILL.md | 110 - Assets/GameMain/DataTables/Enemy.txt | 2 +- Assets/GameMain/DataTables/UIForm.txt | 1 + Assets/GameMain/DataTables/Weapon.txt | 2 +- .../Base/Definition/Enum/UIFormType.cs | 5 + .../Common/Dialog/DialogContext.cs | 4 +- .../DisplayItemInfoController.cs | 2 +- .../DisplayItemInfo/DisplayItemInfoForm.cs | 2 +- .../Scripts/Presentation/Main/Joystick.meta | 8 + .../Main/Joystick/JoystickContext.cs | 10 + .../Main/Joystick/JoystickContext.cs.meta} | 2 +- .../Main/Joystick/JoystickController.cs | 48 + .../Main/Joystick/JoystickController.cs.meta | 11 + .../Main/Joystick/JoystickForm.cs | 25 + .../Main/Joystick/JoystickForm.cs.meta | 11 + .../Presentation/Main/View/DisplayListArea.cs | 4 +- .../Menu/SelectRole/SelectRoleForm.cs | 4 +- .../Presentation/SepCore.Presentation.asmdef | 3 +- .../Procedure/Base/ProcedurePreload.cs | 2 + .../Scripts/Procedure/Game/GameStateBattle.cs | 9 + .../Scripts/Procedure/Game/ProcedureGame.cs | 1 + .../Scripts/Runtime/Base/GameEntry.Custom.cs | 4 + .../Runtime/Components/InputComponent.cs | 28 +- .../Scripts/Runtime/PlayerInputActions.cs | 411 -- .../Scripts/Runtime/SepCore.Runtime.asmdef | 3 +- .../Scripts/Runtime/UIBase/Main/Joystick.meta | 8 + .../UIBase/Main/LevelUp/LevelUpUseCase.cs | 3 +- .../GameMain/UI/UIForms/JoystickForm.prefab | 324 ++ .../UI/UIForms/JoystickForm.prefab.meta | 7 + Assets/Launcher.unity | 54 + Assets/PlayerInputActions.inputactions | 2 +- Assets/PlayerInputActions.inputactions.meta | 2 +- Assets/Plugins/InputModule.meta | 8 + Assets/Plugins/InputModule/Assets.meta | 8 + .../InputModule/Assets/InputPrompt.meta | 8 + .../Assets/InputPrompt/InputPrompt.asset | 2638 +++++++++++++ .../Assets/InputPrompt/InputPrompt.asset.meta | 8 + .../Assets/InputPrompt/Input_Prompt.png | Bin 0 -> 15664 bytes .../Assets/InputPrompt/Input_Prompt.png.meta | 3392 +++++++++++++++++ .../Plugins/InputModule/Assets/Joystick.meta | 8 + .../InputModule/Assets/Joystick/Prefabs.meta | 8 + .../Joystick/Prefabs/Dynamic Joystick.prefab | 250 ++ .../Prefabs/Dynamic Joystick.prefab.meta | 7 + .../Joystick/Prefabs/Fixed Joystick.prefab | 173 + .../Prefabs/Fixed Joystick.prefab.meta | 7 + .../Joystick/Prefabs/Floating Joystick.prefab | 249 ++ .../Prefabs/Floating Joystick.prefab.meta | 7 + .../Joystick/Prefabs/Variable Joystick.prefab | 251 ++ .../Prefabs/Variable Joystick.prefab.meta | 7 + .../InputModule/Assets/Joystick/Sprites.meta | 8 + .../Sprites/All Axis Backgrounds.meta | 8 + .../All Axis Backgrounds/AllAxis_Outline.png | Bin 0 -> 10076 bytes .../AllAxis_Outline.png.meta | 153 + .../AllAxis_Outline_Arrows.png | Bin 0 -> 11326 bytes .../AllAxis_Outline_Arrows.png.meta | 153 + .../All Axis Backgrounds/AllAxis_Plain.png | Bin 0 -> 6774 bytes .../AllAxis_Plain.png.meta | 153 + .../AllAxis_Plain_Arrows.png | Bin 0 -> 8488 bytes .../AllAxis_Plain_Arrows.png.meta | 153 + .../All Axis Backgrounds/AllAxis_Ridged.png | Bin 0 -> 23051 bytes .../AllAxis_Ridged.png.meta | 153 + .../AllAxis_Ridged_Arrows.png | Bin 0 -> 24356 bytes .../AllAxis_Ridged_Arrows.png.meta | 153 + .../Assets/Joystick/Sprites/Handles.meta | 8 + .../Sprites/Handles/Handle_Outline.png | Bin 0 -> 4763 bytes .../Sprites/Handles/Handle_Outline.png.meta | 153 + .../Sprites/Handles/Handle_Outline_Arrows.png | Bin 0 -> 5447 bytes .../Handles/Handle_Outline_Arrows.png.meta | 153 + .../Joystick/Sprites/Handles/Handle_Plain.png | Bin 0 -> 3178 bytes .../Sprites/Handles/Handle_Plain.png.meta | 153 + .../Sprites/Handles/Handle_Plain_Arrows.png | Bin 0 -> 4187 bytes .../Handles/Handle_Plain_Arrows.png.meta | 153 + .../Sprites/Handles/Handle_Ridged.png | Bin 0 -> 8878 bytes .../Sprites/Handles/Handle_Ridged.png.meta | 153 + .../Sprites/Handles/Handle_Ridged_Arrows.png | Bin 0 -> 10048 bytes .../Handles/Handle_Ridged_Arrows.png.meta | 153 + .../Sprites/Horizontal Backgrounds.meta | 8 + .../Horizontal_Outline.png | Bin 0 -> 5496 bytes .../Horizontal_Outline.png.meta | 153 + .../Horizontal_Outline_Arrows.png | Bin 0 -> 6131 bytes .../Horizontal_Outline_Arrows.png.meta | 153 + .../Horizontal_Plain.png | Bin 0 -> 3939 bytes .../Horizontal_Plain.png.meta | 153 + .../Horizontal_Plain_Arrows.png | Bin 0 -> 4801 bytes .../Horizontal_Plain_Arrows.png.meta | 153 + .../Horizontal_Ridged.png | Bin 0 -> 10634 bytes .../Horizontal_Ridged.png.meta | 153 + .../Horizontal_Ridged_Arrows.png | Bin 0 -> 11243 bytes .../Horizontal_Ridged_Arrows.png.meta | 153 + .../Sprites/Vertical Backgrounds.meta | 8 + .../Vertical Backgrounds/Vertical_Outline.png | Bin 0 -> 5367 bytes .../Vertical_Outline.png.meta | 153 + .../Vertical_Outline_Arrows.png | Bin 0 -> 5851 bytes .../Vertical_Outline_Arrows.png.meta | 153 + .../Vertical Backgrounds/Vertical_Plain.png | Bin 0 -> 3792 bytes .../Vertical_Plain.png.meta | 153 + .../Vertical_Plain_Arrows.png | Bin 0 -> 4697 bytes .../Vertical_Plain_Arrows.png.meta | 153 + .../Vertical Backgrounds/Vertical_Ridged.png | Bin 0 -> 12445 bytes .../Vertical_Ridged.png.meta | 153 + .../Vertical_Ridged_Arrows.png | Bin 0 -> 13111 bytes .../Vertical_Ridged_Arrows.png.meta | 153 + Assets/Plugins/InputModule/Base.meta | 8 + .../Plugins/InputModule/Base/Definition.meta | 8 + .../Base/Definition/DataStruct.meta | 8 + .../DataStruct/InputBindingSnapshot.cs | 15 + .../DataStruct/InputBindingSnapshot.cs.meta | 11 + .../Definition/DataStruct/InputCommand.cs | 42 + .../DataStruct/InputCommand.cs.meta | 11 + .../Base/Definition/DataStruct/InputPrompt.cs | 21 + .../Definition/DataStruct/InputPrompt.cs.meta | 11 + .../Definition/DataStruct/RebindResult.cs | 33 + .../DataStruct/RebindResult.cs.meta | 11 + .../InputModule/Base/Definition/Enum.meta | 8 + .../Base/Definition/Enum/InputActionId.cs | 15 + .../Definition/Enum/InputActionId.cs.meta | 11 + .../Base/Definition/Enum/InputCommandPhase.cs | 10 + .../Definition/Enum/InputCommandPhase.cs.meta | 11 + .../Base/Definition/Enum/InputContextId.cs | 13 + .../Definition/Enum/InputContextId.cs.meta | 11 + .../Base/Definition/Enum/InputDeviceKind.cs | 11 + .../Definition/Enum/InputDeviceKind.cs.meta | 11 + .../Base/Definition/Enum/RebindStatus.cs | 12 + .../Base/Definition/Enum/RebindStatus.cs.meta | 11 + .../Base/Definition/IInputPromptMap.cs | 7 + .../Base/Definition/IInputPromptMap.cs.meta | 11 + .../Base/SepCore.InputModule.Base.asmdef | 14 + .../Base/SepCore.InputModule.Base.asmdef.meta | 7 + Assets/Plugins/InputModule/Base/Utility.meta | 8 + .../Base/Utility/InputContextStack.cs | 79 + .../Base/Utility/InputContextStack.cs.meta | 11 + Assets/Plugins/InputModule/Editor.meta | 8 + .../Editor/InputModuleComponentEditor.cs | 34 + .../Editor/InputModuleComponentEditor.cs.meta | 11 + .../InputModule/Editor/InputModuleDebugger.cs | 237 ++ .../Editor/InputModuleDebugger.cs.meta | 11 + .../Editor/SepCore.InputModule.Editor.asmdef | 21 + .../SepCore.InputModule.Editor.asmdef.meta | 7 + Assets/Plugins/InputModule/Presentation.meta | 8 + .../Presentation/JoystickPack.meta | 8 + .../Presentation/JoystickPack/Base.meta | 8 + .../JoystickPack/Base/Joystick.cs | 150 + .../JoystickPack/Base/Joystick.cs.meta | 11 + .../Presentation/JoystickPack/Editor.meta | 8 + .../Editor/DynamicJoystickEditor.cs | 35 + .../Editor/DynamicJoystickEditor.cs.meta | 11 + .../Editor/FloatingJoystickEditor.cs | 21 + .../Editor/FloatingJoystickEditor.cs.meta | 11 + .../JoystickPack/Editor/JoystickEditor.cs | 64 + .../Editor/JoystickEditor.cs.meta | 11 + .../Editor/VariableJoystickEditor.cs | 37 + .../Editor/VariableJoystickEditor.cs.meta | 11 + .../Presentation/JoystickPack/Joysticks.meta | 8 + .../JoystickPack/Joysticks/DynamicJoystick.cs | 41 + .../Joysticks/DynamicJoystick.cs.meta | 11 + .../JoystickPack/Joysticks/FixedJoystick.cs | 8 + .../Joysticks/FixedJoystick.cs.meta | 11 + .../Joysticks/FloatingJoystick.cs | 26 + .../Joysticks/FloatingJoystick.cs.meta | 11 + .../Joysticks/VariableJoystick.cs | 63 + .../Joysticks/VariableJoystick.cs.meta | 11 + .../SepCore.Presentation.InputModule.asmref | 3 + ...pCore.Presentation.InputModule.asmref.meta | 7 + .../Presentation/VirtualButtonBridge.cs | 73 + .../Presentation/VirtualButtonBridge.cs.meta | 11 + .../Presentation/VirtualJoystickBridge.cs | 96 + .../VirtualJoystickBridge.cs.meta | 11 + Assets/Plugins/InputModule/Runtime.meta | 8 + .../Runtime/BindingOverridePersistence.cs | 74 + .../BindingOverridePersistence.cs.meta | 11 + .../Runtime/InputDeviceKindUtility.cs | 33 + .../Runtime/InputDeviceKindUtility.cs.meta | 11 + .../Runtime/InputModuleComponent.cs | 839 ++++ .../Runtime/InputModuleComponent.cs.meta | 11 + .../Runtime/InputModuleDefaultActions.cs | 72 + .../Runtime/InputModuleDefaultActions.cs.meta | 11 + .../Runtime/InputModuleDefaultPromptMap.cs | 121 + .../InputModuleDefaultPromptMap.cs.meta | 11 + .../SepCore.Runtime.InputModule.asmref | 3 + .../SepCore.Runtime.InputModule.asmref.meta | 7 + Assets/Plugins/InputModule/Tests.meta | 8 + .../Plugins/InputModule/Tests/PlayMode.meta | 8 + .../Tests/PlayMode/InputModule.meta | 8 + .../BindingOverridePersistenceTests.cs | 78 + .../BindingOverridePersistenceTests.cs.meta | 11 + .../InputModule/InputContextStackTests.cs | 130 + .../InputContextStackTests.cs.meta | 11 + .../InputModuleComponentContextTests.cs | 265 ++ .../InputModuleComponentContextTests.cs.meta | 11 + .../InputModuleComponentEventTests.cs | 259 ++ .../InputModuleComponentEventTests.cs.meta | 11 + .../InputModuleComponentRebindTests.cs | 214 ++ .../InputModuleComponentRebindTests.cs.meta | 11 + .../InputModuleDebuggerReflectionTests.cs | 122 + ...InputModuleDebuggerReflectionTests.cs.meta | 11 + .../InputModuleDefaultActionsTests.cs | 141 + .../InputModuleDefaultActionsTests.cs.meta | 11 + .../InputModuleDefaultPromptMapTests.cs | 129 + .../InputModuleDefaultPromptMapTests.cs.meta | 11 + .../PlayMode/InputModule/InputPromptTests.cs | 89 + .../InputModule/InputPromptTests.cs.meta | 11 + .../SepCore.InputModule.Tests.asmdef | 27 + .../SepCore.InputModule.Tests.asmdef.meta | 7 + Assets/Plugins/InputModule/常见问题.md | 115 + Assets/Plugins/InputModule/常见问题.md.meta | 7 + Assets/Plugins/InputModule/接入说明.md | 925 +++++ Assets/Plugins/InputModule/接入说明.md.meta | 7 + .../.openspec.yaml | 2 - .../design.md | 61 - .../proposal.md | 24 - .../spec.md | 45 - .../tasks.md | 23 - .../.openspec.yaml | 2 - .../design.md | 48 - .../proposal.md | 26 - .../spec.md | 31 - .../tasks.md | 17 - openspec/config.yaml | 20 - .../spec.md | 59 - 数据表/UIForm.xlsx | Bin 10474 -> 10521 bytes 227 files changed, 16702 insertions(+), 2059 deletions(-) delete mode 100644 .claude/commands/opsx/apply.md delete mode 100644 .claude/commands/opsx/archive.md delete mode 100644 .claude/commands/opsx/explore.md delete mode 100644 .claude/commands/opsx/propose.md delete mode 100644 .claude/skills/openspec-apply-change/SKILL.md delete mode 100644 .claude/skills/openspec-archive-change/SKILL.md delete mode 100644 .claude/skills/openspec-explore/SKILL.md delete mode 100644 .claude/skills/openspec-propose/SKILL.md create mode 100644 Assets/GameMain/Scripts/Presentation/Main/Joystick.meta create mode 100644 Assets/GameMain/Scripts/Presentation/Main/Joystick/JoystickContext.cs rename Assets/GameMain/Scripts/{Runtime/PlayerInputActions.cs.meta => Presentation/Main/Joystick/JoystickContext.cs.meta} (83%) create mode 100644 Assets/GameMain/Scripts/Presentation/Main/Joystick/JoystickController.cs create mode 100644 Assets/GameMain/Scripts/Presentation/Main/Joystick/JoystickController.cs.meta create mode 100644 Assets/GameMain/Scripts/Presentation/Main/Joystick/JoystickForm.cs create mode 100644 Assets/GameMain/Scripts/Presentation/Main/Joystick/JoystickForm.cs.meta delete mode 100644 Assets/GameMain/Scripts/Runtime/PlayerInputActions.cs create mode 100644 Assets/GameMain/Scripts/Runtime/UIBase/Main/Joystick.meta create mode 100644 Assets/GameMain/UI/UIForms/JoystickForm.prefab create mode 100644 Assets/GameMain/UI/UIForms/JoystickForm.prefab.meta create mode 100644 Assets/Plugins/InputModule.meta create mode 100644 Assets/Plugins/InputModule/Assets.meta create mode 100644 Assets/Plugins/InputModule/Assets/InputPrompt.meta create mode 100644 Assets/Plugins/InputModule/Assets/InputPrompt/InputPrompt.asset create mode 100644 Assets/Plugins/InputModule/Assets/InputPrompt/InputPrompt.asset.meta create mode 100644 Assets/Plugins/InputModule/Assets/InputPrompt/Input_Prompt.png create mode 100644 Assets/Plugins/InputModule/Assets/InputPrompt/Input_Prompt.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Prefabs.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Prefabs/Dynamic Joystick.prefab create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Prefabs/Dynamic Joystick.prefab.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Prefabs/Fixed Joystick.prefab create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Prefabs/Fixed Joystick.prefab.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Prefabs/Floating Joystick.prefab create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Prefabs/Floating Joystick.prefab.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Prefabs/Variable Joystick.prefab create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Prefabs/Variable Joystick.prefab.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/All Axis Backgrounds.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/All Axis Backgrounds/AllAxis_Outline.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/All Axis Backgrounds/AllAxis_Outline.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/All Axis Backgrounds/AllAxis_Outline_Arrows.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/All Axis Backgrounds/AllAxis_Outline_Arrows.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/All Axis Backgrounds/AllAxis_Plain.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/All Axis Backgrounds/AllAxis_Plain.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/All Axis Backgrounds/AllAxis_Plain_Arrows.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/All Axis Backgrounds/AllAxis_Plain_Arrows.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/All Axis Backgrounds/AllAxis_Ridged.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/All Axis Backgrounds/AllAxis_Ridged.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/All Axis Backgrounds/AllAxis_Ridged_Arrows.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/All Axis Backgrounds/AllAxis_Ridged_Arrows.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Handles.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Handles/Handle_Outline.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Handles/Handle_Outline.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Handles/Handle_Outline_Arrows.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Handles/Handle_Outline_Arrows.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Handles/Handle_Plain.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Handles/Handle_Plain.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Handles/Handle_Plain_Arrows.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Handles/Handle_Plain_Arrows.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Handles/Handle_Ridged.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Handles/Handle_Ridged.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Handles/Handle_Ridged_Arrows.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Handles/Handle_Ridged_Arrows.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Horizontal Backgrounds.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Horizontal Backgrounds/Horizontal_Outline.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Horizontal Backgrounds/Horizontal_Outline.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Horizontal Backgrounds/Horizontal_Outline_Arrows.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Horizontal Backgrounds/Horizontal_Outline_Arrows.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Horizontal Backgrounds/Horizontal_Plain.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Horizontal Backgrounds/Horizontal_Plain.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Horizontal Backgrounds/Horizontal_Plain_Arrows.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Horizontal Backgrounds/Horizontal_Plain_Arrows.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Horizontal Backgrounds/Horizontal_Ridged.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Horizontal Backgrounds/Horizontal_Ridged.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Horizontal Backgrounds/Horizontal_Ridged_Arrows.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Horizontal Backgrounds/Horizontal_Ridged_Arrows.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Vertical Backgrounds.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Vertical Backgrounds/Vertical_Outline.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Vertical Backgrounds/Vertical_Outline.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Vertical Backgrounds/Vertical_Outline_Arrows.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Vertical Backgrounds/Vertical_Outline_Arrows.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Vertical Backgrounds/Vertical_Plain.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Vertical Backgrounds/Vertical_Plain.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Vertical Backgrounds/Vertical_Plain_Arrows.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Vertical Backgrounds/Vertical_Plain_Arrows.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Vertical Backgrounds/Vertical_Ridged.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Vertical Backgrounds/Vertical_Ridged.png.meta create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Vertical Backgrounds/Vertical_Ridged_Arrows.png create mode 100644 Assets/Plugins/InputModule/Assets/Joystick/Sprites/Vertical Backgrounds/Vertical_Ridged_Arrows.png.meta create mode 100644 Assets/Plugins/InputModule/Base.meta create mode 100644 Assets/Plugins/InputModule/Base/Definition.meta create mode 100644 Assets/Plugins/InputModule/Base/Definition/DataStruct.meta create mode 100644 Assets/Plugins/InputModule/Base/Definition/DataStruct/InputBindingSnapshot.cs create mode 100644 Assets/Plugins/InputModule/Base/Definition/DataStruct/InputBindingSnapshot.cs.meta create mode 100644 Assets/Plugins/InputModule/Base/Definition/DataStruct/InputCommand.cs create mode 100644 Assets/Plugins/InputModule/Base/Definition/DataStruct/InputCommand.cs.meta create mode 100644 Assets/Plugins/InputModule/Base/Definition/DataStruct/InputPrompt.cs create mode 100644 Assets/Plugins/InputModule/Base/Definition/DataStruct/InputPrompt.cs.meta create mode 100644 Assets/Plugins/InputModule/Base/Definition/DataStruct/RebindResult.cs create mode 100644 Assets/Plugins/InputModule/Base/Definition/DataStruct/RebindResult.cs.meta create mode 100644 Assets/Plugins/InputModule/Base/Definition/Enum.meta create mode 100644 Assets/Plugins/InputModule/Base/Definition/Enum/InputActionId.cs create mode 100644 Assets/Plugins/InputModule/Base/Definition/Enum/InputActionId.cs.meta create mode 100644 Assets/Plugins/InputModule/Base/Definition/Enum/InputCommandPhase.cs create mode 100644 Assets/Plugins/InputModule/Base/Definition/Enum/InputCommandPhase.cs.meta create mode 100644 Assets/Plugins/InputModule/Base/Definition/Enum/InputContextId.cs create mode 100644 Assets/Plugins/InputModule/Base/Definition/Enum/InputContextId.cs.meta create mode 100644 Assets/Plugins/InputModule/Base/Definition/Enum/InputDeviceKind.cs create mode 100644 Assets/Plugins/InputModule/Base/Definition/Enum/InputDeviceKind.cs.meta create mode 100644 Assets/Plugins/InputModule/Base/Definition/Enum/RebindStatus.cs create mode 100644 Assets/Plugins/InputModule/Base/Definition/Enum/RebindStatus.cs.meta create mode 100644 Assets/Plugins/InputModule/Base/Definition/IInputPromptMap.cs create mode 100644 Assets/Plugins/InputModule/Base/Definition/IInputPromptMap.cs.meta create mode 100644 Assets/Plugins/InputModule/Base/SepCore.InputModule.Base.asmdef create mode 100644 Assets/Plugins/InputModule/Base/SepCore.InputModule.Base.asmdef.meta create mode 100644 Assets/Plugins/InputModule/Base/Utility.meta create mode 100644 Assets/Plugins/InputModule/Base/Utility/InputContextStack.cs create mode 100644 Assets/Plugins/InputModule/Base/Utility/InputContextStack.cs.meta create mode 100644 Assets/Plugins/InputModule/Editor.meta create mode 100644 Assets/Plugins/InputModule/Editor/InputModuleComponentEditor.cs create mode 100644 Assets/Plugins/InputModule/Editor/InputModuleComponentEditor.cs.meta create mode 100644 Assets/Plugins/InputModule/Editor/InputModuleDebugger.cs create mode 100644 Assets/Plugins/InputModule/Editor/InputModuleDebugger.cs.meta create mode 100644 Assets/Plugins/InputModule/Editor/SepCore.InputModule.Editor.asmdef create mode 100644 Assets/Plugins/InputModule/Editor/SepCore.InputModule.Editor.asmdef.meta create mode 100644 Assets/Plugins/InputModule/Presentation.meta create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack.meta create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Base.meta create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Base/Joystick.cs create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Base/Joystick.cs.meta create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Editor.meta create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Editor/DynamicJoystickEditor.cs create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Editor/DynamicJoystickEditor.cs.meta create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Editor/FloatingJoystickEditor.cs create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Editor/FloatingJoystickEditor.cs.meta create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Editor/JoystickEditor.cs create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Editor/JoystickEditor.cs.meta create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Editor/VariableJoystickEditor.cs create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Editor/VariableJoystickEditor.cs.meta create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Joysticks.meta create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Joysticks/DynamicJoystick.cs create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Joysticks/DynamicJoystick.cs.meta create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Joysticks/FixedJoystick.cs create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Joysticks/FixedJoystick.cs.meta create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Joysticks/FloatingJoystick.cs create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Joysticks/FloatingJoystick.cs.meta create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Joysticks/VariableJoystick.cs create mode 100644 Assets/Plugins/InputModule/Presentation/JoystickPack/Joysticks/VariableJoystick.cs.meta create mode 100644 Assets/Plugins/InputModule/Presentation/SepCore.Presentation.InputModule.asmref create mode 100644 Assets/Plugins/InputModule/Presentation/SepCore.Presentation.InputModule.asmref.meta create mode 100644 Assets/Plugins/InputModule/Presentation/VirtualButtonBridge.cs create mode 100644 Assets/Plugins/InputModule/Presentation/VirtualButtonBridge.cs.meta create mode 100644 Assets/Plugins/InputModule/Presentation/VirtualJoystickBridge.cs create mode 100644 Assets/Plugins/InputModule/Presentation/VirtualJoystickBridge.cs.meta create mode 100644 Assets/Plugins/InputModule/Runtime.meta create mode 100644 Assets/Plugins/InputModule/Runtime/BindingOverridePersistence.cs create mode 100644 Assets/Plugins/InputModule/Runtime/BindingOverridePersistence.cs.meta create mode 100644 Assets/Plugins/InputModule/Runtime/InputDeviceKindUtility.cs create mode 100644 Assets/Plugins/InputModule/Runtime/InputDeviceKindUtility.cs.meta create mode 100644 Assets/Plugins/InputModule/Runtime/InputModuleComponent.cs create mode 100644 Assets/Plugins/InputModule/Runtime/InputModuleComponent.cs.meta create mode 100644 Assets/Plugins/InputModule/Runtime/InputModuleDefaultActions.cs create mode 100644 Assets/Plugins/InputModule/Runtime/InputModuleDefaultActions.cs.meta create mode 100644 Assets/Plugins/InputModule/Runtime/InputModuleDefaultPromptMap.cs create mode 100644 Assets/Plugins/InputModule/Runtime/InputModuleDefaultPromptMap.cs.meta create mode 100644 Assets/Plugins/InputModule/Runtime/SepCore.Runtime.InputModule.asmref create mode 100644 Assets/Plugins/InputModule/Runtime/SepCore.Runtime.InputModule.asmref.meta create mode 100644 Assets/Plugins/InputModule/Tests.meta create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode.meta create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule.meta create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/BindingOverridePersistenceTests.cs create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/BindingOverridePersistenceTests.cs.meta create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/InputContextStackTests.cs create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/InputContextStackTests.cs.meta create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/InputModuleComponentContextTests.cs create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/InputModuleComponentContextTests.cs.meta create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/InputModuleComponentEventTests.cs create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/InputModuleComponentEventTests.cs.meta create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/InputModuleComponentRebindTests.cs create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/InputModuleComponentRebindTests.cs.meta create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/InputModuleDebuggerReflectionTests.cs create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/InputModuleDebuggerReflectionTests.cs.meta create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/InputModuleDefaultActionsTests.cs create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/InputModuleDefaultActionsTests.cs.meta create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/InputModuleDefaultPromptMapTests.cs create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/InputModuleDefaultPromptMapTests.cs.meta create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/InputPromptTests.cs create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/InputPromptTests.cs.meta create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/SepCore.InputModule.Tests.asmdef create mode 100644 Assets/Plugins/InputModule/Tests/PlayMode/InputModule/SepCore.InputModule.Tests.asmdef.meta create mode 100644 Assets/Plugins/InputModule/常见问题.md create mode 100644 Assets/Plugins/InputModule/常见问题.md.meta create mode 100644 Assets/Plugins/InputModule/接入说明.md create mode 100644 Assets/Plugins/InputModule/接入说明.md.meta delete mode 100644 openspec/changes/archive/2026-04-02-converge-simulationworld-runtime-paths/.openspec.yaml delete mode 100644 openspec/changes/archive/2026-04-02-converge-simulationworld-runtime-paths/design.md delete mode 100644 openspec/changes/archive/2026-04-02-converge-simulationworld-runtime-paths/proposal.md delete mode 100644 openspec/changes/archive/2026-04-02-converge-simulationworld-runtime-paths/specs/simulationworld-runtime-convergence/spec.md delete mode 100644 openspec/changes/archive/2026-04-02-converge-simulationworld-runtime-paths/tasks.md delete mode 100644 openspec/changes/archive/2026-04-02-remove-simulationworld-legacy-movement-shims/.openspec.yaml delete mode 100644 openspec/changes/archive/2026-04-02-remove-simulationworld-legacy-movement-shims/design.md delete mode 100644 openspec/changes/archive/2026-04-02-remove-simulationworld-legacy-movement-shims/proposal.md delete mode 100644 openspec/changes/archive/2026-04-02-remove-simulationworld-legacy-movement-shims/specs/simulationworld-runtime-convergence/spec.md delete mode 100644 openspec/changes/archive/2026-04-02-remove-simulationworld-legacy-movement-shims/tasks.md delete mode 100644 openspec/config.yaml delete mode 100644 openspec/specs/simulationworld-runtime-convergence/spec.md diff --git a/.claude/commands/opsx/apply.md b/.claude/commands/opsx/apply.md deleted file mode 100644 index bf23721..0000000 --- a/.claude/commands/opsx/apply.md +++ /dev/null @@ -1,152 +0,0 @@ ---- -name: "OPSX: Apply" -description: Implement tasks from an OpenSpec change (Experimental) -category: Workflow -tags: [workflow, artifacts, experimental] ---- - -Implement tasks from an OpenSpec change. - -**Input**: Optionally specify a change name (e.g., `/opsx:apply add-auth`). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes. - -**Steps** - -1. **Select the change** - - If a name is provided, use it. Otherwise: - - Infer from conversation context if the user mentioned a change - - Auto-select if only one active change exists - - If ambiguous, run `openspec list --json` to get available changes and use the **AskUserQuestion tool** to let the user select - - Always announce: "Using change: " and how to override (e.g., `/opsx:apply `). - -2. **Check status to understand the schema** - ```bash - openspec status --change "" --json - ``` - Parse the JSON to understand: - - `schemaName`: The workflow being used (e.g., "spec-driven") - - Which artifact contains the tasks (typically "tasks" for spec-driven, check status for others) - -3. **Get apply instructions** - - ```bash - openspec instructions apply --change "" --json - ``` - - This returns: - - Context file paths (varies by schema) - - Progress (total, complete, remaining) - - Task list with status - - Dynamic instruction based on current state - - **Handle states:** - - If `state: "blocked"` (missing artifacts): show message, suggest using `/opsx:continue` - - If `state: "all_done"`: congratulate, suggest archive - - Otherwise: proceed to implementation - -4. **Read context files** - - Read the files listed in `contextFiles` from the apply instructions output. - The files depend on the schema being used: - - **spec-driven**: proposal, specs, design, tasks - - Other schemas: follow the contextFiles from CLI output - -5. **Show current progress** - - Display: - - Schema being used - - Progress: "N/M tasks complete" - - Remaining tasks overview - - Dynamic instruction from CLI - -6. **Implement tasks (loop until done or blocked)** - - For each pending task: - - Show which task is being worked on - - Make the code changes required - - Keep changes minimal and focused - - Mark task complete in the tasks file: `- [ ]` → `- [x]` - - Continue to next task - - **Pause if:** - - Task is unclear → ask for clarification - - Implementation reveals a design issue → suggest updating artifacts - - Error or blocker encountered → report and wait for guidance - - User interrupts - -7. **On completion or pause, show status** - - Display: - - Tasks completed this session - - Overall progress: "N/M tasks complete" - - If all done: suggest archive - - If paused: explain why and wait for guidance - -**Output During Implementation** - -``` -## Implementing: (schema: ) - -Working on task 3/7: -[...implementation happening...] -✓ Task complete - -Working on task 4/7: -[...implementation happening...] -✓ Task complete -``` - -**Output On Completion** - -``` -## Implementation Complete - -**Change:** -**Schema:** -**Progress:** 7/7 tasks complete ✓ - -### Completed This Session -- [x] Task 1 -- [x] Task 2 -... - -All tasks complete! You can archive this change with `/opsx:archive`. -``` - -**Output On Pause (Issue Encountered)** - -``` -## Implementation Paused - -**Change:** -**Schema:** -**Progress:** 4/7 tasks complete - -### Issue Encountered - - -**Options:** -1.