// 请求购买资源 public void RequestBuyRes(ResourceType retType, int cost, int resValue) { PChance data = new PChance(); data.num = cost; data.priceType = ePriceType.DIAMOND; switch (retType) { case ResourceType.MONEY: data.chance = eChance.CHAN_GOLD; break; case ResourceType.WOOD: data.chance = eChance.CHAN_WOOD; break; case ResourceType.STONE: data.chance = eChance.CHAN_STONE; break; } NetworkManager.Instance.Send(eCommand.BUY_CHANCE, data, (buffer) => { PChance ret = Net.Deserialize <PChance>(buffer); if (!Net.CheckErrorCode(ret.errorCode, eCommand.BUY_CHANCE)) { return; } switch (ret.chance) { case eChance.CHAN_GOLD: // 购买银两 Money += ret.num; CostMoney(cost, PriceType.GOLD); break; case eChance.CHAN_WOOD: // 购买木材 Wood += ret.num; CostMoney(cost, PriceType.GOLD); break; case eChance.CHAN_STONE: // 购买石材 Stone += ret.num; CostMoney(cost, PriceType.GOLD); break; } EventDispatcher.TriggerEvent(EventID.EVENT_UI_MAIN_REFRESH_VALUE); }); }
// 请求购买攻击次数 public void RequestBuyAttackChance(int count) { if (count <= 0) { return; } if (UserManager.Instance.Gold < count * GameConfig.PVP_GOLD_PER_ATTACK_COUNT) { UIUtil.ShowMsgFormat("MSG_CITY_BUILDING_GOLD_LIMIT"); return; } PChance data = new PChance(); data.num = count; data.priceType = ePriceType.DIAMOND; data.chance = eChance.CHAN_ATHLETICS; NetworkManager.Instance.Send(eCommand.BUY_CHANCE, data, (buffer) => { PChance ret = Net.Deserialize <PChance>(buffer); if (!Net.CheckErrorCode(ret.errorCode, eCommand.BUY_CHANCE)) { return; } switch (ret.chance) { case eChance.CHAN_ATHLETICS: PVPManager.Instance.AttackCount += ret.num; UserManager.Instance.CostMoney(GameConfig.PVP_GOLD_PER_ATTACK_COUNT * ret.num, PriceType.GOLD); UIManager.Instance.RefreshWindow <UIPVPView>(); break; } EventDispatcher.TriggerEvent(EventID.EVENT_UI_MAIN_REFRESH_VALUE); }); }