/// <summary> /// Make an In App Purchase with this product ID /// </summary> /// <param name="braincloudProductId"></param> /// <param name="in_success"></param> /// <param name="in_failure"></param> public void BuyProductID(string braincloudProductId, SuccessCallback in_success = null, FailureCallback in_failure = null, bool in_forcedRealPurchase = false) { IAPProduct product = GetIAPProductByBrainCloudID(braincloudProductId); #if DEBUG_IAP_ENABLED if (!in_forcedRealPurchase) { GStateManager.InitializeDelegate init = null; init = (BaseState state) => { IAPMessageSubState messageSubState = state as IAPMessageSubState; if (messageSubState) { GStateManager.Instance.OnInitializeDelegate -= init; messageSubState.LateInit(product, GPlayerMgr.Instance.OnVirtualCurrencies + in_success, in_failure); } }; GStateManager.Instance.OnInitializeDelegate += init; GStateManager.Instance.PushSubState(IAPMessageSubState.STATE_NAME); } else #endif { handlePurchase(product.StoreProductId, GPlayerMgr.Instance.OnVirtualCurrencies + in_success, in_failure); } }
protected override void OnDestroy() { base.OnDestroy(); OnInitializeDelegate = null; m_eventSystem = null; Destroy(this.gameObject); }
protected override void OnDestroy() { base.OnDestroy(); OnInitializeDelegate = null; Destroy(this.gameObject); ActivateUpdateKeyboardMouseControlsCoroutine(false); }
// TODO:: refactor into Generic Message SubState #region GenericMessageSubState public static void DisplayMessageDialog(string title, string message, string buttonTxt, GenericMessageSubState.OnDialogAction onCloseAction = null) { if (GStateManager.Instance.NextSubStateId != GenericMessageSubState.STATE_NAME) { GStateManager.InitializeDelegate init = null; init = (BaseState state) => { GenericMessageSubState messageSubState = state as GenericMessageSubState; if (messageSubState) { GStateManager.Instance.OnInitializeDelegate -= init; Canvas canvas = state.GetComponentInChildren <Canvas>(); canvas.sortingOrder = GLOBAL_MSG_SORTING_ORDER; if (messageSubState != null) { messageSubState.LateInit(title, message, onCloseAction, buttonTxt); } } }; GStateManager.Instance.OnInitializeDelegate += init; GStateManager.Instance.PushSubState(GenericMessageSubState.STATE_NAME); } }
public static void DisplayMessageDialogTwoButton(string title, string message, string in_leftButtonTxt, GenericMessageSubState.OnDialogAction onLeftAction = null, string in_rightButtonTxt = "", GenericMessageSubState.OnDialogAction onRightAction = null, GenericMessageSubState.eButtonColors mainColor = GenericMessageSubState.eButtonColors.GREEN, GenericMessageSubState.eButtonColors secondColor = GenericMessageSubState.eButtonColors.GREEN, bool in_showCloseButton = false, GenericMessageSubState.OnDialogAction onCloseAction = null) { GStateManager.InitializeDelegate init = null; init = (BaseState state) => { GStateManager.Instance.OnInitializeDelegate -= init; var messageSubState = state as GenericMessageSubState; Canvas canvas = state.GetComponentInChildren <Canvas>(); canvas.sortingOrder = GLOBAL_MSG_SORTING_ORDER; messageSubState.LateInit(title, message, onLeftAction, in_leftButtonTxt, onRightAction, in_rightButtonTxt, in_showCloseButton, onCloseAction); messageSubState.SetButtonColors(mainColor, secondColor); }; GStateManager.Instance.OnInitializeDelegate += init; GStateManager.Instance.PushSubState(GenericMessageSubState.STATE_NAME); }
public static void PushImageGenericMessageSubStateHelper(string title, string message, string in_leftButtonTxt, OnDialogAction onLeftAction = null, string in_rightButtonTxt = "", OnDialogAction onRightAction = null, eButtonColors mainColor = eButtonColors.GREEN, eButtonColors secondColor = eButtonColors.GREEN, bool in_showCloseButton = false, OnDialogAction onCloseAction = null, Image in_image = null) { GStateManager.InitializeDelegate init = null; init = (BaseState state) => { GStateManager.Instance.OnInitializeDelegate -= init; var messageSubState = state as ImageGenericMessageSubState; if (messageSubState != null) { Canvas canvas = state.GetComponentInChildren <Canvas>(); canvas.sortingOrder = HudHelper.GLOBAL_MSG_SORTING_ORDER; messageSubState.LateInit(title, message, onLeftAction, in_leftButtonTxt, onRightAction, in_rightButtonTxt, in_showCloseButton, onCloseAction, in_image); messageSubState.SetButtonColors(mainColor, secondColor); } }; GStateManager.Instance.OnInitializeDelegate += init; GStateManager.Instance.PushSubState(STATE_NAME); }