From 4ccd4bc6d126e0e0f51a50aa10c85b9bf48b1210 Mon Sep 17 00:00:00 2001 From: chai <215380520@qq.com> Date: Wed, 18 Oct 2023 10:16:32 +0800 Subject: + init --- .../Runtime/SerializableEvent.cs | 120 +++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 ActiveRagdoll/Assets/ThirdParty/SerializableCallback/Runtime/SerializableEvent.cs (limited to 'ActiveRagdoll/Assets/ThirdParty/SerializableCallback/Runtime/SerializableEvent.cs') diff --git a/ActiveRagdoll/Assets/ThirdParty/SerializableCallback/Runtime/SerializableEvent.cs b/ActiveRagdoll/Assets/ThirdParty/SerializableCallback/Runtime/SerializableEvent.cs new file mode 100644 index 0000000..9a65ef6 --- /dev/null +++ b/ActiveRagdoll/Assets/ThirdParty/SerializableCallback/Runtime/SerializableEvent.cs @@ -0,0 +1,120 @@ +[System.Serializable] +public class SerializableEvent : SerializableEventBase { + public void Invoke() { + if (invokable == null) Cache(); + if (_dynamic) { + InvokableEvent call = invokable as InvokableEvent; + call.Invoke(); + } else { + invokable.Invoke(Args); + } + } + + protected override void Cache() { + if (_target == null || string.IsNullOrEmpty(_methodName)) { + invokable = new InvokableEvent(null, null); + } else { + if (_dynamic) { + invokable = new InvokableEvent(target, methodName); + } else { + invokable = GetPersistentMethod(); + } + } + } +} + +public abstract class SerializableEvent : SerializableEventBase { + public void Invoke(T0 arg0) { + if (invokable == null) Cache(); + if (_dynamic) { + InvokableEvent call = invokable as InvokableEvent; + call.Invoke(arg0); + } else { + invokable.Invoke(Args); + } + } + + protected override void Cache() { + if (_target == null || string.IsNullOrEmpty(_methodName)) { + invokable = new InvokableEvent(null, null); + } else { + if (_dynamic) { + invokable = new InvokableEvent(target, methodName); + } else { + invokable = GetPersistentMethod(); + } + } + } +} + +public abstract class SerializableEvent : SerializableEventBase { + public void Invoke(T0 arg0, T1 arg1) { + if (invokable == null) Cache(); + if (_dynamic) { + InvokableEvent call = invokable as InvokableEvent; + call.Invoke(arg0, arg1); + } else { + invokable.Invoke(Args); + } + } + + protected override void Cache() { + if (_target == null || string.IsNullOrEmpty(_methodName)) { + invokable = new InvokableEvent(null, null); + } else { + if (_dynamic) { + invokable = new InvokableEvent(target, methodName); + } else { + invokable = GetPersistentMethod(); + } + } + } +} + +public abstract class SerializableEvent : SerializableEventBase { + public void Invoke(T0 arg0, T1 arg1, T2 arg2) { + if (invokable == null) Cache(); + if (_dynamic) { + InvokableEvent call = invokable as InvokableEvent; + call.Invoke(arg0, arg1, arg2); + } else { + invokable.Invoke(Args); + } + } + + protected override void Cache() { + if (_target == null || string.IsNullOrEmpty(_methodName)) { + invokable = new InvokableEvent(null, null); + } else { + if (_dynamic) { + invokable = new InvokableEvent(target, methodName); + } else { + invokable = GetPersistentMethod(); + } + } + } +} + +public abstract class SerializableEvent : SerializableEventBase { + public void Invoke(T0 arg0, T1 arg1, T2 arg2, T3 arg3) { + if (invokable == null) Cache(); + if (_dynamic) { + InvokableEvent call = invokable as InvokableEvent; + call.Invoke(arg0, arg1, arg2, arg3); + } else { + invokable.Invoke(Args); + } + } + + protected override void Cache() { + if (_target == null || string.IsNullOrEmpty(_methodName)) { + invokable = new InvokableEvent(null, null); + } else { + if (_dynamic) { + invokable = new InvokableEvent(target, methodName); + } else { + invokable = GetPersistentMethod(); + } + } + } +} \ No newline at end of file -- cgit v1.1-26-g67d0