今天补充一个观察者模式的实用型案例
利用系统自带的委托举了四个例子
脚本一、
public static System.Action OnKeyAction ;
public static System.Action<int> OnKeyActionInt;
public static System.Action<string > OnKeyActionString;
public static System.Action<int,string> OnKeyActionIntString;
void Update () {
if (Input.GetKeyDown( KeyCode.A))
{
if (OnKeyAction!=null ) {
OnKeyAction();
}
if (OnKeyActionInt!=null ) {
OnKeyActionInt(123);
}
if (OnKeyActionString!=null ) {
OnKeyActionString("zhtzht");
}
if (OnKeyActionIntString!=null ) {
OnKeyActionIntString(1,"zzzzz");
}
}
}//Update ()_end
脚本二、
void Start ()
{
zht.OnKeyAction += OnKeyAction;
zht.OnKeyActionInt += OnKeyActionInt;
zht.OnKeyActionString += OnKeyActionString;
zht.OnKeyActionIntString += OnKeyActionIntString;
}//Start ()_end
void OnKeyAction()
{
Debug.Log("zht");
}
void OnKeyActionInt(int abc)
{
Debug.Log(abc);
}
void OnKeyActionString(string str)
{
Debug.Log(str );
}
private void OnKeyActionIntString(int arg1, string arg2)
{
Debug.Log(arg1+arg2 );
}
具体工程地址:http://download.csdn.net/detail/u011480667/9925451