-
Notifications
You must be signed in to change notification settings - Fork 107
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
How would you model a Weapon StateMachine having a "Idle" Movement and Cooldown in parallel? #41
Comments
Hi @ManuelRauber, If I understand your scenario correctly, you're having difficulties modelling the behaviour of the weapon. While in idle, the weapon should circle around the player. When the attack button is pressed (and sufficient time has passed since the last attack, which is determined by the weapon cooldown), it should shoot an enemy. After the attack, while in cooldown, the weapon should circle around the player again. There are two ways that this could be implemented. The first approach is to have three states: stateDiagram-v2
[*] --> Idle
Idle --> Shoot: Attack Btn Pressed
Shoot --> Cooldown
Cooldown --> Idle: Cooldown Passed
To make the weapon circle around the player during cooldown, you call the same movement function as you do in There are two ways how we can handle the
The second approach is to use only two states: stateDiagram-v2
[*] --> Idle
Idle --> Attack: Attack Btn Pressed <br> & Cooldown Passed
Attack --> Idle
Which approach is better for you depends on your exact game and what your weapons should do when they shoot. |
Hi!
I've been using UnityHFSM for a bit and I really like it.
Now, I've run into a scenario where I'm not sure how to model it correctly using UnityHFSM. Let me set up the scenario for it a bit:
I develop a little bullethell game, like Vampire Survivor etc.,. I have a player who can move around using his own state machine.
I have a Weapon that works independently of the player, so the player does not know about his weapon and the weapon does not know about the player (only his transform is relevant).
The weapon, when idling will follow and circle around the player. The weapon has a firerate of 1 shoot per second (I'll call it cooldown). When it shoots the circling should stop and it should attack the enemy.
Now, I have some issues how to model the "idle when circling and cooling down". I have some possibilities to model this scenario:
Maybe I'm not seeing something that I could leverage in order to achieve this scenario.
Any idea will be appreciated. :-)
The text was updated successfully, but these errors were encountered: