private void Idle_Update(FSM <MSV_Actor> fsm, MSV_Actor parent) { if (!Movement.IsOnGround) { FSM.ChangeState("Jump"); } else if (RB.velocity.sqrMagnitude > 0.01f) { FSM.ChangeState("Run"); } else { Vector3 facing = Movement.GetFacing(); float faceFloat = Mathf.Atan2(facing.x, facing.z) * OneOverPI; if (faceFloat > -0.2f && faceFloat < 0.2f) { FSM.ChangeSubstate("IdleForward"); } else if (faceFloat > 0.3f && faceFloat < 0.7f) { FSM.ChangeSubstate("IdleRight"); } else if (faceFloat < -0.3f && faceFloat > -0.7f) { FSM.ChangeSubstate("IdleLeft"); } else if (Mathf.Abs(faceFloat) > 0.8f) { FSM.ChangeSubstate("IdleBack"); } } }
private void Jump_Update(FSM <MSV_Actor> fsm, MSV_Actor parent) { float upFactor = -RB.velocity.y * 0.333f * 0.5f + 0.5f; //Debug.Break(); Debug.Log(RB.velocity.y + " " + upFactor); if (Movement.IsOnGround) { FSM.ChangeState("Idle"); } Anim.SetTime01("sideJump", upFactor); }
private void RunLeft_Enter(FSM <MSV_Actor> fsm, MSV_Actor parent) { SpriteRend.flipX = true; Anim.Play("runSide"); }
private void RunForward_Enter(FSM <MSV_Actor> fsm, MSV_Actor parent) { Anim.Play("runForward"); }
private void IdleRight_Enter(FSM <MSV_Actor> actor, MSV_Actor parent) { Anim.Play("idleSide"); }
private void SubTest_Enter(FSM <MSV_Actor> fsm, MSV_Actor parent) { Debug.Log("SubTest_Enter"); fsm.ChangeSubstate("Foo"); }
private void RunBack_Enter(FSM <MSV_Actor> fsm, MSV_Actor parent) { Anim.Play("runBack"); }
private void Run_Enter(FSM <MSV_Actor> fsm, MSV_Actor parent) { Debug.Log("Run_Enter"); }
private void Run_Update(FSM <MSV_Actor> fsm, MSV_Actor parent) { Debug.Log("Run_Update " + parent.name); fsm.ChangeState("FooBar"); }
private void Idle_Update(FSM <MSV_Actor> fsm, MSV_Actor parent) { Debug.Log("Idle_Update " + parent.name); fsm.ChangeState("Run"); }
private void Idle_Exit(FSM <MSV_Actor> fsm, MSV_Actor parent) { Debug.Log("Idle_Exit"); }
private void Idle_Enter(FSM <MSV_Actor> fsm, MSV_Actor parent) { Debug.Log("Idle_Enter"); }
private void SubTest_Exit(FSM <MSV_Actor> fsm, MSV_Actor parent) { Debug.Log("SubTest_Exit"); }
private void SubTest_Update(FSM <MSV_Actor> fsm, MSV_Actor parent) { Debug.Log("SubTest_Update " + parent.name); }
private void RunLeft_Exit(FSM <MSV_Actor> fsm, MSV_Actor parent) { SpriteRend.flipX = false; }
private void IdleForward_Enter(FSM <MSV_Actor> actor, MSV_Actor parent) { Anim.Play("idleForward"); }
private void RunRight_Enter(FSM <MSV_Actor> fsm, MSV_Actor parent) { Anim.Play("runSide"); }
private void IdleBack_Enter(FSM <MSV_Actor> actor, MSV_Actor parent) { Anim.Play("idleBack"); }
private void Jump_Enter(FSM <MSV_Actor> fsm, MSV_Actor parent) { Debug.Log("enter jump"); Anim.Play("sideJump"); Anim.PauseAnim("sideJump"); }
private void IdleLeft_Enter(FSM <MSV_Actor> actor, MSV_Actor parent) { SpriteRend.flipX = true; Anim.Play("idleSide"); }
private void Jump_Exit(FSM <MSV_Actor> fsm, MSV_Actor parent) { Debug.Log("exit jump"); }
private void IdleLeft_Exit(FSM <MSV_Actor> actor, MSV_Actor parent) { SpriteRend.flipX = false; }
//public MSV_Actor ParentActor { // get { // return _ParentActor; // } // set { // _ParentActor = ParentActor; // } //} public void SetParentActor(MSV_Actor actor) { _ParentActor = actor; }
private void Bar_Exit(FSM <MSV_Actor> fsm, MSV_Actor parent) { Debug.Log("Bar_Exit"); }