add
This commit is contained in:
31
Assets/CoolapeFrame/Scripts/toolkit/Callback.cs
Normal file
31
Assets/CoolapeFrame/Scripts/toolkit/Callback.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* 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
|
||||
{
|
||||
public delegate void Callback (params object[] objs);
|
||||
public delegate void Callback<T> (T arg1);
|
||||
public delegate void Callback<T, U> (T arg1, U arg2);
|
||||
public delegate void Callback<T, U, V> (T arg1, U arg2, V arg3);
|
||||
}
|
||||
Reference in New Issue
Block a user