/// <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 = "选择中"; } }
/// <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); }
/// <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); }
/// <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); } }