Esempio n. 1
0
        public static void AttachSceneLoadedEventHandler(object target)
        {
            Integrity.EnsureNotNull(target);
            Integrity.EnsureNull(SceneLoadedEventHandlerDelegate);

            var actualDelegateType = GenericDelegateType.MakeGenericType(new[] { SceneType, LoadSceneModeType });

            SceneLoadedEventHandlerDelegate = Delegate.CreateDelegate(
                actualDelegateType, target, Resources.Proxy.SceneLoadProxyMethodName, false, true
                );

            PreviousSceneLoadedAttachTarget = target;

            var ev = SceneManagerType.GetEvent(
                Resources.UnityEngine.SceneLoadedEventName,
                BindingFlags.Public | BindingFlags.Static
                );

            ev.AddEventHandler(null, SceneLoadedEventHandlerDelegate);
        }