Files
tianrunCRM/Assets/CoolapeFrame/Scripts/toolkit/Callback.cs
2020-08-05 07:08:47 +08:00

36 lines
1.3 KiB
C#

/*
* Advanced C# messenger by Ilya Suzdalnitski. V1.0
*
* Based on Rod Hyde's "CSharpMessenger" and Magnus Wolffelt's "CSharpMessenger Extended".
*
* Features:
* Prevents a MissingReferenceException because of a reference to a destroyed message handler.
* Option to log all messages
* Extensive error detection, preventing silent bugs
*
* Usage examples:
1. Messenger.AddListener<GameObject>("prop collected", PropCollected);
Messenger.Broadcast<GameObject>("prop collected", prop);
2. Messenger.AddListener<float>("speed changed", SpeedChanged);
Messenger.Broadcast<float>("speed changed", 0.5f);
*
* Messenger cleans up its evenTable automatically upon loading of a new level.
*
* Don't forget that the messages that should survive the cleanup, should be marked with Messenger.MarkAsPermanent(string)
* 参考资料
* http://wiki.unity3d.com/index.php?title=Advanced_CSharp_Messenger
*
*/
namespace Coolape
{
[XLua.CSharpCallLua]
public delegate void Callback (params object[] objs);
[XLua.CSharpCallLua]
public delegate void Callback<T> (T arg1);
[XLua.CSharpCallLua]
public delegate void Callback<T, U> (T arg1, U arg2);
[XLua.CSharpCallLua]
public delegate void Callback<T, U, V> (T arg1, U arg2, V arg3);
}