Пример #1
0
 private void RecvCore()
 {
     if (base._state == AbilityEvadeMixin.State.Evading)
     {
         base._evadeTimer.Core(1f);
         if (base._evadeTimer.isTimeUp)
         {
             if (base.selfIdentity.isAuthority)
             {
                 if (this._recvStates[base.selfIdentity.authorityPeerID] == PeerReceiveState.Started)
                 {
                     this._recvStates[base.selfIdentity.authorityPeerID] = PeerReceiveState.Failed;
                     this.OnAuthorityPeerEvadeStateChanged();
                 }
             }
             else
             {
                 RecordInvokeEntryContext context;
                 base.StartRecordMixinInvokeEntry(out context, 0);
                 Offset <MixinArg_Evade> offset = MixinArg_Evade.CreateMixinArg_Evade(context.builder, EvadeAction.FailEvade);
                 context.Finish <MixinArg_Evade>(offset, AbilityInvokeArgument.MixinArg_Evade);
             }
             base._evadeTimer.Reset(false);
             base._dummyActor.Kill();
             base.actor.RemoveAbilityState(AbilityState.BlockAnimEventAttack);
             base.entity.SetCountedIsGhost(false);
             base._state = AbilityEvadeMixin.State.Idle;
         }
     }
 }
 public override void OnAbilityTriggered(EvtAbilityStart evt)
 {
     if (base.selfIdentity.isAuthority)
     {
         RecordInvokeEntryContext context;
         base.OnAbilityTriggered(evt);
         base.StartRecordMixinInvokeEntry(out context, 0);
         Offset <MixinArg_Evade> offset = MixinArg_Evade.CreateMixinArg_Evade(context.builder, EvadeAction.StartEvade);
         context.Finish <MixinArg_Evade>(offset, AbilityInvokeArgument.MixinArg_Evade);
     }
 }
 protected override void EvadeFail()
 {
     if (base.selfIdentity.isAuthority)
     {
         RecordInvokeEntryContext context;
         base.StartRecordMixinInvokeEntry(out context, 0);
         Offset <MixinArg_Evade> offset = MixinArg_Evade.CreateMixinArg_Evade(context.builder, EvadeAction.FailEvade);
         context.Finish <MixinArg_Evade>(offset, AbilityInvokeArgument.MixinArg_Evade);
         base.EvadeFail();
     }
 }
        protected override bool OnEvadeSuccess(EvtEvadeSuccess evt)
        {
            if (base.selfIdentity.isAuthority)
            {
                RecordInvokeEntryContext context;
                base.StartRecordMixinInvokeEntry(out context, 0);
                Offset <MixinArg_Evade> offset = MixinArg_Evade.CreateMixinArg_Evade(context.builder, EvadeAction.SuccessEvade);
                context.Finish <MixinArg_Evade>(offset, AbilityInvokeArgument.MixinArg_Evade);
                Singleton <MPEventManager> .Instance.MarkEventReplicate(evt);

                return(base.OnEvadeSuccess(evt));
            }
            return(false);
        }
Пример #5
0
 public override void OnAbilityTriggered(EvtAbilityStart evt)
 {
     if (base.selfIdentity.isAuthority)
     {
         RecordInvokeEntryContext context;
         this.RecvStart();
         base.StartRecordMixinInvokeEntry(out context, 0);
         Offset <MixinArg_Evade> offset = MixinArg_Evade.CreateMixinArg_Evade(context.builder, EvadeAction.StartEvade);
         context.Finish <MixinArg_Evade>(offset, AbilityInvokeArgument.MixinArg_Evade);
         for (int i = 1; i < this._recvStates.Length; i++)
         {
             this._recvStates[i] = PeerReceiveState.Started;
         }
         this._firstSuccess = null;
     }
 }