Esempio n. 1
0
        public override void UnInitBehaviors()
        {
            ClientEventMgr.Instance.UnsubscribeClientEvent((int)ClientEvent.CE_SELECTACTOR_CHANGE, OnSelectActorChange);

            mOwner.UnsubscribeActorEvent(Actor.ActorEvent.AFTER_CREATE, OnAfterCreate);
            mOwner.UnsubscribeActorEvent(Actor.ActorEvent.MODEL_CHANGE, OnModelChange);
            mOwner.UnsubscribeActorEvent(Actor.ActorEvent.RES_LOADED_CHANGE, OnModelChange);
            base.UnInitBehaviors();

            if (null != mHPComponent)
            {
                UnityEngine.GameObject.DestroyImmediate(mHPComponent);
                mHPComponent = null;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 创建血条的组件
        /// </summary>
        void CreateHPComponent()
        {
            if (mOwner.IsGuardedNpc() || (mOwner.IsMonster() && !mOwner.IsBoss()))// 非boss的怪物才显示血条、守护npc
            {
                if (mHPComponent != null)
                {
                    GameObject.DestroyImmediate(mHPComponent);
                    mHPComponent = null;
                }

                mHPComponent = mOwner.gameObject.AddComponent <UI3DProgressBar>();
                mHPComponent.SetTargetActor(mOwner);

                UpdateHeadTrans(mOwner.GetModelParent().transform);
                mHPComponent.HeadOffset = new Vector3(0f, mOwner.Height - 0.2f, 0f);
            }
        }