static public void SetHeroVo(GC_HeroData data, HeroVo vo)
 {
     vo.guid         = data.Guid;
     vo.marchId      = data.MarchId;
     vo.type         = data.Type;
     vo.level        = data.Level;
     vo.state        = data.State;
     vo.health       = data.Hp;
     vo.mana         = data.Mp;
     vo.arrangeIndex = data.Arrangeindex;
     vo.skillIdList.Clear();
     for (int j = 0; j < data.skillCount; j++)
     {
         vo.skillIdList.Add(data.GetSkill(j));
     }
     vo.cooldownList.Clear();
     for (int i = 0; i < data.cooldownCount; i++)
     {
         GC_CoolDownInfo coolDown = data.GetCooldown(i);
         CoolDownVo      cVo      = new CoolDownVo();
         cVo.cdTime  = coolDown.Cdtime;
         cVo.elapsed = coolDown.Elapsed;
         cVo.id      = coolDown.Id;
         vo.cooldownList.Add(cVo);
     }
 }
        private void SetProxy(GC_LOGIN_RET packet)
        {
            PlayerProxy proxy = GameFacade.GetProxy <PlayerProxy>();

            proxy.userid      = packet.Userid;
            proxy.oid         = packet.Oid;
            proxy.accesstoken = packet.Accesstoken;
            proxy.playername  = packet.Playername;
            proxy.level       = packet.Level;

            //城市数据
            proxy.city.cityId   = packet.City.CityId;
            proxy.city.tileId   = packet.City.TileId;
            proxy.city.level    = packet.City.Level;
            proxy.city.food     = packet.City.Food;
            proxy.city.stone    = packet.City.Stone;
            proxy.city.iron     = packet.City.Iron;
            proxy.city.WorldPos = new Coord(packet.City.Posx, packet.City.Posz);

            proxy.city.buildList.Clear();
            for (int i = 0; i < packet.City.buildlistCount; i++)
            {
                GC_BuildingData data = packet.City.GetBuildlist(i);
                BuildingVo      vo   = new BuildingVo();
                PlayerProxy.SetBuildVo(data, vo);
                proxy.city.buildList.Add(vo);
            }

            proxy.city.trainList.Clear();
            for (int i = 0; i < packet.City.trainListCount; i++)
            {
                GC_TrainData data = packet.City.GetTrainList(i);
                TrainVo      vo   = new TrainVo();
                PlayerProxy.SetTrainVo(data, vo);
                proxy.city.trainList.Add(vo);
            }

            //英雄数据
            proxy.heroList.Clear();
            for (int i = 0; i < packet.HeroList.heroListCount; i++)
            {
                GC_HeroData data = packet.HeroList.GetHeroList(i);
                HeroVo      vo   = new HeroVo();
                PlayerProxy.SetHeroVo(data, vo);
                proxy.heroList.Add(vo);
            }

            //队伍数据
            proxy.marchList.Clear();
            for (int i = 0; i < packet.Marchlist.marchlistCount; i++)
            {
                GC_MarchData data = packet.Marchlist.GetMarchlist(i);
                MarchVo      vo   = new MarchVo();
                PlayerProxy.SetMarchVo(data, vo);
                proxy.marchList.Add(vo);
            }
        }