UnityTowerDefense/Assets/_Project/Scripts/Gameplay
Matt F 4892d7253d First pass at full refactor to 2.0 design
Restructures the game around the cyclical run loop from Game Design Doc V2:
5 waves = a cycle, 3 cycles = a phase, each phase ends in a boss.

- New TD.Gameplay.Waves: WaveGroup / PhaseDefinition / RunDefinition author the
  run as draggable weighted pools; RunState owns phase/cycle position, the drawn
  wave slots, and the per-slot enemy buff sets. WaveManager's flat wave array is
  gone -- it now only runs the encounter RunState points at.
- New TD.Gameplay.EnemyUpgrades: the post-wave enemy-buff vote, with public
  live-replicated ballots so the HUD can show who voted for what.
- Inter-wave flow is now strictly sequential: draft -> vote -> build, each stage
  ending early once every player has acted.
- Enemy abilities inverted from per-instance random rolls to deterministic,
  stacking per-wave-slot sets. Six cards ship: Split (reworked), Flight, Blink,
  No Bounty, Gold Theft, Double Up.
- Tower upgrades are a two-step tree: a draft pick unlocks a node, gold converts
  an already-placed tower in place.
- Boss encounters flag their enemies and drive a boss HP bar.
- Player cap reduced to 3 via MatchRules.MaxPlayers.
- GoldConfig is now keyed by global encounter number rather than wave index.

