/// <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); }
/// <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); }
/// <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); } } }
/// <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); } }
/// <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); }