Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add custom state actions #4

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Add custom state actions #4

wants to merge 1 commit into from

Conversation

MarquisMc
Copy link
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