private void Finalize(PopupResultType resultType) { this.Log($"Finalize popup with resultType '{resultType.ToString()}'.", LogLevel.DevelopmentInfo); _resultCallback?.Invoke(new PopupResult(resultType, _customPopupParam, _neverShowAgain)); CoreGameEventsManager.Unsubscribe <HardwareBackButtonEvent>(OnHardwareBackButtonEvent); OnEnableDisable?.Invoke(false); }
public static void UnSubscribeMyEventHandlers <T>(this T obj) { var methods = obj.GetMethodsWithAttribute <T, CoreRegisterEventHandlerAttribute>(); for (int i = 0; i < methods.Length; i++) { var attribute = methods[i].GetCustomAttribute <CoreRegisterEventHandlerAttribute>(); EventHandler handler = (EventHandler)Delegate.CreateDelegate( typeof(EventHandler), obj, methods[i]); CoreGameEventsManager.Unsubscribe(attribute.EventType, handler); } }