Compiles clean; NOT yet verified in-engine. Editor wiring still required --
see Docs/2.0_Setup_Checklist.md.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 17:45:11 -07:00
..
BuilderEffects new builder option per draft - first one is gold per kill 2026-07-07 22:55:35 -07:00
BuilderSpells slow area upgrade test 2026-07-25 23:22:11 -07:00
Draft First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
EnemyAbilities First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
EnemyUpgrades First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
Waves First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
Builder.cs Adding 9 Player level 2026-05-21 23:36:19 -07:00
Builder.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
BuilderEffects.meta new builder option per draft - first one is gold per kill 2026-07-07 22:55:35 -07:00
BuilderInputController.cs Add settings menu to control audio and return to main menu 2026-07-28 22:02:28 -07:00
BuilderInputController.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
BuilderSettings.cs Swapping cylinder for default human and adding animation states 2026-05-05 23:23:32 -07:00
BuilderSettings.cs.meta Swapping cylinder for default human and adding animation states 2026-05-05 23:23:32 -07:00
BuilderSpellCastController.cs Add settings menu to control audio and return to main menu 2026-07-28 22:02:28 -07:00
BuilderSpellCastController.cs.meta draft options working; spells won't cast though 2026-07-14 20:56:50 -07:00
BuilderSpells.meta draft options working; spells won't cast though 2026-07-14 20:56:50 -07:00
BuilderUpgradeManager.cs start of draft option upgrades 2026-07-22 00:00:05 -07:00
BuilderUpgradeManager.cs.meta new builder option per draft - first one is gold per kill 2026-07-07 22:55:35 -07:00
BuildJob.cs Adding a ton of funcitonality to the builder's movement and build queue 2026-05-05 22:01:40 -07:00
BuildJob.cs.meta Adding a ton of funcitonality to the builder's movement and build queue 2026-05-05 22:01:40 -07:00
BuildRangeIndicator.cs Adding tons of new functionality 2026-05-04 00:01:30 -07:00
BuildRangeIndicator.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
BuildSiteVisual.cs building falling from orbit sound 2026-07-06 23:56:45 -07:00
BuildSiteVisual.cs.meta Adding a ton of funcitonality to the builder's movement and build queue 2026-05-05 22:01:40 -07:00
CameraController.cs Add settings menu to control audio and return to main menu 2026-07-28 22:02:28 -07:00
CameraController.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
ChatService.cs Everything related to chat functionality, and updating the projectile prefab to rotate properly 2026-05-15 13:40:13 -07:00
ChatService.cs.meta Everything related to chat functionality, and updating the projectile prefab to rotate properly 2026-05-15 13:40:13 -07:00
Draft.meta Adding the bones of the drafting system by removing the wall and siege towers from the base set and adding them temporarily as choices for the draft. Also adding Project_Context and Project_Roadmap documents to use with Claude 2026-06-24 00:15:17 -07:00
EnemyAbilities.meta first pass at enemy upgrades 2026-07-28 20:59:43 -07:00
EnemyAbility.cs First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
EnemyAbility.cs.meta first pass at enemy upgrades 2026-07-28 20:59:43 -07:00
EnemyDefinition.cs Adding flying functionality for enemies 2026-06-23 22:27:35 -07:00
EnemyDefinition.cs.meta We've got enemies and movement!! 2026-05-12 22:18:23 -07:00
EnemyHealth.cs First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
EnemyHealth.cs.meta Adding major combat changes and features 2026-05-12 21:31:10 -07:00
EnemyMovement.cs First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
EnemyMovement.cs.meta We've got enemies and movement!! 2026-05-12 22:18:23 -07:00
EnemyStatus.cs We've got enemies and movement!! 2026-05-12 22:18:23 -07:00
EnemyStatus.cs.meta Adding major combat changes and features 2026-05-12 21:31:10 -07:00
EnemyUpgrades.meta First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
GoldConfig.cs First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
GoldConfig.cs.meta Updating HUD, Gold Config, and finishing off Play flow for 9player map. 2026-05-22 12:18:23 -07:00
ISelectable.cs Major updates to the HUD and selectable objects 2026-05-11 23:57:35 -07:00
ISelectable.cs.meta Major updates to the HUD and selectable objects 2026-05-11 23:57:35 -07:00
LevelLoader.cs Adding flying functionality for enemies 2026-06-23 22:27:35 -07:00
LevelLoader.cs.meta Major changes to editor tools, and adding new layer for buildable towers 2026-05-01 10:50:03 -07:00
LobbyService.cs Adding 9 Player level 2026-05-21 23:36:19 -07:00
LobbyService.cs.meta Comitting lobby code without testing. 2026-05-15 14:30:15 -07:00
MapRegistry.cs Updating HUD, Gold Config, and finishing off Play flow for 9player map. 2026-05-22 12:18:23 -07:00
MapRegistry.cs.meta Adding 9 Player level 2026-05-21 23:36:19 -07:00
MatchState.cs Adding Match State controller 2026-05-12 10:31:23 -07:00
MatchState.cs.meta Adding Match State controller 2026-05-12 10:31:23 -07:00
PathfindingService.cs Adding the feature to sell towers with VFX and audio included 2026-07-14 23:15:34 -07:00
PathfindingService.cs.meta We've got enemies and movement!! 2026-05-12 22:18:23 -07:00
PlayerBuilderSpawner.cs Updating HUD, Gold Config, and finishing off Play flow for 9player map. 2026-05-22 12:18:23 -07:00
PlayerBuilderSpawner.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
PlayerGoldManager.cs Add tower Sell action with refund + coin VFX/SFX 2026-07-14 20:05:06 -07:00
PlayerGoldManager.cs.meta More major updates to tools, added map area volume, made gold manager network managed per player. 2026-05-01 15:18:44 -07:00
PlayerMatchState.cs First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
PlayerMatchState.cs.meta Adding Match State controller 2026-05-12 10:31:23 -07:00
PlayerSpellLoadout.cs upgrades working; fix a small bug in which a base spell could be re-offered after picking an upgrade 2026-07-25 23:46:45 -07:00
PlayerSpellLoadout.cs.meta draft options working; spells won't cast though 2026-07-14 20:56:50 -07:00
PlayerTowerDeck.cs start of draft option upgrades 2026-07-22 00:00:05 -07:00
PlayerTowerDeck.cs.meta Adding new tower types and concept of tower deck 2026-06-23 21:55:12 -07:00
PlayerTowerUpgrades.cs First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
PlayerTowerUpgrades.cs.meta First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
RaceDefinition.cs Refactor: Remove TowerRegistry, replicate towers by TypeID 2026-06-25 11:21:43 -07:00
RaceDefinition.cs.meta Adding new Races, Main Menu -> Lobby flow, and what's needed to set up multiplayer testing. 2026-05-17 23:31:02 -07:00
RaceRegistry.cs Adding new Races, Main Menu -> Lobby flow, and what's needed to set up multiplayer testing. 2026-05-17 23:31:02 -07:00
RaceRegistry.cs.meta Adding new Races, Main Menu -> Lobby flow, and what's needed to set up multiplayer testing. 2026-05-17 23:31:02 -07:00
SelectionState.cs Major updates to the HUD and selectable objects 2026-05-11 23:57:35 -07:00
SelectionState.cs.meta Adding a ton of funcitonality to the builder's movement and build queue 2026-05-05 22:01:40 -07:00
SelectionVisualizer.cs Paint towers with some the colors of the wind 2026-06-03 00:00:14 -07:00
SelectionVisualizer.cs.meta Major updates to the HUD and selectable objects 2026-05-11 23:57:35 -07:00
SpellHotkeys.cs draft options working; spells won't cast though 2026-07-14 20:56:50 -07:00
SpellHotkeys.cs.meta draft options working; spells won't cast though 2026-07-14 20:56:50 -07:00
SpellSlot.cs draft options working; spells won't cast though 2026-07-14 20:56:50 -07:00
SpellSlot.cs.meta draft options working; spells won't cast though 2026-07-14 20:56:50 -07:00
TowerInstance.cs First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
TowerInstance.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
TowerPaintController.cs Add settings menu to control audio and return to main menu 2026-07-28 22:02:28 -07:00
TowerPaintController.cs.meta Paint towers with some the colors of the wind 2026-06-03 00:00:14 -07:00
TowerPlacementController.cs change activeDef to activeTowerDefinition so dummies like me can read the code 2026-06-02 22:25:44 -07:00
TowerPlacementController.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
TowerPlacementManager.cs Fix sell hitch: batch footprint un-stamp; warn on missing SellEffectSpawner 2026-07-14 20:44:11 -07:00
TowerPlacementManager.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
TowerPlacementSettings.cs Adding new tower types and concept of tower deck 2026-06-23 21:55:12 -07:00
TowerPlacementSettings.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
TowerPlacementTestTrigger.cs Adding tons of new functionality 2026-05-04 00:01:30 -07:00
TowerPlacementTestTrigger.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
WaveDefinition.cs First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
WaveDefinition.cs.meta We've got enemies and movement!! 2026-05-12 22:18:23 -07:00
WaveManager.cs First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
WaveManager.cs.meta We've got enemies and movement!! 2026-05-12 22:18:23 -07:00
Waves.meta First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00