Example #1
0
    public static ResultType TryPay(double money, PaywayType way, string cardId = "")
    {
        ResultType     result = ResultType.Failed;
        AssetsSaveData data   = AssetsManager.Instance.assetsData;

        switch (way)
        {
        case PaywayType.Balance:
            if (data.balance >= money)
            {
                data.balance -= money;
                result        = ResultType.Success;
            }
            break;

        case PaywayType.YuEBao:
            if (data.yuEBao >= money)
            {
                data.yuEBao -= money;
                result       = ResultType.Success;
            }
            break;

        case PaywayType.BankCard:
            if (string.IsNullOrEmpty(cardId))
            {
                BankCardSaveData cardData = XMLSaver.saveData.GetCurUseCard(GameManager.Instance.curUserId);
                if (cardData.money >= money)
                {
                    cardData.money -= money;
                    result          = ResultType.Success;
                }
            }
            else
            {
                BankCardSaveData cardData = XMLSaver.saveData.GetBankCardData(cardId);
                if (cardData != null && cardData.money >= money)
                {
                    cardData.money -= money;
                    result          = ResultType.Success;
                }
            }
            break;

        case PaywayType.Ant:
            if (data.antPay >= money)
            {
                data.antPay -= money;
                result       = ResultType.Success;
            }
            break;

        default:
            Debug.LogError(string.Format("try use pay way {0}, but not handle this way", way));
            break;
        }
        return(result);
    }
Example #2
0
 public void Set(int id)
 {
     this._id         = id;
     curPayway        = PaywayType.None;
     assetsData       = XMLSaver.saveData.GetAssetsData(id);
     bankCardsData    = XMLSaver.saveData.GetBankCardDataList(id);
     curUseBankCard   = XMLSaver.saveData.GetCurUseCard(id);
     _defaultCardIcon = Resources.Load <Sprite>(GameDefine.DefaultBankSprite);
     if (curUseBankCard != null)
     {
         curUseCardId = curUseBankCard.cardId;
     }
     RecalculationOfflineProfit();
     CheckAutoRepayAntOffline();
 }
Example #3
0
    /// <summary>
    /// 更新当前使用的支付方式
    /// </summary>
    public PaywayType SetCurPaywayByMoney(double money)
    {
        switch (curPayway)
        {
        case PaywayType.None:
        case PaywayType.Ant:
            if (assetsData.balance >= money)
            {
                curPayway = PaywayType.Balance;
            }
            else if (assetsData.yuEBao >= money)
            {
                curPayway = PaywayType.YuEBao;
            }
            else if (curUseBankCard != null)
            {
                curPayway = PaywayType.BankCard;
            }
            else
            {
                curPayway = PaywayType.None;
            }
            break;

        case PaywayType.Balance:
            if (assetsData.balance < money)
            {
                curPayway = assetsData.yuEBao >= money ? PaywayType.YuEBao :
                            curUseBankCard != null ? PaywayType.BankCard : PaywayType.None;
            }
            break;

        case PaywayType.YuEBao:
            if (assetsData.yuEBao < money)
            {
                curPayway = assetsData.balance >= money ? PaywayType.Balance :
                            curUseBankCard != null ? PaywayType.BankCard : PaywayType.None;
            }
            break;

        case PaywayType.BankCard:
            break;
        }
        return(curPayway);
    }
Example #4
0
    public static string FormatPaywayStr(PaywayType payway, string cardId = "")
    {
        string result = "";

        switch (payway)
        {
        case PaywayType.Balance:
            result = ContentHelper.Read(ContentHelper.BalanceText);
            break;

        case PaywayType.YuEBao:
            result = ContentHelper.Read(ContentHelper.YuEBaoText);
            break;

        case PaywayType.BankCard:
            BankCardSaveData data;
            if (string.IsNullOrEmpty(cardId))
            {
                data = AssetsManager.Instance.curUseBankCard;
            }
            else
            {
                data = XMLSaver.saveData.GetBankCardData(cardId);
            }
            if (data != null)
            {
                string cardStr = data.cardId.Substring(data.cardId.Length - 4, 4);
                result = data.bankName + "(" + cardStr + ")";
            }
            break;

        case PaywayType.Ant:
            result = ContentHelper.Read(ContentHelper.AntText);
            break;
        }
        return(result);
    }