// 请求快速升级士兵 public void RequestQuickTrainSoldier(int soldierCfgID, bool costRes) { PCMInt data = new PCMInt(); data.arg = soldierCfgID; Net.Send(eCommand.TRAIN_SOLIDER_RIGHT_NOW, data, (buffer) => { PBuildInfo ret = Net.Deserialize <PBuildInfo>(buffer); if (!Net.CheckErrorCode(ret.errorCode, eCommand.TRAIN_SOLIDER_RIGHT_NOW)) { return; } TrainBuildingInfo tbinfo = GetBuildingByType(CityBuildingType.TRAIN) as TrainBuildingInfo; if (tbinfo != null) { if (costRes) { // 扣去相应资源(先减再升级) UserManager.Instance.CostMoney(tbinfo.GetTrainCost(soldierCfgID), PriceType.MONEY); } // 无论哪种情况都要把黄金扣了 UserManager.Instance.CostMoney(tbinfo.GetQuickTrainCost(), PriceType.GOLD); tbinfo.Deserialize(ret); RefreshUI(tbinfo.EntityID); UIManager.Instance.RefreshWindow <UICityTrainSelectView>(); } }); }
public void RequestCreateHero(int heroConfigID) { PCMInt data = new PCMInt(); data.arg = heroConfigID; Net.Send(eCommand.CREATE_HERO, data); }
// 请求取消升级士兵 public void RequestCancelTrainSoldier(int soldierCfgID) { PCMInt data = new PCMInt(); data.arg = soldierCfgID; Net.Send(eCommand.CANCLE_TRAIN_SOLIDER, data, (buffer) => { PBuildInfo ret = Net.Deserialize <PBuildInfo>(buffer); if (!Net.CheckErrorCode(ret.errorCode, eCommand.CANCLE_TRAIN_SOLIDER)) { return; } TrainBuildingInfo tbinfo = GetBuildingByType(CityBuildingType.TRAIN) as TrainBuildingInfo; if (tbinfo != null) { int cost = tbinfo.GetTrainCost(tbinfo.TrainSoldierCfgID); // 返还资源 UserManager.Instance.AddMoney(Mathf.FloorToInt(cost * GameConfig.CITY_BUILDING_CANCEL_BACK), PriceType.MONEY); tbinfo.TrainSoldierCfgID = 0; tbinfo.TrainRemainTime = 0; tbinfo.TrainSyncTime = 0; RefreshUI(tbinfo.EntityID); } }); }
public void RequestPlayerUpLevel(int exp) { PCMInt data = new PCMInt(); data.arg = exp; Net.Send(eCommand.ADJUST_PLAYER_LEVEL, data); }
// 请求关卡信息 public void RequestLevelInfo(int chapter) { PCMInt data = new PCMInt(); data.arg = chapter; Net.Send(eCommand.CHAPTER_PASS_LIST, data); }
public float GoldNextFreeSyncTime; // 同步时间 // 请求商店信息 public void RequestShopInfo(ShopType shopType) { PCMInt data = new PCMInt(); data.arg = (int)shopType; NetworkManager.Instance.Send(eCommand.GET_PLAYER_SHOP_LIST, data, (buffer) => { PGeneralGoodList ret = Net.Deserialize <PGeneralGoodList>(buffer); if (!Net.CheckErrorCode(ret.errorCode, eCommand.GET_PLAYER_SHOP_LIST)) { return; } OnRefreshShopInfo(ret, shopType); }); }
// 请求领取最高排名奖励 public void RequestGetHighAward(int highID) { PCMInt data = new PCMInt(); data.arg = highID; NetworkManager.Instance.Send(eCommand.ATHTECLIC_RANK_AWARD_OBTAIN, data, (buffer) => { PComItemList ret = Net.Deserialize <PComItemList>(buffer); if (!Net.CheckErrorCode(ret.errorCode, eCommand.ATHTECLIC_RANK_AWARD_OBTAIN)) { return; } MyHighAwardList[highID] = true; UserManager.Instance.AddItemWithUI(ret); UIManager.Instance.RefreshWindow <UIPVPAwardView>(); }); }
// 请求升级士兵 public void RequestTrainSoldier(int soldierID, int cost) { PCMInt data = new PCMInt(); data.arg = soldierID; Net.Send(eCommand.TRAIN_SOLIDERS, data, (buffer) => { PBuildInfo ret = Net.Deserialize <PBuildInfo>(buffer); if (!Net.CheckErrorCode(ret.errorCode, eCommand.TRAIN_SOLIDERS)) { return; } TrainBuildingInfo info = GetBuilding(ret.buildId) as TrainBuildingInfo; if (info != null) { UserManager.Instance.CostMoney(cost, PriceType.MONEY); info.Deserialize(ret); RefreshUI(info.EntityID); } }); }
// 请求侦查城池 public void RequestDetect(int mapPos) { PCMInt data = new PCMInt(); data.arg = mapPos; NetworkManager.Instance.Send(eCommand.SURVEY_CITY, data, (buffer) => { PPlayerMapInfo ret = Net.Deserialize <PPlayerMapInfo>(buffer); if (!Net.CheckErrorCode(ret.errorCode, eCommand.SURVEY_CITY)) { return; } WorldCityInfo info = GetCity(mapPos); if (info != null) { info.Deserialize(ret); } // 刷新地图 EventDispatcher.TriggerEvent(EventID.EVENT_WORLD_REFRESH_CITY, mapPos); UIManager.Instance.RefreshWindow <UIWorldCityInfoView>(); }); }
// 请求手动刷新商店 public void RequestRefreshShop(ShopType shopType) { ShopInfo info = GetShopInfo(shopType); if (info == null) { return; } int costGold = info.GetRefreshCost(); if (UserManager.Instance.Gold < costGold) { UIUtil.ShowMsgFormat("MSG_CITY_BUILDING_GOLD_LIMIT"); return; } PCMInt data = new PCMInt(); data.arg = (int)shopType; NetworkManager.Instance.Send(eCommand.MANAUL_REFRESH_SHOP, data, (buffer) => { PGeneralGoodList ret = Net.Deserialize <PGeneralGoodList>(buffer); if (!Net.CheckErrorCode(ret.errorCode, eCommand.MANAUL_REFRESH_SHOP)) { return; } // 减少金钱 UserManager.Instance.CostMoney(costGold, PriceType.GOLD); // 增加刷新次数 ++info.refreshCount; OnRefreshShopInfo(ret, shopType); }); }
// 向服务器请求重置挑战次数 public void RequestResetFightCount(int levelID) { PCMInt data = new PCMInt(); data.arg = levelID; Net.Send(eCommand.BUY_ELITE_COUNT, data, (buffer) => { CommonAnswer ret = Net.Deserialize <CommonAnswer>(buffer); if (!Net.CheckErrorCode(ret.err_code, eCommand.BUY_ELITE_COUNT)) { return; } // 重置攻打次数 LevelInfo info = GetLevelInfo(levelID); if (info != null) { info.fightCount = 0; } UserManager.Instance.CostMoney(GameConfig.PVE_RESET_FIGHT_COUNT_COST, PriceType.GOLD); UIManager.Instance.RefreshWindow <UINewPVELevelInfoView>(); EventDispatcher.TriggerEvent(EventID.EVENT_UI_MAIN_REFRESH_VALUE); }); }
// 请求领取关卡星级奖励 public void RequestGetChapterAward(int awardID, int chapterID, ChapterType chapterType) { PCMInt data = new PCMInt(); data.arg = awardID; NetworkManager.Instance.Send(eCommand.OBTAIN_FUBEN_STAR_AWARD, data, (buffer) => { PAwardPointList ret = Net.Deserialize <PAwardPointList>(buffer); if (!Net.CheckErrorCode(ret.errorCode, eCommand.OBTAIN_FUBEN_STAR_AWARD)) { return; } // 领取奖励成功 List <ItemInfo> itemList = new List <ItemInfo>(); foreach (var item in ret.awardPoits) { UserManager.Instance.OnAddUserExp(item.awExp); foreach (var itemData in item.awardItems) { ItemInfo itemInfo = new ItemInfo(); itemInfo.Deserialize(itemData); itemList.Add(itemInfo); } } // 实际添加物品 UserManager.Instance.AddItem(itemList, true); // 显示获得新物品 if (itemList.Count > 0) { UIManager.Instance.OpenWindow <UIGetItemView>(itemList); } // 更新现存数据 List <int> list; if (chapterType == ChapterType.NORMAL) { ChapterAwardList.TryGetValue(chapterID, out list); if (list == null) { list = new List <int>(); ChapterAwardList[chapterID] = list; } } else { EliteChapterAwardList.TryGetValue(chapterID, out list); if (list == null) { list = new List <int>(); EliteChapterAwardList[chapterID] = list; } } list.Add(awardID); UIManager.Instance.RefreshWindow <UINewPVEEntranceView>(); UIManager.Instance.RefreshWindow <UIPVEStarAwardView>(); EventDispatcher.TriggerEvent(EventID.EVENT_UI_MAIN_REFRESH_VALUE); }); }