命令者模式的定义
“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合。这就是命令模式。
命令者模式的原理
命令者模式举例—>FSM状态机
首先分析:共同的特性
1.切换到另一种状态时都要先退出当前状态
2.进入要切换的状态
3.每一帧 处理当前的状态涉及的逻辑
接下来上代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//抽象出的父类
public abstract class FSMBase
{
protected Animator animator;
public FSMBase(Animator temAnimator)
{
animator = temAnimator;
}
//进入状态
public abstract void OnEnter();
//当前状态
public abstract void Update();
//离开状态
public abstract void OnLeave();
}
//管理类
public class FSMManager
{
/// <summary>
/// 当前添加的状态数
///