void InitNameLb(EEntityProto proto)
    {
        if (mInitNameLb)
        {
            return;
        }

        switch (proto)
        {
        case EEntityProto.Player:
            InitPlayerNameLb();
            if (PeGameMgr.IsMulti)
            {
                NameLbShow(true);
            }
            break;

        case EEntityProto.Npc:
        case EEntityProto.RandomNpc:
            NameLbShow(true);
            break;

        case EEntityProto.Monster:
        case EEntityProto.Doodad:
            NameLbShow(false);
            break;

        default:
            NameLbShow(false);
            break;
        }
    }
Exemple #2
0
    bool CanShowHpChange(float hpChange, EEntityProto entityProto, out Color col)
    {
        // 非玩家加血不显示数字
        col = Color.red;
        //lz-2016.11.03 游戏暂停的时候不显示
        if (hpChange > 0 && entityProto != EEntityProto.Player || Pathea.PeGameMgr.gamePause)
        {
            return(false);
        }

        if (entityProto == EEntityProto.Player)
        {
            col = hpChange < 0 ? PlayerHurt : PlayerHeal;
        }
        else if (entityProto == EEntityProto.Npc || entityProto == EEntityProto.RandomNpc)
        {
            col = NPCHurt;
        }
        else if (entityProto == EEntityProto.Tower)
        {
            col = CreationHurt;
        }
        else if (entityProto == EEntityProto.Monster)
        {
            col = MonsterHurt;
        }
        else if (entityProto == EEntityProto.Doodad)
        {
            col = DoodadHurt;
        }
        return(true);
    }
Exemple #3
0
    bool ShowHPChange(float hpChange, Vector3 position, EEntityProto entityProto)
    {
        if (!m_ShowHPChange)
        {
            return(false);
        }
        if (GameUI.Instance == null)
        {
            return(false);
        }
        if (GameUI.Instance.mMainPlayer == null)
        {
            return(false);
        }
        if (GameUI.Instance.mUIWorldMap == null)
        {
            return(false);
        }
        if (GameUI.Instance.mUIWorldMap.isShow)
        {
            return(false);
        }
        if ((position - GameUI.Instance.mMainPlayer.position).magnitude > 100)
        {
            return(false);
        }
        if (s_Instance == null)
        {
            return(false);
        }
        if (hpChange == 0f)
        {
            return(false);
        }
        if (hpChange < 1.0f && hpChange > 0f)
        {
            hpChange = 1f;
        }
        if (hpChange > -1f && hpChange < 0f)
        {
            hpChange = -1f;
        }

        Color col = Color.red;

        if (CanShowHpChange(hpChange, entityProto, out col))
        {
            AddNode(position, hpChange, col);
            return(true);
        }
        return(false);
    }
    void TimerCout(EEntityProto proto, float startTime)
    {
        if (proto == EEntityProto.Player || mCurBloodTrans == null || !mDamge)
        {
            return;
        }

        if (Time.time - startTime >= BLOOD_MAX_TIME && mDamge)
        {
            BloodShow(false);
            mDamge = false;
        }
        return;
    }
    void InitBlood(EEntityProto proto)
    {
        if (mInitBlood)
        {
            return;
        }

        switch (proto)
        {
        case EEntityProto.Player:
            InitPlyerBlood();
            break;

        case EEntityProto.Npc:
        case EEntityProto.Monster:
        case EEntityProto.Doodad:
            InitOtherBlood();
            break;

        default:
            BloodShow(false);
            break;
        }
    }
    void SwichBloodByProto(EEntityProto proto)
    {
        if (mCurBloodTrans != null)
        {
            return;
        }

        switch (proto)
        {
        case EEntityProto.Player:
        {
            if (PeGameMgr.IsMulti && null != m_Entity)
            {
                if (null == m_Entity.netCmpt || (null != PeCreature.Instance && m_Entity == PeCreature.Instance.mainPlayer))
                {
                    //lz-2016.11.07 玩家自己显示红色血条
                    mCurBloodTrans  = PlayerTrans;
                    mCurBloodSlider = mBloodPlayer;
                }
                else
                {
                    //lz-2016.11.07 队友显示蓝色血条
                    if (null != m_Entity.netCmpt.network &&
                        null != PeCreature.Instance && null != PeCreature.Instance.mainPlayer && null != PeCreature.Instance.mainPlayer.netCmpt && null != PeCreature.Instance.mainPlayer.netCmpt.network &&
                        m_Entity.netCmpt.network.TeamId == PeCreature.Instance.mainPlayer.netCmpt.network.TeamId)
                    {
                        mCurBloodTrans  = NpcTrans;
                        mCurBloodSlider = mBloodNpc;
                    }
                    else
                    {
                        //lz-2016.11.07 敌人显示红色血条
                        mCurBloodTrans  = PlayerTrans;
                        mCurBloodSlider = mBloodPlayer;
                    }
                }
            }
            else
            {
                //lz-2016.11.07 单人红色血条
                mCurBloodTrans  = PlayerTrans;
                mCurBloodSlider = mBloodPlayer;
            }
        }
        break;

        //	case EEntityProto.RandomNpc:
        case EEntityProto.Npc:
        {
            mCurBloodTrans  = NpcTrans;
            mCurBloodSlider = mBloodNpc;
        }
        break;

        case EEntityProto.Monster:
        case EEntityProto.Doodad:
        {
            mCurBloodTrans  = MonsterTrans;
            mCurBloodSlider = mBloodMonster;
        }
        break;

        default:
        {
            mCurBloodTrans  = null;
            mCurBloodSlider = null;
        }
        break;
        }
    }