/// <summary> /// /// </summary> /// <param name="pt"></param> /// <param name="cost"></param> /// <returns></returns> public bool GetProcTypeAndCost(ref ProceedsType pt, ref int cost) { pt = mPt; cost = (int)mCost; //ShopTableItem item = DataManager.ShopTable[this.resId] as ShopTableItem; //if (item == null) // return false; //ShopModule module = ModuleManager.Instance.FindModule<ShopModule>(); //if (module == null) // return false; //if (item.subTable == (int)ShopSubTable.Sceret) //{ // pt = (ProceedsType)ShopModule.GetShopItemProceedsType(this.resId, mInfo.proceedsTypeIdx); // int perPrice = ShopModule.GetShopItemPerPrice(this.resId, mInfo.proceedsTypeIdx); // cost = (int)(mInfo.count * item.multiple * perPrice); //} //else //{ // pt = (ProceedsType)ShopModule.GetShopItemProceedsType(this.resId, 0); // int perPrice = ShopModule.GetShopItemPerPrice(this.resId, 0); // cost = (int)(mInfo.count * item.multiple * perPrice); //} return(true); }
void updateEggCostInfo() { PlayerDataModule pdm = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (pdm == null) { return; } for (int i = 0; i < EggModule.EGG_COUNT; i++) { EggType et = (EggType)(i + 1); int num = EggModule.getCostProcNum(et); ProceedsType pt = EggModule.getCostProcType(et); if (pt == ProceedsType.Invalid || num <= 0) { costLb[i].transform.parent.gameObject.SetActive(false); } else { if (pdm.GetProceeds(pt) < num) { costLb[i].text = StringHelper.StringWithColor(FontColor.Red, num.ToString()); } else { costLb[i].text = num.ToString(); } UIAtlasHelper.SetSpriteByMoneyType(costSp[i], pt, false); costLb[i].transform.parent.gameObject.SetActive(true); } } }
void confirmRefresh(object para) { PlayerDataModule pdm = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (pdm == null) { return; } //if (ShopModule.SECRET_REFRESH_COST > pdm.GetProceeds(ShopModule.SECRET_REFRESH_PROC_TYPE)) ProceedsType pt = ShopModule.GetSecretShopRefreshPoceType(); if (ShopModule.GetSecretShopRefreshCost() > pdm.GetProceeds(pt)) { //PromptUIManager.Instance.AddNewPrompt(ShopModule.GetBuyMoneyNotEnougthStr(pt)); PopTipManager.Instance.AddNewTip(StringHelper.GetString("refresh_no_money", FontColor.Red)); return; } ShopRefreshAction param = new ShopRefreshAction(); param.OpType = (int)ShopOpType.Refresh; Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_SHOP, param); }
public static void SetSpriteByMoneyType(UISprite sprite, ProceedsType type, bool pixelPerfect = true) { string imgName = ""; switch (type) { case ProceedsType.Money_Game: imgName = "jinbi1"; break; //钻石; case ProceedsType.Money_RMB: imgName = "zhuanshi1"; break; //声望; case ProceedsType.Money_Prestige: imgName = "shengwang1"; break; //竞技场货币; case ProceedsType.Money_Arena: imgName = "hupbi3"; break; default: Debug.LogError("没处理的货币类型"); break; } SetSpriteImage(sprite, "common:" + imgName, pixelPerfect); }
public bool IsEnougthMoney(EggType et, ref ProceedsType pt) { pt = getCostProcType(et); if (Pdm.GetProceeds(pt) < getCostProcNum(et)) { return(false); } return(true); }
///技能升级; public bool Upgrade(int skillId) { SkillLevelTableItem item = GetDetailByCurLvSkillID(skillId); if (item == null) { return(false); } PlayerDataModule pdm = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (pdm == null) { return(false); } ProceedsType pt = (ProceedsType)item.money_type; uint moneyNum = pdm.GetProceeds(pt); if (item.money_num > moneyNum) { //Debug.LogError("钱不够了,升级失败"); if (pt == ProceedsType.Money_Game) { PopTipManager.Instance.AddNewTip(StringHelper.StringWithColor(FontColor.Red, StringHelper.GetString("skill_lvup_nomoney"))); } else if (pt == ProceedsType.Money_RMB) { PopTipManager.Instance.AddNewTip(StringHelper.StringWithColor(FontColor.Red, StringHelper.GetString("skill_lvup_normb"))); } return(false); } if (pdm.GetLevel() < item.level) { //人物等级不足,技能升级失败; PopTipManager.Instance.AddNewTip(StringHelper.StringWithColor(FontColor.Red, StringHelper.GetString("skill_lvup_nolevel"))); return(false); } SkillLevelActionParam param = new SkillLevelActionParam(); param.SkillIdxs.Add(skillId); Net.Instance.DoAction((int)MESSAGE_ID.ID_MSG_SKILL, param); // pdm.ChangeProceeds((ProceedsType)item.money_type, (int)(moneyNum - item.money_num)); // PlayerData pd = PlayerDataPool.Instance.MainData; // int tempLv = pd.skillData.mLevels[skillId]; // pd.skillData.mLevels[skillId] = tempLv + 1; return(true); }
void BuyMallItem(int resId, int subId) { MallTableItem item = Module.MallTable[resId] as MallTableItem; if (item == null) { return; } PlayerDataModule pdm = ModuleManager.Instance.FindModule <PlayerDataModule>(); //有钱没; MallItemInfo info = item.mallItems[subId]; ProceedsType pt = (ProceedsType)item.processType; if (pdm.GetProceeds(pt) < info.processNow) { //PromptUIManager.Instance.AddNewPrompt(ShopModule.GetBuyMoneyNotEnougthStr(pt)); PopTipManager.Instance.AddNewTip(StringHelper.StringWithColor(FontColor.Red, ShopModule.GetBuyMoneyNotEnougthStr(pt))); return; } //次数够了没; switch (mModule.GetLimitTypeByID(resId)) { case MallLimitType.ERROR: GameDebug.LogError("数据错误"); return; case MallLimitType.NONE: break; case MallLimitType.DAY: case MallLimitType.FOREVER: if (mModule.GetPlayerBuyTimes(resId) >= item.limitTimes) { //PromptUIManager.Instance.AddNewPrompt(StringHelper.GetString("buy_no_time")); PopTipManager.Instance.AddNewTip(StringHelper.StringWithColor(FontColor.Red, StringHelper.GetString("buy_no_time"))); return; } break; } MallBuyItemAction param = new MallBuyItemAction(); param.ResId = resId; param.SubIdx = subId; Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_MALL_BUY, param); }
void UpdateData(int ProceedsTypeIdx, int count, bool isBuy) { if (mitem == null) { GameDebug.LogError("请先初始化在进行刷新操作"); return; } if (ProceedsTypeIdx < 0 || ProceedsTypeIdx > 2) { GameDebug.LogError("商店数据错误"); return; } int proceedsType = ShopModule.GetShopItemProceedsType(mitem, ProceedsTypeIdx); int perPrice = ShopModule.GetShopItemPerPrice(mitem, ProceedsTypeIdx); mPt = (ProceedsType)proceedsType; SetMoneyType(mPt); int itemNumber = (int)(count * mitem.multiple); countLb.text = "x" + itemNumber; mCost = (uint)(perPrice * itemNumber); if (isBuy) { moneyLb.text = "已售罄"; } else { PlayerDataModule pdm = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (pdm == null) { return; } if (pdm.GetProceeds(mPt) >= mCost) { moneyLb.text = mCost + ""; } else { moneyLb.text = StringHelper.StringWithColor(FontColor.Red, mCost.ToString()); } } huiSp.gameObject.SetActive(isBuy); isScretItemBuyDone = isBuy; }
public static string GetBuyMoneyNotEnougthStr(ProceedsType pt) { switch (pt) { case ProceedsType.Money_Game: return(StringHelper.GetString("buy_no_game")); case ProceedsType.Money_RMB: return(StringHelper.GetString("buy_no_rmb")); case ProceedsType.Money_Prestige: return(StringHelper.GetString("buy_no_prestige")); case ProceedsType.Money_Stren: return(StringHelper.GetString("buy_no_stren")); case ProceedsType.Money_Arena: return(StringHelper.GetString("buy_no_arena")); default: GameDebug.LogError("缺少该类型的购买钱币不足提示"); return(""); } }
void SetMoneyType(ProceedsType type) { mPt = type; UIAtlasHelper.SetSpriteByMoneyType(moneySp, type, true); moneySp.transform.localScale = new Vector3(0.5f, 0.5f, 1f); }
public void SetData(ShopTableItem node) { if (node == null) { resId = -1; mitem = null; SetName(""); huiSp.gameObject.SetActive(true); nullLb.gameObject.SetActive(true); icon.gameObject.SetActive(false); moneyLb.gameObject.SetActive(false); moneySp.gameObject.SetActive(false); countLb.gameObject.SetActive(false); discountSp.gameObject.SetActive(false); discountLb.gameObject.SetActive(false); effectSp.gameObject.SetActive(false); orignalPriceLb.gameObject.SetActive(false); orignalPriceSp.gameObject.SetActive(false); limitTimesLb.gameObject.SetActive(false); limitTimesSp.gameObject.SetActive(false); return; } ItemTableItem itemItem = ItemManager.GetItemRes(node.itemId); if (itemItem == null) { Debug.LogError("找不到物品id" + node.itemId + "对应的物品"); return; } resId = node.resId; mitem = node; SetName(ItemManager.getItemNameWithColor(node.itemId)); SetIcon(itemItem.picname); if (node.subTable != (int)ShopSubTable.Sceret) { uint count = node.minCount * node.multiple; mPt = (ProceedsType)(node.proceedType0); mCost = (uint)node.perPrice0 * count; //UIAtlasHelper.SetSpriteByMoneyType(moneySp, mPt); SetMoneyType(mPt); SetCurPrice(mCost); countLb.text = "x" + count; mInfo = new ShopItemInfo(); mInfo.proceedsTypeIdx = 0; mInfo.isBuyDone = false; mInfo.count = (int)node.minCount; } nullLb.gameObject.SetActive(false); huiSp.gameObject.SetActive(false); discountSp.gameObject.SetActive(false); discountLb.gameObject.SetActive(false); effectSp.gameObject.SetActive(false); orignalPriceLb.gameObject.SetActive(false); orignalPriceSp.gameObject.SetActive(false); limitTimesLb.gameObject.SetActive(false); limitTimesSp.gameObject.SetActive(false); }
/// <summary> /// 普通蛋:倒计时完成了就可以砸; /// 高级蛋、钻石蛋:倒计时到了就可以免费砸一次,否则花钱也可以砸; /// </summary> /// <param name="go"></param> void onEggClick(GameObject go) { if (go == null) { return; } string last = go.name.Substring(go.name.Length - 1, 1); int idx = System.Convert.ToInt32(last); if (idx < 1 || idx > mEggs.Length) { GameDebug.LogError("名字不配代码"); return; } bool isFree = false; EggType et = (EggType)idx; // 时间到了吗; if (Module.GetSecondsByEggId(et) > 0) { switch (et) { case EggType.Normal: //GameDebug.LogError("时间没到砸不开"); PopTipManager.Instance.AddNewTip(StringHelper.GetString("egg_is_counting", FontColor.Red)); return; case EggType.Supper: case EggType.ZuanShi: break; } isFree = false; } else { isFree = true; } // 次数不够了; if (Module.GetRemainTimeByEggId(et) == 0) { //PromptUIManager.Instance.AddNewPrompt("今日次数已用完!"); PopTipManager.Instance.AddNewTip(StringHelper.GetString("egg_no_times", FontColor.Red)); return; } // 钱不够; ProceedsType pt = ProceedsType.Invalid; if (!isFree && !Module.IsEnougthMoney(et, ref pt)) { //PromptUIManager.Instance.AddNewPrompt("钱不够,无法砸蛋!"); if (pt == ProceedsType.Money_Game) { PopTipManager.Instance.AddNewTip(StringHelper.GetString("egg_no_money", FontColor.Red)); } else if (pt == ProceedsType.Money_RMB) { PopTipManager.Instance.AddNewTip(StringHelper.GetString("egg_no_rmb", FontColor.Red)); } return; } RequestOpenEgg(idx); }
void OpenBuyForm(int resId) { if (!DataManager.ShopTable.ContainsKey(resId)) { return; } if (!mAllItemsLists.ContainsKey(resId)) { return; } ShopItemUI itemUi = mAllItemsLists[resId]; if (itemUi == null || itemUi.IsScretItemBuyDone) { return; } ShopTableItem item = DataManager.ShopTable[resId] as ShopTableItem; ItemTableItem tableItem = ItemManager.GetItemRes(item.itemId); if (tableItem == null) { #if UNITY_EDITOR GameDebug.LogError("物品表中缺少ID为" + item.itemId + "的物品"); #endif return; } //gNameLb.text = tableItem.name; gNameLb.text = ItemManager.getItemNameWithColor(item.itemId); gItemDetailLb.text = tableItem.desc; gGetDetailLb.text = tableItem.desc0; UIAtlasHelper.SetSpriteImage(gIconSp, tableItem.picname, true); gItemTypeLb.text = ItemManager.GetItemTypeStr(item.itemId); ProceedsType pt = ProceedsType.Invalid; int cost = 0; if (!itemUi.GetProcTypeAndCost(ref pt, ref cost)) { return; } UIAtlasHelper.SetSpriteByMoneyType(gMoneySp, pt); gMoneySp.transform.localScale = new Vector3(0.5f, 0.5f, 1f); PlayerDataModule playerModule = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (playerModule == null) { GameDebug.LogError("player data is null!"); return; } if (playerModule.GetProceeds(pt) < cost) { gMoneyLb.text = StringHelper.StringWithColor(FontColor.Red, cost.ToString()); } else { gMoneyLb.text = cost.ToString(); } gBuyObj.SetActive(true); }
void BuyMallItem(int resId) { ShopTableItem item = DataManager.ShopTable[resId] as ShopTableItem; if (item == null) { return; } PlayerDataModule pdm = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (pdm == null || pdm.GetShopIsBuyDone(resId)) { return; } if (!mAllItemsLists.ContainsKey(resId)) { return; } ShopItemUI itemUi = mAllItemsLists[resId]; if (itemUi == null) { return; } // 已经买了吗; if (itemUi.IsScretItemBuyDone) { //PromptUIManager.Instance.AddNewPrompt(StringHelper.GetString("buy_done")); PopTipManager.Instance.AddNewTip(StringHelper.StringWithColor(FontColor.Red, StringHelper.GetString("buy_done"))); return; } /// 钱够了吗; ProceedsType pt = ProceedsType.Invalid; int cost = 0; if (!itemUi.GetProcTypeAndCost(ref pt, ref cost)) { return; } if (pdm.GetProceeds(pt) < cost) { //PromptUIManager.Instance.AddNewPrompt(ShopModule.GetBuyMoneyNotEnougthStr(pt)); PopTipManager.Instance.AddNewTip(StringHelper.StringWithColor(FontColor.Red, ShopModule.GetBuyMoneyNotEnougthStr(pt))); return; } // 成功逻辑; ShopBuyItemAction param = new ShopBuyItemAction(); param.OpType = (int)ShopOpType.BuyItem; param.ResId = resId; Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_SHOP, param); //MallBuyItemAction param = new MallBuyItemAction(); //param.ResId = resId; //param.SubIdx = subId; ////有钱没; //MallItemInfo info = item.mallItems[subId]; //if (pdm.GetProceeds((ProceedsType)item.processType) < info.processNow) //{ // PromptUIManager.Instance.AddNewPrompt("钱不够"); // return; //} ////次数够了没; //switch (mModule.GetLimitTypeByID(resId)) //{ // case MallLimitType.ERROR: // GameDebug.LogError("数据错误"); // return; // case MallLimitType.NONE: // break; // case MallLimitType.DAY: // case MallLimitType.FOREVER: // if (mModule.GetPlayerBuyTimes(resId) >= item.limitTimes) // { // PromptUIManager.Instance.AddNewPrompt("购买次数够了"); // return; // } // break; //} //Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_MALL_BUY, param); }