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; } }
/// <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); } }