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