public DieState(BaseFsm Fsm) : base(FsmStateName.Die, Fsm) { FadeOut_ = false; SpriteRenderer_ = Fsm.Master.GetComponent <SpriteRenderer>(); SpriteColor_ = SpriteRenderer_.color; CanvasGroup_ = Fsm.Master.GetComponent <CanvasGroup>(); }
public NpcActorModule(BaseNpc Master) : base(Master) { Animation_ = new NpcAnimation(Master.GetComponent <Animator>()); Fsm_ = new BaseFsm(Master); Direction = NpcDirection.Right; }
/// <summary> /// 状态切换的条件检测 /// </summary> /// <param name="fsm"></param> public void Reason(BaseFsm fsm) { //遍历当前状态的所有可跳转条件 foreach (var item in triggers) { //判断是满足 if (item.HandleTrigger(fsm)) { //如果满足 回调状态机状态切换方法 FSMStateID stateID = map[item.triggerID]; fsm.ChangeActiveStateCallBack(stateID); return; } } }
public void Stop(BaseFsm fsm) { fsms.Remove(fsm); }
protected BaseState(FsmStateName StateName, BaseFsm Fsm) { this.StateName = StateName; this.Fsm = Fsm; }
public void Start(BaseFsm fsm) { fsms.Add(fsm); }
public BaseState(BaseFsm parentFsm) { this.parentFsm = parentFsm; }
public SkillState(BaseFsm Fsm) : base(FsmStateName.Skill, Fsm) { }
public abstract void OnAction(BaseFsm baseFsm);
public abstract void ExitAction(BaseFsm baseFsm);
public HitTargetEventHandler(BaseFsm Fsm) : base(Fsm) { }
public abstract void EnterAction(BaseFsm baseFsm);
public abstract bool HandleTrigger(BaseFsm fsm);
public BackState(BaseFsm Fsm) : base(FsmStateName.Back, Fsm) { }
public WalkState(BaseFsm Fsm) : base(FsmStateName.Walk, Fsm) { }
public BaseFsmHandler(BaseFsm Fsm) { Fsm_ = Fsm; }
public IdleState(BaseFsm Fsm) : base(FsmStateName.Idle, Fsm) { }