代码1:定义命令的接口或者使用抽象类也未尝不可。
public interface ICommand
{
void Execute();
void Undue();
}
代码2:实现一个点击的命令
using UnityEngine;
class ClickCommand : ICommand
{
private GameObject _cube;
private Color _color;
private Color _previousColor; //储存上个颜色
public ClickCommand(GameObject cube,Color color)
{
_cube = cube;
_color = color;
}
public void Execute()
{
_previousColor =_cube.GetComponent<MeshRenderer>().material.color;
_cube.GetComponent<MeshRenderer>().material.color = _color;
}
public void Undue()
{
_cube.GetComponent<MeshRenderer>().material.color = _previousColor;
}
}
代码3:定义一个命令管理类,注意这里还用了单例模式,其中还定义很重要的列表储存用来储存命令。
using System.Collections;
using System.Collections.Generic;
usi