示例#1
0
        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;
 }
示例#3
0
 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;
     }
 }