🎮 Game
Arcade survival shooter where players pick guns, perks, charms and gems, then fight waves, level up and chase quests, achievements and leaderboards solo or in co-op. The code is a full game stack, with a central Manager for spawning, events, music and time scale, a Player system with stats and modifiers, dozens of Perk/Item/Enemy components, and a large Razor UI for HUD, menus, shop and tooltips. Progress and settings save to JSON, and networking RPCs sync gameplay and UI across clients.
🐞 Possible Bugs
perks/CurseEnemySpawnTime.csGetSpeedIncreasePercentage uses 1f/amount while Refresh applies amount directly (0.2f * level), so at level 1 the UI shows 400% faster even though the modifier is 0.2x time, which is an incorrect display.
perks/PerkBulletForce.csGetValue’s non-percent branch adds base twice (1f + 1f + 2f*level), so Refresh applies 2 + 2*level as a Mult instead of the implied 1 + 2*level shown by the percent text.
ui/MinimapPanel.razorBuildHash uses Time.Now so the hash changes every frame, which disables UI caching and forces a rebuild every tick.