Spelunx Cavern SDK
 
Loading...
Searching...
No Matches
OnGroundState.cs
Go to the documentation of this file.
1using UnityEngine;
2
3[CreateAssetMenu(fileName = "OnGround", menuName = "FiniteStateMachine/Creature/OnGround")]
4public class OnGroundState : State
5{
6 private CreatureBehavior creature;
7 public override string GetName() { return "OnGround"; }
8
9 public override void OnEnter(FiniteStateMachine fsm, GameObject target)
10 {
11 Debug.Log("-----Enter Ground state-----");
12 creature = target.GetComponent<CreatureBehavior>();
13 creature.PlayWhining();
14 }
15
16 public override void OnUpdate(FiniteStateMachine fsm, GameObject target)
17 {
18 // wait for player crouch, then changeState(MirroringState)
19 TrackingArea tracking = creature.GetViveTrackerObject().GetComponent<TrackingArea>();
20 if (tracking.Crouching())
21 {
22 creature.PlayCorrect();
23 fsm.ChangeState("Mirroring");
24 }
25 }
26}
GameObject GetViveTrackerObject()
void ChangeState(string nextState)
override void OnUpdate(FiniteStateMachine fsm, GameObject target)
override void OnEnter(FiniteStateMachine fsm, GameObject target)
Definition: OnGroundState.cs:9
override string GetName()
Definition: OnGroundState.cs:7
bool Crouching()
Definition: TrackingArea.cs:7