Beispiel #1
0
 protected override void RemoveAllNonOnDestroyAbilities()
 {
     if (this._abilityIdentity.isAuthority)
     {
         RecordInvokeEntryContext context;
         this.StartRecordInvokeEntry(0, 0, 0, 0xff, out context);
         Offset <MetaArg_AbilityControl> offset = MetaArg_AbilityControl.CreateMetaArg_AbilityControl(context.builder, AbilityControlType.RemoveAllNonDestroyAbilities);
         context.Finish <MetaArg_AbilityControl>(offset, AbilityInvokeArgument.MetaArg_AbilityControl);
         base.RemoveAllNonOnDestroyAbilities();
     }
 }
Beispiel #2
0
        private void MetaHandlerAbilityControl(AbilityInvokeEntry invokeEntry)
        {
            _metaAbilityControl = invokeEntry.GetArgument <MetaArg_AbilityControl>(_metaAbilityControl);
            switch (_metaAbilityControl.Type)
            {
            case AbilityControlType.AddAppliedAbilities:
                base.AddAppliedAbilities();
                break;

            case AbilityControlType.RemoveAllAbilities:
                base.RemoveAllAbilities();
                break;

            case AbilityControlType.RemoveAllNonDestroyAbilities:
                base.RemoveAllNonOnDestroyAbilities();
                break;
            }
        }