Skip to content

feat(player): split controller responsibilities and wire attack cadence#146

Merged
f1cklepickle merged 12 commits intomainfrom
refactor/143-split-player-controller
Mar 5, 2026
Merged

feat(player): split controller responsibilities and wire attack cadence#146
f1cklepickle merged 12 commits intomainfrom
refactor/143-split-player-controller

Conversation

@f1cklepickle
Copy link
Copy Markdown
Owner

Why

Player input/combat flow needed structural cleanup to keep PlayerController as an orchestrator and to ensure attack speed changes affect real attack cadence, not only animation feel.

What changed

  • Extracted repair and weapon-swap responsibilities out of PlayerController (#143)
  • Kept PlayerController focused on orchestration and input routing
  • Added authoritative attack cadence wiring using effective rate (baseAttackRate * weaponAttackSpeed) (#145)
  • Added animator transition safeguards so hitbox event windows execute reliably
  • Added EditMode + PlayMode regression tests for cadence contracts and real damage application
  • Updated TEST_LOG with refactor, regression notes, and new test coverage

How to test

  1. Open MainPrototype
  2. Press Play → verify:
    • PC mouse attack works and deals damage
    • Android/touch attack works and deals damage
    • Attack speed changes affect actual attack cadence
  3. Run tests:
    • EditMode
    • PlayMode

Checklist

  • Unit tests (EditMode) added or updated
  • PlayMode test or manual validation included
  • Demo scene updated (if player-visible) (N/A)
  • Prefab links, tags, and layers validated
  • README / Docs touched

Related

@f1cklepickle f1cklepickle added feature New feature or request tech-debt Cleanup, refactor, or restructuring of code/assets testing Work specifically related to adding or fixing test setups gameplay Anything affecting the core loop (combat, waves, health). apk Opt-in signal to generate an Android APK build for testing (CI artifacts). android Android-specific work such as builds, packaging, device testing, or platform setup. labels Mar 5, 2026
@f1cklepickle f1cklepickle merged commit 168de1b into main Mar 5, 2026
3 of 4 checks passed
@f1cklepickle f1cklepickle deleted the refactor/143-split-player-controller branch March 5, 2026 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

android Android-specific work such as builds, packaging, device testing, or platform setup. apk Opt-in signal to generate an Android APK build for testing (CI artifacts). feature New feature or request gameplay Anything affecting the core loop (combat, waves, health). tech-debt Cleanup, refactor, or restructuring of code/assets testing Work specifically related to adding or fixing test setups

Projects

None yet

1 participant