예제 #1
0
    /// <summary>
    /// This method is used by MasterAudio to keep track of enabled CustomEventReceivers automatically. This is called when then CustomEventReceiver prefab is enabled.
    /// </summary>
    public static void AddCustomEventReceiver(ICustomEventReceiver receiver, GameObject gameObj)
    {
        if (AppIsShuttingDown)
        {
            return;
        }

        if (eventReceivers.ContainsKey(receiver))
        {
            return;
        }

        eventReceivers.Add(receiver, gameObj);
    }
예제 #2
0
    /// <summary>
    /// This method is used by MasterAudio to keep track of enabled CustomEventReceivers automatically. This is called when then CustomEventReceiver prefab is disabled.
    /// </summary>
    public static void RemoveCustomEventReceiver(ICustomEventReceiver receiver)
    {
        if (AppIsShuttingDown)
        {
            return;
        }

        eventReceivers.Remove(receiver);
    }
예제 #3
0
        /// <summary>
        /// This method is used by MasterAudio to keep track of enabled CustomEventReceivers automatically. This is called when then CustomEventReceiver prefab is enabled.
        /// </summary>
        /// <param name="receiver">The receiver object interface.</param>
        /// <param name="receiverTrans">The receiver object Transform.</param>
        public static void AddCustomEventReceiver(ICustomEventReceiver receiver, Transform receiverTrans) {
            if (AppIsShuttingDown) {
                return;
            }

            // ReSharper disable once ForCanBeConvertedToForeach
            var events = receiver.GetAllEvents();
            // ReSharper disable once ForCanBeConvertedToForeach
            for (var i = 0; i < events.Count; i++) {
                var anEvent = events[i];
                if (!receiver.SubscribesToEvent(anEvent.customEventName)) {
                    continue;
                }

                if (!ReceiversByEventName.ContainsKey(anEvent.customEventName)) {
                    ReceiversByEventName.Add(anEvent.customEventName, new Dictionary<ICustomEventReceiver, Transform>
                    {
                        {receiver, receiverTrans}
                    });
                } else {
                    var dict = ReceiversByEventName[anEvent.customEventName];
                    if (dict.ContainsKey(receiver)) {
                        continue;
                    }

                    dict.Add(receiver, receiverTrans);
                }
            }
        }
예제 #4
0
        /// <summary>
        /// This method is used by MasterAudio to keep track of enabled CustomEventReceivers automatically. This is called when then CustomEventReceiver prefab is disabled.
        /// </summary>
        /// <param name="receiver">The receiver object interface.</param>
        public static void RemoveCustomEventReceiver(ICustomEventReceiver receiver) {
            if (AppIsShuttingDown || SafeInstance == null) {
                return;
            }

            // ReSharper disable once ForCanBeConvertedToForeach
            for (var i = 0; i < Instance.customEvents.Count; i++) {
                var anEvent = Instance.customEvents[i];
                if (!receiver.SubscribesToEvent(anEvent.EventName)) {
                    continue;
                }

                var dict = ReceiversByEventName[anEvent.EventName];
                dict.Remove(receiver);
            }
        }
예제 #5
0
    /// <summary>fplay
    /// This method is used by MasterAudio to keep track of enabled CustomEventReceivers automatically. This is called when then CustomEventReceiver prefab is enabled.
    /// </summary>
    /// <param name="receiver">The receiver object interface.</param>
    /// <param name="receiverTrans">The receiver object Transform.</param>
    public static void AddCustomEventReceiver(ICustomEventReceiver receiver, Transform receiverTrans)
    {
        if (AppIsShuttingDown) {
            return;
        }

        if (eventReceivers.ContainsKey(receiver)) {
            return;
        }

        eventReceivers.Add(receiver, receiverTrans);
    }