October 26, 2025
Goals¶
- Get the emitter and revolver to work
What I Worked On¶
- Revolver works again
- Splitter works again
- All the code related to Signal Destruction is now in
Signal.cs - All the trigger events are now in respective base classes instead of
PuzzleComponent.cs
Roadblocks / Notes¶
- Still need to get receiver to work and level winning
- Today I will just get the emitter/revolver to work so i can remove signal spawning from the
PuzzleComponent.cs - Still need to refactor the powered component setup and figure out how that works. Maybe will look at it later today just on paper.
OnSignalReceive is actually a good implementation.
- Not every component receives a signal!
- Not every component is powered!
- Not every component has button events!
So why should all the code be shared between these components???
So the plan should be to move all the trigger code to it's own component
protected virtual void OnTriggerEnter(Collider collision)
{
signalCollider = collision;
if (collision.gameObject.CompareTag("Signal")) OnSignalReceive(collision.gameObject);
}
protected virtual void OnTriggerExit(Collider other)
{
if (other.CompareTag("Signal"))
ignoringSignal = false;
}
Portal, Receiver, Revolver, Splitter
Problem is some components may want to override this behaviour?
Composition is complicated for this because each component may want to modify how the trigger events are processed (obviously )
Level 5,1 is good for testing splitter
When I come back from lunch
Extract out these InstantiateSignalFromCollider methods
Explore these 'ignoring' things
Moving signal should be inside of signal class?
Options 1. Disable collisions
Next Session Goals¶
- Fix all the errors (woopsies!)
- Overhaul the powering system
- Overhaul the button systems
- Sleep on this!?
- Move level index easily