コード例 #1
0
    // 请求快速升级士兵
    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>();
            }
        });
    }
コード例 #2
0
    public void RequestCreateHero(int heroConfigID)
    {
        PCMInt data = new PCMInt();

        data.arg = heroConfigID;
        Net.Send(eCommand.CREATE_HERO, data);
    }
コード例 #3
0
    // 请求取消升级士兵
    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);
            }
        });
    }
コード例 #4
0
    public void RequestPlayerUpLevel(int exp)
    {
        PCMInt data = new PCMInt();

        data.arg = exp;
        Net.Send(eCommand.ADJUST_PLAYER_LEVEL, data);
    }
コード例 #5
0
    // 请求关卡信息
    public void RequestLevelInfo(int chapter)
    {
        PCMInt data = new PCMInt();

        data.arg = chapter;
        Net.Send(eCommand.CHAPTER_PASS_LIST, data);
    }
コード例 #6
0
ファイル: ShopManager.cs プロジェクト: fqkw6/AStartTest
    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);
        });
    }
コード例 #7
0
    // 请求领取最高排名奖励
    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>();
        });
    }
コード例 #8
0
    // 请求升级士兵
    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);
            }
        });
    }
コード例 #9
0
    // 请求侦查城池
    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>();
        });
    }
コード例 #10
0
ファイル: ShopManager.cs プロジェクト: fqkw6/AStartTest
    // 请求手动刷新商店
    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);
        });
    }
コード例 #11
0
    // 向服务器请求重置挑战次数
    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);
        });
    }
コード例 #12
0
    // 请求领取关卡星级奖励
    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);
        });
    }