public void Init(DtoSkill data) { m_Data = data; m_Desc = data.Name + "\n" + data.Description; // 加载图片 ResourcesManager.Instance.Load(Paths.RES_SKILL_UI + data.Id, typeof(Sprite), this); }
public override void OnOperationRequest(OperationRequest request, SendParameters sendParameters, MobaPeer peer) { MobaServer.LogInfo("处理技能升级的请求"); int playerId = UserManager.GetPlayer(peer.Username).Identification; BattleRoom room = Caches.Battle.GetRoomByPlayerId(playerId); // 获取英雄数据 DtoHero hero = room.GetDtoHero(playerId); if (hero == null || hero.SP < 1) { return; } // 获取技能id int skillId = (int)request[(byte)ParameterCode.SkillId]; // 技能升级 DtoSkill skill = hero.UpgradeSkill(skillId); if (skill == null) { return; } // 发送升级的技能数据和英雄id Dictionary <byte, object> data = new Dictionary <byte, object>(); data.Add((byte)ParameterCode.DtoSkill, JsonMapper.ToJson(skill)); data.Add((byte)ParameterCode.PlayerId, playerId); SendResponse(peer, request.OperationCode, data); }
/// <summary> /// 更新界面 /// </summary> /// <param name="skill"></param> public void UpdateView(DtoSkill skill) { m_Data = skill; // 第一次学习技能 if (m_Data.Level == 1) { m_IsReady = true; ImgMask.fillAmount = 0; } UpdataBtnUp(); }
public override void OnOperationResponse(OperationResponse response) { int heroId = (int)response[(byte)ParameterCode.PlayerId]; // 是自身才有更新的必要 if (GameData.HeroData.Id == heroId) { // 更新数据 DtoSkill skill = JsonMapper.ToObject <DtoSkill>(response[(byte)ParameterCode.DtoSkill] as string); GameData.HeroData.SP--; // 更新ui m_ItemSkill.UpdateView(skill); } }
/// <summary> /// 刷新界面 /// </summary> /// <param name="hero"></param> public void UpdateView() { DtoHero hero = GameData.HeroData; // 更新状态条 BarExp.value = (float)hero.Exp / (hero.Level * 300); BarHp.value = (float)hero.CurHp / hero.MaxHp; BarMp.value = (float)hero.CurMp / hero.MaxMp; // 更新文本 TextAttack.text = hero.Attack.ToString(); TextDefense.text = hero.Defense.ToString(); TextLevel.text = "Lv." + hero.Level; TextHp.text = hero.CurHp + "/" + hero.MaxHp; TextMp.text = hero.CurMp + "/" + hero.MaxMp; TextCoins.text = hero.Money.ToString(); TextKDA.text = hero.Kill + "/" + hero.Death; // 更新装备栏 for (int i = 0; i < hero.Equipments.Length; i++) { if (hero.Equipments[i] != -1) { Equipments[i].sprite = ResourcesManager.Instance.GetAsset(Paths.RES_EQUIPMENT_UI + hero.Equipments[i]) as Sprite; Equipments[i].color = Color.white; } } // 更新技能栏的升级状态 if (GameData.HeroData.SP > 0) { DtoSkill skill = null; for (int i = 0; i < hero.Skills.Length; i++) { skill = hero.Skills[i]; if (skill != null) { ItemSkill item = Skills[i].GetComponent <ItemSkill>(); item.UpdataBtnUp(); } } } }
public async Task <IActionResult> Post([FromBody] DtoSkill dto) { var result = Mapper.Map <Skill>(dto); _context.Skills.Add(result); await _context.SaveChangesAsync(); dto.Id = result.Id; var @event = new SkillsChanged { Created = new List <DtoSkill> { dto } }; _eventBus.Publish(@event); return(Ok(result.Id)); }
public void InitView() { // 获取数据 DtoHero hero = GameData.HeroData; // 加载头像 ResourcesManager.Instance.Load(Paths.RES_HEAD_UI + hero.Name, typeof(Sprite), this); // 默认状态 BarExp.value = 0; BarHp.value = 1; BarMp.value = 1; // 赋值 TextAttack.text = hero.Attack.ToString(); TextDefense.text = hero.Defense.ToString(); TextLevel.text = "Lv." + hero.Level; TextHp.text = hero.CurHp + "/" + hero.MaxHp; TextMp.text = hero.CurMp + "/" + hero.MaxMp; TextCoins.text = hero.Money.ToString(); TextKDA.text = hero.Kill + "/" + hero.Death; // 飘字设置 HUDText.CanvasParent = GameObject.Find("Canvas").transform; // 复活倒计时 TextRebirth.text = ServerConfig.HeroRebirthCD.ToString(); TextRebirth.gameObject.SetActive(false); // 技能设置 DtoSkill skill = null; for (int i = 0; i < hero.Skills.Length; i++) { skill = hero.Skills[i]; if (skill != null) { Skills[i].gameObject.SetActive(true); Skills[i].GetComponent <ItemSkill>().Init(skill); } } }