Exemple #1
0
    private void DrawCreatePromoCodeBody()
    {
        GUILayout.Label("Promo code(leave empty for random): ", GSStyles.NormalLabelText);
        _code = GUILayout.TextField(_code, GSStyles.TextField);

        GUILayout.Label("Max Claim Count(0 or empty for unlim): ", GSStyles.NormalLabelText);
        _maxClaimCount = GUILayout.TextField(_maxClaimCount, GSStyles.TextField);
        _maxClaimCount = Regex.Replace(_maxClaimCount, @"[^0-9]", "");

        GUILayout.Label("Start date('dd/MM/yyyy HH:mm:ss' or 'dd/MM/yyy'): ", GSStyles.NormalLabelText);
        _startDate = GUILayout.TextField(_startDate, GSStyles.TextField);

        GUILayout.Label("End date('dd/MM/yyyy HH:mm:ss' or 'dd/MM/yyy'): ", GSStyles.NormalLabelText);
        _endDate = GUILayout.TextField(_endDate, GSStyles.TextField);

        DemoGuiUtils.DynamicRowFor(_data, "Custom data");

        DemoGuiUtils.DrawButton("Create", () => {
            if (_loading)
            {
                return;
            }
            _loading    = true;
            var builder = (_code == null || _code.Length > 0 ? PromoCodeBuilder.CreateWithCode(_code) : PromoCodeBuilder.CreateRandomCode())
                          .AddData(_data.ToDictionary(data => data.Key, data => data.Val))
                          .WithMaxClaimCount(Convert.ToUInt32(_maxClaimCount));
            var startDate = ParseDate(_startDate);
            var endDate   = ParseDate(_endDate);
            if (startDate.HasValue && endDate.HasValue)
            {
                Debug.LogFormat("{0} => {1}", startDate, endDate);
                builder.WithTimeLimit(startDate.Value, endDate.Value);
            }
            GetSocial.CreatePromoCode(builder,
                                      promoCode => {
                _loading = false;
                ShowFullInfo(promoCode);
            }, error => {
                _loading = false;
                ShowAlert("Create Promo Code", "Failed to create promo code: " + error.Message);

                _console.LogE(string.Format("Failed to create promo code: {0}", error.Message), showImmediately: false);
            }
                                      );
        }, style: GSStyles.Button);

        DemoGuiUtils.DrawButton("Back", () => {
            _createPromoCode = false;
        }, style: GSStyles.Button);
    }
Exemple #2
0
 private void ShowMyPromoCode()
 {
     if (GetSocial.User.HasPrivateProperty(MyPromoCodeKey))
     {
         ShowPromoCode(GetSocial.User.GetPrivateProperty(MyPromoCodeKey));
     }
     else
     {
         GetSocial.CreatePromoCode(PromoCodeBuilder.CreateRandomCode().AddData(MyPromoCodeKey, "true"), promoCode => {
             GetSocial.User.SetPrivateProperty(MyPromoCodeKey, promoCode.Code, ShowMyPromoCode,
                                               error => _console.LogE(string.Format("Failed to set private property: {0}", error.Message), showImmediately: false));
         }, error => _console.LogE(string.Format("Failed to create promo code: {0}", error.Message), showImmediately: false));
     }
 }