Example #1
0
    private void AddNpcHero(int cfgID)
    {
        WorldCityHeroInfo info = new WorldCityHeroInfo();

        info.heroCfgID      = cfgID;
        info.heroLevel      = 1;
        info.heroQuality    = 1;
        info.heroStar       = 1;
        info.heroFightScore = 0;
        HeroInfoList.Add(info);
    }
Example #2
0
    public override void Deserialize(PResourceMapInfo data)
    {
        base.Deserialize(data);

        MapConfigID = data.cfgid;
        MapPosition = data.mapPos;

        if (data.simRoleAttr == null)
        {
            UserEntityID    = 0;
            UserName        = "";
            UserLevel       = 0;
            UserPalaceLevel = 0;
            UserIcon        = 0;
            UserFightScore  = -1;
        }
        else
        {
            UserEntityID    = data.simRoleAttr.playerId;
            UserName        = data.simRoleAttr.roleName;
            UserLevel       = data.simRoleAttr.level;
            UserPalaceLevel = data.simRoleAttr.mainBuildLevel;
            UserIcon        = data.simRoleAttr.headImage;
            UserFightScore  = data.simRoleAttr.fighting;
        }

        MapLevel = data.mapLevel;

        RefreshRemainTime.SetTimeMilliseconds(data.refreshLeftTime);

        ConquerRemainTime = Utils.GetSeconds(data.occupyLeftTime);
        ConquerSyncTime   = Time.realtimeSinceStartup;

        ProduceRewardElapseTime = Utils.GetSeconds(data.elapseTime);
        ProduceRewardSyncTime   = Time.realtimeSinceStartup;

        ProduceValue = data.perHourGain;

        switch (data.sourceType)
        {
        case eSourceMapType.GOLD_OUT:
            ProduceType = ResourceType.MONEY;
            break;

        case eSourceMapType.STONE_OUT:
            ProduceType = ResourceType.STONE;
            break;

        case eSourceMapType.WOOD_OUT:
            ProduceType = ResourceType.WOOD;
            break;

        case eSourceMapType.YUANBAO_OUT:
            ProduceType = ResourceType.GOLD;
            break;
        }

        foreach (var item in data.heroAttrs)
        {
            WorldCityHeroInfo info = new WorldCityHeroInfo();
            info.heroCfgID   = item.heroCfgId;
            info.heroLevel   = item.level;
            info.heroQuality = item.jinjie;
            info.heroStar    = item.heroStar;
            HeroInfoList.Add(info);
        }
    }
Example #3
0
    public virtual void Deserialize(PPlayerMapInfo data)
    {
        MapPosition = data.mapPos;

        if (data.mapType == eWorldMapType.PLAYER_CITY_MAP)
        {
            IsNpc = false;
            if (data.simRoleAttr != null)
            {
                UserEntityID = data.simRoleAttr.playerId;
                UserName     = data.simRoleAttr.roleName;
                UserIcon     = data.simRoleAttr.headImage;

                UserLevel       = data.simRoleAttr.level;
                UserPalaceLevel = data.simRoleAttr.mainBuildLevel;
                UserFightScore  = data.simRoleAttr.fighting;
            }
        }
        else if (data.mapType == eWorldMapType.NPC_CITY_MAP)
        {
            IsNpc = true;
            if (data.simRoleAttr != null)
            {
                UserEntityID = data.simRoleAttr.playerId;

                WorldMapConfig cfg = WorldMapConfigLoader.GetConfig((int)UserEntityID);

                UserName = cfg.CityName;
                UserIcon = data.simRoleAttr.headImage;

                if (data.getAssertInfo != null)
                {
                    // 已经侦查
                    UserLevel       = cfg.PlayerLevel;
                    UserPalaceLevel = cfg.CityLevel;
                    UserFightScore  = cfg.BattlePower;
                    HeroInfoList.Clear();
                    AddNpcHero(cfg.DefenseHero1);
                    AddNpcHero(cfg.DefenseHero2);
                    AddNpcHero(cfg.DefenseHero3);
                }
                else
                {
                    // 尚未侦查
                    UserLevel       = 0;
                    UserPalaceLevel = 0;
                    UserFightScore  = -1;
                }
            }
        }

        if (data.getAssertInfo != null)
        {
            RewardMoney = data.getAssertInfo.gold;
            RewardWood  = data.getAssertInfo.wood;
            RewardStone = data.getAssertInfo.stone;
            RewardGold  = data.getAssertInfo.yuanbao;
        }
        else
        {
            // 尚未侦查
            RewardMoney = -1;
            RewardWood  = -1;
            RewardStone = -1;
            RewardGold  = -1;
        }

        if (data.heroInfos != null)
        {
            foreach (var item in data.heroInfos)
            {
                WorldCityHeroInfo info = new WorldCityHeroInfo();
                info.heroCfgID      = item.heroCfgId;
                info.heroLevel      = item.level;
                info.heroQuality    = item.jinjie;
                info.heroStar       = item.heroStar;
                info.heroFightScore = item.fighting;
                HeroInfoList.Add(info);
            }
        }

        RefreshRemainTime.SetTimeMilliseconds(data.refreshLeftTime);
    }