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