/// <summary> /// 获取商城物品每日购买次数限制---目前VIP等级会影响到这里,后期可能还会增加其他限制; /// </summary> /// <param name="shopT"></param> /// <param name="vipLv"></param> /// <returns></returns> public int GetShopItemDailyBuyTimes(ShopTemplate shopT, int vipLv) { if (shopT.getDailyMaxBuy() < 0) { return(-1); } int vipCount = 0;//根据VIP算出的附加值; //行动力补满药水; if (shopT.getId() == GetGameConfig().getEp_supplement_goods()) { VipTemplate vip = GetVipTemplateById(vipLv); vipCount = vip.getMaxBuyEp(); } //活力补满药水; if (shopT.getId() == GetGameConfig().getAp_supplement_goods()) { VipTemplate vip = GetVipTemplateById(vipLv); vipCount = vip.getMaxBuyAp(); } return(shopT.getDailyMaxBuy() + vipCount); }
public override void InitUIView() { base.InitUIView(); m_ShengYu_1.text = GameUtils.getString("vigour_supplement_content2"); m_ShengYu_2.text = GameUtils.getString("vigour_supplement_content2"); m_ShengYu_3.text = GameUtils.getString("vigour_supplement_content2"); m_ShengYu_4.text = GameUtils.getString("vigour_supplement_content2"); m_YongYou_2.text = GameUtils.getString("vigour_supplement_content3"); m_YongYou_3.text = GameUtils.getString("vigour_supplement_content3"); m_YongYou_4.text = GameUtils.getString("vigour_supplement_content3"); m_GouMai.text = GameUtils.getString("common_button_purchase"); m_Use_2.text = GameUtils.getString("common_button_use2"); m_Use_3.text = GameUtils.getString("common_button_use2"); m_Use_4.text = GameUtils.getString("common_button_use2"); UI_CaptionManager cap = UI_CaptionManager.GetInstance(); if (cap != null) { cap.AwakeUp(M_CapPos); } vipData = (VipTemplate)DataTemplate.GetInstance().m_VipTable.getTableData(ObjectSelf.GetInstance().VipLevel); config = (GameConfig)DataTemplate.GetInstance().m_GameConfig; UpdatePower(); UpdateDiamond(); InitPowerShopUI(); InitPowerItemUI(); }
public static int GetMoneyCountToNextVipLv(int curVipLv, int curVipExp) { VipTemplate vipT = DataTemplate.GetInstance().GetVipTemplateById(curVipLv); if (vipT == null) { LogManager.LogError("VIP 表格中不存在的VIP等级lv=" + curVipLv); return(-2); } if (vipT.getVipExp() == -1) { //Debug.Log("已满级"); return(0); } int needExp = vipT.getVipExp() - curVipExp; if (needExp <= 0) { //Debug.Log("Vip可以升级了"); return(-1); } GameConfig config = DataTemplate.GetInstance().GetGameConfig(); int fen = config.getRealmoney_to_vipexp() * needExp; //总共花多少分钱; return(fen / 100 + (fen % 100 == 0 ? 0 : 1)); }
/// <summary> /// 获得最大行动力上限; /// </summary> /// <param name="vipLv"></param> /// <returns></returns> public static int GetMaxExplorePoint(int vipLv) { int initCount = DataTemplate.GetInstance().GetGameConfig().getInitial_ep_upper_limit(); VipTemplate vipT = DataTemplate.GetInstance().GetVipTemplateById(vipLv); return(initCount + vipT.getExtraEp()); }
private void HintUI() { VipTemplate vipT = (VipTemplate)DataTemplate.GetInstance().m_VipTable.getTableData(ObjectSelf.GetInstance().VipLevel); UICommonManager.Inst.ShowMsgBox("购买技能点", string.Format("你是VIP1,今天还可以购买<color=#ff0000>{0}</color>次", vipT.getSkillconlimit()), string.Format("购买<color=#ff0000>{0}</color>技能点,需花费;<image res ='Sprites/zuanshi' height='40' width='40'/>;{1}", 20, 50), "购买", ResetOKBtn, null, null); }
public void Surplus() { //不限制使用次数 但是 活力药水和体力药剂 要经过特殊处理 if (item.getIfUse() == 0 && !IsSpeciaclID(item.GetID())) //不限制使用次数 { //surplus.SetActive(false); surplus.SetActive(false); SetBtShow(2); } else { if (objID >= 0 || objID < UI_ItemsManage._instance.item.Count) { surplus.SetActive(true); int maxUseCount; if (IsSpeciaclID(item.GetID())) { VipTemplate vipData = (VipTemplate)DataTemplate.GetInstance().m_VipTable.getTableData(ObjectSelf.GetInstance().VipLevel); maxUseCount = vipData.getMaxUseApPotion() + item.getIfUse(); } else { maxUseCount = item.getIfUse(); } surplusNum = maxUseCount - baseIrem.GetItemTimesCount(); //surplusText.text = surplusNum.ToString(); surplus.SetActive(true); SetBtShow(3); if (surplusNum <= 0) { surplusText.text = "<color=#B0B0B0>0</color>"; SetBtShow(1); } else { surplusText.text = string.Format("<color=#76EE00>{0}</color>", surplusNum); SetBtShow(3); } if (item.getType() == 1) { surplus.SetActive(false); SetBtShow(0); } else { surplus.SetActive(true); } if (item.getType() == 0) { surplus.SetActive(false); SetBtShow(2); } } } }
//初始化UI void InitUI() { int _frontLevrel = ObjectSelf.GetInstance().GetPlayOldLevel(); int _curLevel = (int)ObjectSelf.GetInstance().Level; _FrontLevel.text = _frontLevrel.ToString(); _CurLevel.text = _curLevel.ToString(); int _power = 0; int _hero = 0; int _bag = 0; //for (int i = _frontLevrel; i < _curLevel; i++) //{ // PlayerTemplate pRow = (PlayerTemplate)DataTemplate.GetInstance().m_PlayerExpTable.getTableData(i); // _power = pRow.getExtraAp() + _cofig.getInitial_ap_upper_limit(); // _hero += pRow.getExtraHeroPackset(); // _bag += pRow.getExtraCommonItemPackset(); //} VipTemplate _vipData = (VipTemplate)DataTemplate.GetInstance().m_VipTable.getTableData(ObjectSelf.GetInstance().VipLevel); GameConfig _cofig = (GameConfig)DataTemplate.GetInstance().m_GameConfig; PlayerTemplate _pRow = (PlayerTemplate)DataTemplate.GetInstance().m_PlayerExpTable.getTableData(_frontLevrel); _power = _pRow.getExtraAp() + _cofig.getInitial_ap_upper_limit() + _vipData.getExtraAp(); _FrontPower.text = _power.ToString(); _CurPower.text = ObjectSelf.GetInstance().ActionPointMax.ToString(); _hero = _cofig.getInitial_hero_packset() + _pRow.getExtraHeroPackset(); _FrontHero.text = _hero.ToString(); _CurHero.text = ObjectSelf.GetInstance().HeroContainerBag.GetHeroBagSizeMax().ToString(); _bag = _cofig.getInitial_common_item_packset() + _pRow.getExtraCommonItemPackset(); _FrontBag.text = _bag.ToString(); _CurBag.text = ObjectSelf.GetInstance().CommonItemContainer.GetBagItemSizeMax().ToString(); int _apRecover = 0; if ((_curLevel - _frontLevrel) > 1) { for (int i = 0; i < (_curLevel - _frontLevrel); i++) { PlayerTemplate _nRow = (PlayerTemplate)DataTemplate.GetInstance().m_PlayerExpTable.getTableData(_curLevel - i); _apRecover += _nRow.getApRecover(); } } else { PlayerTemplate _nRow = (PlayerTemplate)DataTemplate.GetInstance().m_PlayerExpTable.getTableData(_curLevel); _apRecover = _nRow.getApRecover(); } string _text = string.Format(GameUtils.getString("fight_playerlevelup_content1"), _apRecover); m_PromptObjTxt.text = _text; //播放特效 StartCoroutine(PlayEffectRow(0, 1.5f, () => { m_Level.gameObject.SetActive(true); })); StartCoroutine(PlayEffectRow(1, 2.0f, () => { m_Power.gameObject.SetActive(true); })); StartCoroutine(PlayEffectRow(2, 2.5f, () => { m_PowerMax.gameObject.SetActive(true); })); }
/// <summary> /// 获得每天可以扫荡的关卡次数; /// </summary> /// <param name="vipLv"></param> /// <returns></returns> public static int GetStageMopupInitTimes(int vipLv) { VipTemplate vipT = DataTemplate.GetInstance().GetVipTemplateById(vipLv); if (vipT == null) { return(-1); } return(vipT.getRapidClearNums()); }
/// <summary> /// 当前关卡是否有重置次数-- 返回剩余次数; /// </summary> /// <returns></returns> public int isEnoughResetCount() { StageData obj = ObjectSelf.GetInstance().BattleStageData.GetStageDataByStageId(mStageT.GetID()); if (obj != null) { int vipLevel = ObjectSelf.GetInstance().VipLevel; VipTemplate pRow = (VipTemplate)DataTemplate.GetInstance().m_VipTable.getTableData(vipLevel); if (pRow != null) { return(pRow.getStageResetBuyTimes() - obj.m_BuyBattleNum); } } return(-1); }
/// <summary> /// 获取可以探险加速的VIP最低等级; /// </summary> /// <returns></returns> public static int GetExploreAccelerateVipLv() { List <int> keys = DataTemplate.GetInstance().m_VipTable.GetDataKeys(); for (int i = 0; i < keys.Count; i++) { int k = keys[i]; VipTemplate vt = DataTemplate.GetInstance().GetVipTemplateById(k); if (vt.getIfCanAccelerate() != 0) { return(k); } } return(-1); }
/// <summary> /// 获取购买扫荡次数的最低VIP等级; /// </summary> /// <returns></returns> public static int GetStageMopupVipLv() { List <int> keys = DataTemplate.GetInstance().m_VipTable.GetDataKeys(); for (int i = 0; i < keys.Count; i++) { int k = keys[i]; VipTemplate vt = DataTemplate.GetInstance().GetVipTemplateById(k); if (vt.getIfCanRapidClear() != 0) { return(k); } } return(-1); }
public void OnClickAddFightNum() { //VipTemplate vip = (VipTemplate)DataTemplate.GetInstance().m_VipTable.getTableData(info.VipLevel); VipTemplate vip = DataTemplate.GetInstance().GetVipTemplateById(info.VipLevel); if (vip.getStageResetBuyTimes() > 0) { if (data.m_BuyBattleNum == vip.getStageResetBuyTimes()) { InterfaceControler.GetInst().AddMsgBox(GameUtils.getString("fight_stagepurchase_tip1"), MsgBoxGroup); } else { if (needGoldNum <= info.Gold) { CBuyStateBattleNum cbuy = new CBuyStateBattleNum(); cbuy.buytype = 2; cbuy.battleid = info.CurStageID; IOControler.GetInstance().SendProtocol(cbuy); if (UI_HomeControler.Inst != null) { UI_HomeControler.Inst.ReMoveUI(UI_MaxFightManage.UI_ResPath); } else { UI_FightControler.Inst.ReMoveUI(UI_MaxFightManage.UI_ResPath); } } else { InterfaceControler.GetInst().ShowGoldNotEnougth(this.transform); } } } else { InterfaceControler.GetInst().AddMsgBox(GameUtils.getString("fight_stagepurchase_tip1"), MsgBoxGroup); } }
/// <summary> /// 获取行动力药水每日使用最大次数; /// </summary> /// <param name="itemT"></param> /// <param name="vipLv"></param> /// <returns></returns> public static int GetEPItemUseTimes(ItemTemplate itemT, int vipLv) { VipTemplate vipT = DataTemplate.GetInstance().GetVipTemplateById(vipLv); return(itemT.getIfUse() + vipT.getMaxUseEpPotion()); }
private void BuyResetHandler() { ObjectSelf obj = ObjectSelf.GetInstance(); int reminResetTimes = isEnoughResetCount(); //是否有购买重置次数; if (reminResetTimes > 0) { //UI_RechargeBox box = UI_HomeControler.Inst.AddUI(UI_RechargeBox.UI_ResPath).GetComponent<UI_RechargeBox>(); //int vipLevel = ObjectSelf.GetInstance().VipLevel; //StringBuilder sb = new StringBuilder(); //sb.Append(GameUtils.getString("fight_stagepurchase_form_content")); //sb.Append(string.Format("<size=40><color=#F7F709> {0}</color></size>", ObjectSelf.GetInstance().RapidClearBuyTimes)); //box.SetDescription_text(sb.ToString()); //box.SetLeftClick(OnBuyRapidClick); //int curGold = ObjectSelf.GetInstance().Gold; //box.SetMoneyInfo((int)EM_RESOURCE_TYPE.Gold, curGold); //box.SetMoneyInfoActive(true); //int buyTimes = VIPModule.GetBuyStageMopupTimes(vipLevel) - ObjectSelf.GetInstance().RapidClearBuyTimes; //int cost = StageModule.GetBuyRapidCost(buyTimes); //box.SetConNum(cost + ""); //UI_RechargeBox.Data = curGold >= cost; //box.SetConsume_Image(GameUtils.GetSpriteByResourceType(EM_RESOURCE_TYPE.Gold)); //box.SetLeftBtn_text(GameUtils.getString("common_button_purchase")); long resCount = -1; if (obj.TryGetResourceCountById(EM_RESOURCE_TYPE.Gold, ref resCount)) { int vipLevel = ObjectSelf.GetInstance().VipLevel; VipTemplate pRow = (VipTemplate)DataTemplate.GetInstance().m_VipTable.getTableData(vipLevel); StageData sd = ObjectSelf.GetInstance().BattleStageData.GetStageDataByStageId(mStageT.GetID()); int buyCostIdx = -1; buyCostIdx = Mathf.Max(0, sd.m_BuyBattleNum); buyCostIdx = Mathf.Min(pRow.getResetcost().Length - 1, buyCostIdx); int cost = pRow.getResetcost()[buyCostIdx]; bool isGoldEnough = resCount >= cost; TEXT_COLOR tc = isGoldEnough ? TEXT_COLOR.WHITE : TEXT_COLOR.RED; UICommonManager.Inst.ShowMsgBox( GameUtils.getString("maoxianguanka8"), string.Format(GameUtils.getString("maoxianguanka9"), reminResetTimes), string.Format(GameUtils.getString("maoxianguanka10"), GameUtils.StringWithColor(cost.ToString(), tc)), GameUtils.getString("huoli_tips5"), OnBuyResetBtnClick, null, isGoldEnough ); } else { Debug.LogError("不存在的资源类型" + EM_RESOURCE_TYPE.Gold); } return; } else { //VIP等级是否满级15级; if (obj.VipLevel >= 15) { InterfaceControler.GetInst().AddMsgBox(GameUtils.getString("maoxianguanka27"), selfTransform); return; } else { UICommonManager.Inst.ShowMsgBox( GameUtils.getString("maoxianguanka8"), string.Format(GameUtils.getString("huoli_tips4"), 0), GameUtils.getString("huoli_tips6"), GameUtils.getString("huoli_tips7"), OnShowVipBtnClick, null ); return; } } }
/// <summary> /// 判断当前VIP是否满级; /// </summary> /// <returns></returns> public static bool IsVipFullLv(int curVipLv) { VipTemplate vipT = DataTemplate.GetInstance().GetVipTemplateById(curVipLv); return((vipT == null) || (vipT.getVipExp() == -1)); }
// ================== 私有接口 ================== // 1:更新Msg文本内容 private void ResetMsgTxt() { switch (type) { case TipsType.SocketTips: if (msgQueue.Count > 0) { string msg = msgQueue.Dequeue(); msgTxt.text = msg; YesBtnText.text = GameUtils.getString("common_button_ok1"); //"确 定"; CancelBtnText.text = GameUtils.getString("common_button_cancel1"); //取消 } break; case TipsType.Recruit: msgTxt.text = GameUtils.getString("hero_info_null"); YesBtnText.text = GameUtils.getString("heromelt_button8"); CancelBtnText.text = GameUtils.getString("common_button_cancel"); break; case TipsType.NotEnoughFightCount: int vipLevel = ObjectSelf.GetInstance().VipLevel; VipTemplate pRow = (VipTemplate)DataTemplate.GetInstance().m_VipTable.getTableData(vipLevel); payText.text = "99"; CancelBtnText.text = GameUtils.getString("common_button_cancel"); msgTxt.text = GameUtils.getString("fight_stagepurchase_form_content") + string.Format("<size=40><color=#F7F709> {0}</color></size>", pRow.getRapidClearBuyTimes()); break; case TipsType.AccountBindingOk: msgTxt.text = "绑定成功!" + "<color=#1E90FF>" + ConfigsManager.Inst.GetClientConfig(ClientConfigs.State) + "</color>" + "的信息已转移至注册账号"; YesBtnText.text = GameUtils.getString("common_button_ok1"); break; case TipsType.GameTips: { msgTxt.text = msgQueue.Dequeue(); } break; case TipsType.GoPlatform: { msgTxt.text = "当前客户端版本需要更新,点击确定进入更新界面"; YesBtnText.text = "确 定"; //GameUtils.getString("common_button_ok1"); //"确 定"; CancelBtnText.text = "取 消"; //GameUtils.getString("common_button_cancel1");//取消 } break; case TipsType.CancelOrGoPlatform: { msgTxt.text = "当前客户端版本需要更新,点击确定进入更新界面"; YesBtnText.text = "确 定"; // GameUtils.getString("common_button_ok1"); //"确 定"; CancelBtnText.text = "取 消"; // GameUtils.getString("common_button_cancel1");//取消 } break; case TipsType.StartLoadUpdataAsset: { string _fileSize = AssetManager.Inst.GetNeedLoadFileSize(); msgTxt.text = "有" + "<color=#FF0000>" + _fileSize + "</color>" + "资源需要更新,点击确定开始加载"; YesBtnText.text = "确 定"; //GameUtils.getString("common_button_ok1"); //"确 定"; } break; case TipsType.ResourceDownloadUnOk: { msgTxt.text = "下载异常,请重新登录开始下载"; YesBtnText.text = "确 定"; //GameUtils.getString("common_button_ok1"); //"确 定"; } break; default: break; } }
public override void InitUIData() { base.InitUIData(); MsgBoxGroup = selfTransform.FindChild("MsgBoxGroup"); selfTransform.FindChild("ContinueButton").GetComponent <Button>().onClick.AddListener(new UnityEngine.Events.UnityAction(OnClickAddFightNum)); selfTransform.FindChild("ReturnButton").GetComponent <Button>().onClick.AddListener(new UnityEngine.Events.UnityAction(OnCloseFightBuy)); powerBuyNum = selfTransform.FindChild("BuyNum").GetComponent <Text>(); needGold = selfTransform.FindChild("NeedGold/Text").GetComponent <Text>(); allGold = selfTransform.FindChild("AllGold/Text").GetComponent <Text>(); info = ObjectSelf.GetInstance(); //if (info.GetIsPrompt()) //{ // list = info.BattleStageData.m_BattleStageList[1001]; //} //else //{ // if (info.BattleStageData.m_BattleStageList.ContainsKey(info.GetCurChapterID())) // { // list = info.BattleStageData.m_BattleStageList[info.GetCurChapterID()]; // } //} BattleStage bs = StageModule.GetPlayerBattleStageInfo(); if (bs != null) { list = bs; } data = list == null ? null : list.GetStageData(info.CurStageID); //VipTemplate vip = (VipTemplate)DataTemplate.GetInstance().m_VipTable.getTableData(info.VipLevel); //StageTemplate stageinfo = (StageTemplate)DataTemplate.GetInstance().m_StageTable.getTableData(info.CurStageID); VipTemplate vip = DataTemplate.GetInstance().GetVipTemplateById(info.VipLevel); StageTemplate stageinfo = StageModule.GetStageTemplateById(info.CurStageID); int[] needGoldList = stageinfo.m_resetCost; if (needGoldList.Length > 0) { if (vip.getStageResetBuyTimes() > 0) { if (data.m_BuyBattleNum == vip.getStageResetBuyTimes()) { needGoldNum = needGoldList[needGoldList.Length - 1]; } else { if (needGoldList.Length < data.m_BuyBattleNum) { needGoldNum = needGoldList[needGoldList.Length - 1]; } else { needGoldNum = needGoldList[data.m_BuyBattleNum]; } } } else { needGoldNum = needGoldList[0]; } } powerBuyNum.text = (vip.getStageResetBuyTimes() - data.m_BuyBattleNum).ToString(); needGold.text = needGoldNum.ToString(); allGold.text = info.Gold.ToString(); }