| 123456789101112131415161718192021222324252627 |
- namespace Day20;
- public abstract class Module
- {
- public string Name { get; }
- protected readonly List<Module> _outputs = new List<Module>();
- protected readonly List<Module> _inputs = new List<Module>();
- protected Module(string name)
- {
- Name = name;
- }
-
- public abstract string GetState();
- public abstract IEnumerable<Pulse> Process(Pulse p);
- public void AddOutput(Module destination)
- {
- _outputs.Add(destination);
- }
- public void AddInput(Module source)
- {
- _inputs.Add(source);
- }
- }
|