Skip to content

Add custom state actions#4

Open
MarquisMc wants to merge 1 commit intomainfrom
add-custom-actions
Open

Add custom state actions#4
MarquisMc wants to merge 1 commit intomainfrom
add-custom-actions

Conversation

@MarquisMc
Copy link
Copy Markdown
Owner

@MarquisMc MarquisMc commented Oct 22, 2024

Fixes #3

Implement custom state actions to enhance the flexibility and functionality of the state machine.

  • Custom Action Interface:
    • Add IStateAction interface with OnEnter, OnExit, and OnTransition methods in StateMachine/Assets/StateMachine/IStateAction.cs.
  • State Class Modifications:
    • Add a list of IStateAction to NewState class in StateMachine/Assets/StateMachine/NewState.cs.
    • Modify NewState constructor to initialize the list of IStateAction.
  • State Machine Modifications:
    • Add methods to execute custom actions on state enter, exit, and transition in StateMachine/Assets/StateMachine/NewestStateMachine.cs.
    • Modify SetState method to call custom actions.
  • Custom Action Implementation:
    • Implement CustomAction class inheriting from MonoBehaviour and IStateAction in StateMachine/Assets/StateMachine/CustomAction.cs.
    • Define OnEnter, OnExit, and OnTransition methods with custom behaviors.
  • UI Integration:
    • Create a UI script to attach custom actions to states in StateMachine/Assets/StateMachine/StateMachineUI.cs.
    • Provide methods to define specific behaviors for each action.
  • Exception Handling:
    • Add exception handling in SetData method in StateMachine/Assets/Tool Box #2/Data/BoolData.cs.

For more details, open the Copilot Workspace session.

Fixes #3

Implement custom state actions to enhance the flexibility and functionality of the state machine.

* **Custom Action Interface**:
  - Add `IStateAction` interface with `OnEnter`, `OnExit`, and `OnTransition` methods in `StateMachine/Assets/StateMachine/IStateAction.cs`.
* **State Class Modifications**:
  - Add a list of `IStateAction` to `NewState` class in `StateMachine/Assets/StateMachine/NewState.cs`.
  - Modify `NewState` constructor to initialize the list of `IStateAction`.
* **State Machine Modifications**:
  - Add methods to execute custom actions on state enter, exit, and transition in `StateMachine/Assets/StateMachine/NewestStateMachine.cs`.
  - Modify `SetState` method to call custom actions.
* **Custom Action Implementation**:
  - Implement `CustomAction` class inheriting from `MonoBehaviour` and `IStateAction` in `StateMachine/Assets/StateMachine/CustomAction.cs`.
  - Define `OnEnter`, `OnExit`, and `OnTransition` methods with custom behaviors.
* **UI Integration**:
  - Create a UI script to attach custom actions to states in `StateMachine/Assets/StateMachine/StateMachineUI.cs`.
  - Provide methods to define specific behaviors for each action.
* **Exception Handling**:
  - Add exception handling in `SetData` method in `StateMachine/Assets/Tool Box #2/Data/BoolData.cs`.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/MarquisMc/StateMachine/issues/3?shareId=XXXX-XXXX-XXXX-XXXX).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Custom State Actions

1 participant