protected override void OnDead() { PoolObjHandle <ActorRoot> attack = this.myLastAtker ? this.myLastAtker.handle.ActorControl.GetOrignalActor() : this.myLastAtker; this.deadMode = ObjDeadMode.DeadState_Normal; this.TerminateMove(); base.ClearMoveCommand(); base.EnableRVO(false); if (this.actor.HudControl != null) { this.actor.HudControl.OnActorDead(); } if (this.actor.BuffHolderComp != null) { this.actor.BuffHolderComp.OnDead(attack); } SkillComponent skillControl = this.actor.SkillControl; skillControl.OnDead(); if (!this.m_reviveContext.bEnable) { skillControl.ResetAllSkillSlot(true); } if (this.hostActor) { this.hostActor.handle.ActorControl.eventActorDead -= new ActorDeadEventHandler(this.OnActorDead); } this.CaptainHostSwitch(); Singleton <GameObjMgr> .instance.RecycleActor(this.actorPtr, 0); }
public override void OnUse() { base.OnUse(); this.name = string.Empty; this.isMovable = true; this.isRotatable = true; this.myTransform = null; this.ActorMesh = null; this.ActorMeshAnimation = null; this._bVisible = true; this._bInitVisibleDelay = 0; this._bInCamera = false; this.ObjID = 0u; this.TheActorMeta = default(ActorMeta); this.TheStaticData = default(ActorStaticData); this.SelfPtr.Release(); this.ObjLinker = null; this.ActorControl = null; this.ActorAgent = null; this.MovementComponent = null; this.SkillControl = null; this.ValueComponent = null; this.HurtControl = null; this.HudControl = null; this.AnimControl = null; this.BuffHolderComp = null; this.MatHurtEffect = null; this.ShadowEffect = null; this.EquipComponent = null; this.DefaultAttackModeControl = null; this.LockTargetAttackModeControl = null; this.PetControl = null; this.OriginalActorMesh = null; this.OriginalMeshAnim = null; this.shape = null; this.slotList.Clear(); this.bChildUpdate = false; this.SMNode = null; this._location = VInt3.zero; this._forward = VInt3.forward; this._rotation = Quaternion.identity; this.groundY = 0; this.hasReachedNavEdge = false; this.pickFlyY = 0; this.AttackOrderReady = true; this.bOneKiller = false; this.CharInfo = null; this.HorizonMarker = null; this.BornPos = VInt3.zero; this.isRecycled = false; this.BornPos = VInt3.zero; this.PositionRecords = null; this.PositionRecordsLastStamp = 0f; }
public void UninitActor() { if (this.HurtControl != null) { this.HurtControl.Uninit(); } if (this.MovementComponent != null) { this.MovementComponent.Uninit(); } if (this.SkillControl != null) { this.SkillControl.Uninit(); } if (this.HudControl != null) { this.HudControl.Uninit(); } if (this.AnimControl != null) { this.AnimControl.Uninit(); } if (this.BuffHolderComp != null) { this.BuffHolderComp.Uninit(); } if (this.EffectControl != null) { this.EffectControl.Uninit(); } if (this.ActorControl != null) { this.ActorControl.Uninit(); } if (this.HorizonMarker != null) { this.HorizonMarker.Uninit(); } if (this.ValueComponent != null) { this.ValueComponent.Uninit(); } if (this.EquipComponent != null) { this.EquipComponent.Uninit(); } if (this.PetControl != null) { this.PetControl.Uninit(); } if (this.HurtControl != null) { this.HurtControl.Release(); this.HurtControl = null; } if (this.MovementComponent != null) { this.MovementComponent.Release(); this.MovementComponent = null; } if (this.SkillControl != null) { this.SkillControl.Release(); this.SkillControl = null; } if (this.HudControl != null) { this.HudControl.Release(); this.HudControl = null; } if (this.AnimControl != null) { this.AnimControl.Release(); this.AnimControl = null; } if (this.BuffHolderComp != null) { this.BuffHolderComp.Release(); this.BuffHolderComp = null; } if (this.EffectControl != null) { this.EffectControl.Release(); this.EffectControl = null; } if (this.HorizonMarker != null) { this.HorizonMarker.Release(); this.HorizonMarker = null; } if (this.ActorControl != null) { this.ActorControl.Release(); this.ActorControl = null; } if (this.ValueComponent != null) { this.ValueComponent.Release(); this.ValueComponent = null; } if (this.EquipComponent != null) { this.EquipComponent.Release(); this.EquipComponent = null; } if (this.DefaultAttackModeControl != null) { this.DefaultAttackModeControl.Release(); this.DefaultAttackModeControl = null; } if (this.LockTargetAttackModeControl != null) { this.LockTargetAttackModeControl.Release(); this.LockTargetAttackModeControl = null; } if (this.PetControl != null) { this.PetControl.Release(); this.PetControl = null; } }