/// <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);
    }
示例#2
0
    /// <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);
    }