using System; using UnityEngine; public class AirBombAction : BaseBehaviour { private void Awake() { this.stateMachine = base.GetComponent(); this.spineAnim = base.GetComponent(); } private void Start() { this.stateMachine.AddStates(typeof(AirBombAction.StateEnum)); this.stateMachine.OnEnter += this.OnMyStateEnter; this.AnimChangeState(AirBombAction.StateEnum.Idle); } private void Update() { float num = Vector2.Distance(base.transform.position, R.Player.Transform.position + Vector3.up); if (num < 3.5f && !this.attack1) { this.Attack1(); } } private void OnMyStateEnter(object sender, StateMachine.StateEventArgs args) { AirBombAction.StateEnum stateEnum = EnumTools.ToEnum(args.state, false); if (stateEnum != AirBombAction.StateEnum.Idle) { if (stateEnum == AirBombAction.StateEnum.Atk1) { this.spineAnim.Play(stateEnum, false, true, 1f); } } else { this.spineAnim.Play(stateEnum, true, false, 1f); } } public void Attack1() { this.attack1 = true; this.AnimChangeState(AirBombAction.StateEnum.Atk1); } private void AnimChangeState(AirBombAction.StateEnum state) { this.stateMachine.SetState(state); } private StateMachine stateMachine; private SpineAnimationController spineAnim; private bool attack1; public enum StateEnum { Idle, Atk1 } public enum NormalSta { Idle } public enum DieSta { Atk1 } }