예제 #1
0
 /// <summary>
 /// 更新视图
 /// </summary>
 /// <param name="model"></param>
 public void UpdateView(DtoSelect model)
 {
     TextName.text = model.PlayerName;
     // 是否进入
     if (!model.IsEnter)
     {
         ImageBg.color = Color.white;
         ResourcesManager.Instance.Load(Paths.HEAD_NO_CONNECT, typeof(Sprite), this);
         return;
     }
     // 是否有选择的英雄
     if (model.HeroId == -1)
     {
         // 隐藏头像
         ImageHead.color = new Color(1, 1, 1, 0);
     }
     else
     {
         // 显示头像
         ImageHead.color = Color.white;
         string headPath = Paths.RES_HEAD_UI + HeroData.GetHeroData(model.HeroId).Name;
         ResourcesManager.Instance.Load(headPath, typeof(Sprite), this);
     }
     // 是否准备
     if (model.IsReady)
     {
         ImageBg.color  = Color.green;
         TextState.text = "已选择";
     }
     else
     {
         ImageBg.color  = Color.white;
         TextState.text = "选择中";
     }
 }
예제 #2
0
 /// <summary>
 /// 确认选择
 /// </summary>
 /// <param name="player"></param>
 /// <returns></returns>
 public bool Ready(int playerId)
 {
     if (TeamOneDict.ContainsKey(playerId))
     {
         DtoSelect model = TeamOneDict[playerId];
         // 没有选择的英雄
         if (model.PlayerId == -1)
         {
             return(false);
         }
         model.IsReady = true;
         ReadyCount++;
         return(true);
     }
     else if (TeamTwoDict.ContainsKey(playerId))
     {
         DtoSelect model = TeamTwoDict[playerId];
         // 没有选择的英雄
         if (model.PlayerId == -1)
         {
             return(false);
         }
         model.IsReady = true;
         ReadyCount++;
         return(true);
     }
     return(false);
 }
예제 #3
0
        /// <summary>
        /// 根据选择数据获取英雄数据
        /// </summary>
        /// <param name="dto"></param>
        public DtoHero GetDtoHero(DtoSelect dto, int team)
        {
            // 获取英雄模型
            HeroModel model = HeroData.GetHeroData(dto.HeroId);

            if (model == null)
            {
                return(null);
            }

            DtoHero hero = new DtoHero(dto.PlayerId, dto.HeroId, team, model.Hp, model.BaseAttack,
                                       model.BaseDefens, model.AttackDistance, model.AttackInterval, model.Name, model.Mp, model.Speed, model.SkillIds);

            return(hero);
        }
예제 #4
0
        /// <summary>
        /// 初始化房间
        /// </summary>
        /// <param name="team1"></param>
        /// <param name="team2"></param>
        public void InitRoom(List <int> team1, List <int> team2)
        {
            // 创建选择模型
            Player    player;
            DtoSelect model;

            foreach (int playerId in team1)
            {
                player = Caches.Player.GetPlayer(playerId);
                model  = new DtoSelect(playerId, player.Name);
                TeamOneDict.Add(playerId, model);
            }
            foreach (int playerId in team2)
            {
                player = Caches.Player.GetPlayer(playerId);
                model  = new DtoSelect(playerId, player.Name);
                TeamTwoDict.Add(playerId, model);
            }
        }