protected override void DeserializeStart(SwitchBehaviorExecutionParameters parameters) { parameters.State = true; if (Imagination > 0 || !IsEnemyFaction) { parameters.State = parameters.Context.Reader.ReadBit(); } parameters.Parameters = parameters.State ? ActionTrue.DeserializeStart(parameters.Context, parameters.BranchContext) : ActionFalse.DeserializeStart(parameters.Context, parameters.BranchContext); }
protected override void DeserializeStart(BitReader reader, SwitchBehaviorExecutionParameters parameters) { parameters.State = true; if (Imagination > 0 || !IsEnemyFaction) { parameters.State = reader.ReadBit(); } if (TargetHasBuff != default && TargetHasBuff != -1 && parameters.BranchContext?.Target != null) { parameters.State = parameters.BranchContext.Target.TryGetComponent <BuffComponent>(out var buffComponent) && buffComponent.HasBuff((uint)TargetHasBuff); } parameters.Parameters = parameters.State ? ActionTrue.DeserializeStart(reader, parameters.Context, parameters.BranchContext) : ActionFalse.DeserializeStart(reader, parameters.Context, parameters.BranchContext); }