First game-event

- Game-event script added for the bunker generator. Just a test to
activate lights and try the idea out.
- Interaction raycasts locked to the use the the layer system's heights
for consistency with the rest of the game. Otherwise, some raycasts miss
objects.
- Lights now have the concept of being switched-on, rather than just
enabled or disabled. The distinction prevents lights being incorrectly
activated when transitioning floors.
- Lights also now supports flickering when switched-on. My first
dabbling with co-routines.
- Footsteps are instantiated at a height of 0.0f as the layer-system
handles their draw-ordering.
- OccludedMesh capsule raycasts updated. A secondary ray was cast past
the edge of the capsule to detect onward collisions. This ray was issued
some way past the capsule edge to avoid self-collisions, but that
distance was far to large, causing the code to miss intersections with
walls directly behind the capsule. The update scales the ray origin to
just past the capsule, but may still prove cack in certain circumstances
:o
- GeometryFactory now operates on Awake() rather than Start() to ensure
it's run on objects that are instantiated and immediately set to be
inactive. Required for object-pools such as footsteps.
- DimensionBodger box-collider heights updated. This should be wired
into the layer-manager rather than being hard-coded, but it is a bodge,
after all.
- LayerManager now uses Resources.FindObjectsOfTypeAll rather than
GameObject.FindObjectsOfType, to find disabled objects as well.
- Light.shader now uses Color alpha as well as RGB, to produce dimmer
lights.
- Various material and mesh updates of varying significance from meh to
fuck-all.