概念
using UnityEngine;
using System.Collections;
namespace CommondStructure{
public class CommandStructre: MonoBehaviour{
Receiver receiver = new Receiver();
ConcreteCommand command = new ConcreteCommand(receiver);
Invoker invoker = new Invoker();
invoker.SetCommand(command);
invoker.InvokeCommand ();
}
abstract class Command{
protected Receiver receiver;
public Command(Receiver receiver){
this.receiver = receiver;
}
public abstract void Execute();
}
public class ConcreteCommand:Command{
public ConcreteCommand(Receiver receiver):base(receiver){}
public override void Execute(){
receiver.Action();
}
}
class Receiver{
public void Action(){
Debug.Log("我被执行了");
}
}
class Invoker{
private Command_command;
public void SetCommond(Command command){
this._command= command;
}
public void InvokeCommand (){
_command.Execute();
}
}
}