public void React(ReactionMethod method, IEntity entity, ReagentPrototype reagent, ReagentUnit volume, Components.Solution?source) { switch (method) { case ReactionMethod.Touch: if (!Touch) { return; } break; case ReactionMethod.Injection: if (!Injection) { return; } break; case ReactionMethod.Ingestion: if (!Ingestion) { return; } break; default: throw new ArgumentOutOfRangeException(nameof(method), method, null); } React(entity, reagent, volume, source); }
protected abstract void React(IEntity entity, ReagentPrototype reagent, ReagentUnit volume, Components.Solution?source);