/// <summary> /// 设置或更新头顶名字 /// </summary> /// <param name="entity"></param> /// <param name="headStatus"></param> /// <param name="pvpCamp">阵营[PVP专用]</param> public void SetHead(EntityParent entity, HeadStatus headStatus = HeadStatus.Normal, PVPCamp pvpCamp = PVPCamp.CampOwn) { if (!m_heads.ContainsKey(entity.ID)) { return; } var head = m_heads[entity.ID] as PlayerHead; // [玩家自己] if (entity is EntityMyself) { // 玩家自己名称前加等级 if (MogoUIManager.IsShowLevel) { switch (headStatus) { case HeadStatus.Normal: head.SetName(string.Concat("[5ef5ff]", "LV", entity.level, "[-]") + " " + string.Concat("[13C5D9]", entity.name, "[-]")); break; case HeadStatus.PVP: break; default: break; } } // 不显示等级 else { switch (headStatus) { case HeadStatus.Normal: head.SetName(string.Concat("[13C5D9]", entity.name, "[-]")); break; case HeadStatus.PVP: break; default: break; } } head.SetTestInfo(entity.ID.ToString()); if (IsShowTestInfo) { head.ShowTestInfo(true); } } // [其他玩家] else if (entity is EntityPlayer) { // 别的玩家名称前加等级 if (MogoUIManager.IsShowLevel) { switch (headStatus) { case HeadStatus.Normal: head.SetName(string.Concat("[84e747]", "LV", entity.level, "[-]") + " " + string.Concat("[11AE21]", entity.name, "[-]")); break; case HeadStatus.PVP: { // 自己阵营玩家(绿色) if (pvpCamp == PVPCamp.CampOwn) { head.SetName(string.Concat("[84e747]", "LV", entity.level, "[-]") + " " + string.Concat(HeadNameColor.Green, entity.name, "[-]")); } // 其他阵营玩家(红色) else { head.SetName(string.Concat("[84e747]", "LV", entity.level, "[-]") + " " + string.Concat(HeadNameColor.Red, entity.name, "[-]")); } } break; default: break; } } // 不显示等级 else { switch (headStatus) { case HeadStatus.Normal: head.SetName(string.Concat("[11AE21]", entity.name, "[-]")); break; case HeadStatus.PVP: { // 自己阵营玩家(绿色) if (pvpCamp == PVPCamp.CampOwn) { head.SetName(string.Concat(HeadNameColor.Green, entity.name, "[-]")); } // 其他阵营玩家(红色) else { head.SetName(string.Concat(HeadNameColor.Red, entity.name, "[-]")); } } break; default: break; } } head.SetTestInfo(entity.ID.ToString()); if (IsShowTestInfo) { head.ShowTestInfo(true); } } else if (entity is EntityDummy) { head.SetTestInfo(entity.ID.ToString()); if (IsShowTestInfo) { head.ShowTestInfo(true); } } else if (entity is EntityMercenary) { // 小伙伴 if (entity.ID == MogoWorld.theLittleGuyID) { head.SetName(HeadNameColor.Green + entity.name + "[-]"); head.SetTestInfo(entity.ID.ToString()); if (IsShowTestInfo) { head.ShowTestInfo(true); } } else { MonsterData.MonsterType type = MonsterData.MonsterType.bigBoss; if ((entity as EntityMercenary).IsMonster()) { type = (MonsterData.MonsterType)(entity as EntityMercenary).MonsterData.monsterType; } else if ((entity as EntityMercenary).IsPVP()) { type = MonsterData.MonsterType.PVP; } switch (type) { case MonsterData.MonsterType.bigBoss: head.SetName("[FFD200]" + entity.name + "[-]"); head.SetTestInfo(entity.ID.ToString()); if (IsShowTestInfo) { head.ShowTestInfo(true); } break; case MonsterData.MonsterType.smallBoss: head.SetName("[FF7E00]" + entity.name + "[-]"); head.SetTestInfo(entity.ID.ToString()); if (IsShowTestInfo) { head.ShowTestInfo(true); } break; case MonsterData.MonsterType.PVP: if (MogoUIManager.IsShowLevel) { head.SetName(("[FF7E00]" + "LV" + entity.level + " " + entity.name + "[-]")); } else { head.SetName(("[FF7E00]" + entity.name + "[-]")); } head.SetTestInfo(entity.ID.ToString()); if (IsShowTestInfo) { head.ShowTestInfo(true); } break; default: break; } } } else if (entity is EntityNPC) { head.SetName("[FFD200]" + entity.name + "[-]"); } //head.SetBillboardBlood((float)entity.hp / (float)entity.maxHp); }