{"kind":0,"v":{"version":3,"creationDate":1774364013331,"initialLocation":"panel","responderUsername":"GitHub Copilot","sessionId":"6f526eae-b27b-49cd-9817-e72d6480f23f","hasPendingEdits":false,"requests":[{"requestId":"request_621f2364-f555-48e8-b3e6-ba6b95e5d0e1","timestamp":1774364017720,"agent":{"extensionId":{"value":"GitHub.copilot-chat","_lower":"github.copilot-chat"},"extensionVersion":"0.37.9","publisherDisplayName":"GitHub","extensionPublisherId":"GitHub","extensionDisplayName":"GitHub Copilot Chat","id":"github.copilot.editsAgent","description":"Edit files in your workspace in agent mode","when":"config.chat.agent.enabled","metadata":{"themeIcon":{"id":"tools"},"hasFollowups":false,"supportIssueReporting":false},"name":"agent","fullName":"GitHub Copilot","isDefault":true,"locations":["panel"],"modes":["agent"],"slashCommands":[],"disambiguation":[]},"modelId":"copilot/gpt-5.3-codex","responseId":"response_015041f5-9ef5-48fd-9af2-8fb9f36e5b4a","modelState":{"value":0},"contentReferences":[],"codeCitations":[],"timeSpentWaiting":1774364017720,"response":[{"kind":"mcpServersStarting","didStartServerIds":[]}],"message":{"text":"validate the codebase, documentation, and organisation of this project. be sure to familiarise yourself with the codebase first.","parts":[{"range":{"start":0,"endExclusive":128},"editorRange":{"startLineNumber":1,"startColumn":1,"endLineNumber":1,"endColumn":129},"text":"validate the codebase, documentation, and organisation of this project. be sure to familiarise yourself with the codebase first.","kind":"text"}]},"variableData":{"variables":[{"id":"vscode.prompt.instructions.root__file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","name":"prompt:AGENTS.md","value":{"$mid":1,"external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"kind":"promptFile","modelDescription":"Prompt instructions file","isRoot":true,"automaticallyAdded":true}]}}],"pendingRequests":[],"inputState":{"attachments":[],"mode":{"id":"agent","kind":"agent"},"selectedModel":{"identifier":"copilot/gpt-5.3-codex","metadata":{"extension":{"value":"GitHub.copilot-chat","_lower":"github.copilot-chat"},"id":"gpt-5.3-codex","vendor":"copilot","name":"GPT-5.3-Codex","family":"gpt-5.3-codex","tooltip":"OpenAI Codex model specialized for code generation, debugging, and software development tasks. Rate is counted at 1x.","version":"gpt-5.3-codex","multiplier":"1x","maxInputTokens":271805,"maxOutputTokens":128000,"auth":{"providerLabel":"GitHub Copilot Chat","accountLabel":"Breadway"},"isDefaultForLocation":{"panel":false,"terminal":false,"notebook":false,"editor":false},"isUserSelectable":true,"modelPickerCategory":{"label":"Premium Models","order":1},"capabilities":{"vision":true,"toolCalling":true,"agentMode":true}}},"inputText":"","selections":[{"startLineNumber":1,"startColumn":1,"endLineNumber":1,"endColumn":1,"selectionStartLineNumber":1,"selectionStartColumn":1,"positionLineNumber":1,"positionColumn":1}],"contrib":{"chatDynamicVariableModel":[]}}}}
{"kind":1,"k":["customTitle"],"v":"Codebase and Documentation Validation Request"}
{"kind":1,"k":["requests",0,"contentReferences"],"v":[{"kind":"reference","reference":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"}}]}
{"kind":2,"k":["requests",0,"response"],"v":[{"kind":"thinking","value":[],"id":"3/R8WeLSTPMOUkPD8jU2wuod3FFFF9dwCz/gfRAvvTOPEx6arcK1jSWLw++L7uD3PGOgqZ9XZB481UUHi/P9zF4++kLPdA0fbiSs4/dOenDB0gRYxtwHuds87zBMSGjogE6UrCOSgobqG8f+IsdeZKouyV4iJ/lkvEoSQ1RrNBqXZVAKrUhcp+kBA9EjsOy6waVrtOnoOzCLyrpRWiLVfVWaEgjDqzmcLqha6qAnEMIdC+8ps3lIbNaulC+o63i3RFnNJOotibrpIVR03aszOY/zOfOcgscbwMgErukIDJFhEJFAE9l7XCs2AD5bqJEt0m+mFd0r2AOOqmmIym2K4Dx1tBV+ni/7IOqRk0d8JbU6geWngzx2H8sDndV7x+bUr9nE3yze72PyFNfkaU0VQKryzQp8+w=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"text"}},{"value":"I’ll review the project in three passes: architecture/code health, documentation consistency, and folder/org structure, then I’ll give you a concrete validation report with risks and prioritized fixes. First I’m mapping the code and key docs so the assessment is grounded in the actual repo state.","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"toolInvocationSerialized","invocationMessage":"","pastTenseMessage":{"value":"Created 5 todos","isTrusted":false,"supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolSpecificData":{"kind":"todoList","todoList":[{"id":"1","title":"Inventory scripts and project structure","status":"in-progress"},{"id":"2","title":"Assess code architecture patterns","status":"not-started"},{"id":"3","title":"Review docs for accuracy","status":"not-started"},{"id":"4","title":"Validate build/test readiness","status":"not-started"},{"id":"5","title":"Summarize findings and actions","status":"not-started"}]},"toolCallId":"837afd81-8d4a-43ff-97e4-d3685c823d1a","toolId":"manage_todo_list"},{"kind":"thinking","value":[],"id":"7fXwXSdFKw2tMakyRdhH8aHHKSC/G9+8tG4PbVBwr1TZevdMPg+kTW799d9W14qlh5NsbZAUpsECPJaIrg3ONABwdvbLPumb2NEFCO7L5HxHGQ32gE8o2+NAWNyfqLTdCzCs2ywKBDSQ5mcOFWh6tXkKgpeeNQplbHTMkHmWFd2sIzsgcH21EcQ1hj0otYzpwEK8Y/kkUa0FpywZ0hK1IvsrDVy+j5y9uvEyckKynkFBVJOBABucdFNlF2lgNv+G4wTuM6u1KqXIjjb4u3N+RHWplsN7aFGXzzgjZdPChZbagj+Go9sz4OpqnJmTgrIEOjeKM/YnszY1v1HLcgKfmHwmTiKJNC8Xbba6WfZ2I0ywFcRUISGtSLveiu2bt3cfahYY/F6MTRhIZk8XiEhP6Fv+t5yqJw=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"text"}},{"value":"I’m now collecting a quick inventory of scripts, managers, events, and top-level docs so I can compare implementation against the architecture guidelines.","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"2a1c5f16-4271-41d4-b00b-f82b54dac537","toolId":"copilot_listDirectory","generatedTitle":"Reviewed files and searched for specific patterns"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for files matching `**/Assets/_Project/Scripts/**/*.cs`","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for files matching `**/Assets/_Project/Scripts/**/*.cs`, 52 matches","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/Attack%20Types/FlamethrowerAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerControls.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerControls.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerControls.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerMovement.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerMovement.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerMovement.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAttack.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Utilities/DebugDude.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Utilities/DebugDude.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Utilities/DebugDude.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Utilities/UpgradeDebug.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Utilities/UpgradeDebug.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Utilities/UpgradeDebug.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Utilities/PerformanceUtils.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Utilities/PerformanceUtils.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Utilities/PerformanceUtils.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DebugManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/DebugManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DebugManager.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/AudioManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/AudioManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/AudioManager.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/RoomManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/RoomManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/RoomManager.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IWeaponAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/IWeaponAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IWeaponAttack.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Enemy.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Enemy.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Enemy.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IMovementModifiable.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/IMovementModifiable.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IMovementModifiable.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IDebugFunction.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/IDebugFunction.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IDebugFunction.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IDamageable.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/IDamageable.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IDamageable.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/Health.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/Health.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/Health.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/Destructible.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/Destructible.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/Destructible.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/StatusResistanceData.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/StatusResistanceData.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/StatusResistanceData.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/StatusEffectData.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/StatusEffectData.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/StatusEffectData.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Attack/ContactDamage.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Attack/ContactDamage.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Attack/ContactDamage.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/UpgradeData.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/UpgradeData.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/UpgradeData.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/PlayerStats.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/PlayerStats.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/PlayerStats.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/EnemyData.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/EnemyData.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/EnemyData.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/WeaponData.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/WeaponData.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/WeaponData.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/ActiveStatusEffect.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/ActiveStatusEffect.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/ActiveStatusEffect.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/IMovementBehavior.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/IMovementBehavior.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/IMovementBehavior.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectVFX.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectVFX.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectVFX.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/IAttackBehaviour.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/IAttackBehaviour.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/IAttackBehaviour.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","scheme":"file"}],"toolCallId":"b643a24d-4794-424e-9ecd-77174ec1e88c","toolId":"copilot_findFiles","generatedTitle":"Reviewed files and searched for specific patterns"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for files matching `**/*.md`","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for files matching `**/*.md`, 7 matches","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/LORE.md","external":"file:///home/breadway/Documents/Hazard%20Pay/LORE.md","path":"/home/breadway/Documents/Hazard Pay/LORE.md","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/PERFORMANCE.md","external":"file:///home/breadway/Documents/Hazard%20Pay/PERFORMANCE.md","path":"/home/breadway/Documents/Hazard Pay/PERFORMANCE.md","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/GEMINI.md","external":"file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md","path":"/home/breadway/Documents/Hazard Pay/GEMINI.md","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/GAMEDESIGN.md","external":"file:///home/breadway/Documents/Hazard%20Pay/GAMEDESIGN.md","path":"/home/breadway/Documents/Hazard Pay/GAMEDESIGN.md","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DEBUG_SYSTEM_README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/DEBUG_SYSTEM_README.md","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DEBUG_SYSTEM_README.md","scheme":"file"}],"toolCallId":"31fa71f9-bd95-447a-92b8-43aeadffb1cd","toolId":"copilot_findFiles","generatedTitle":"Reviewed files and searched for specific patterns"},{"kind":"thinking","value":[],"id":"XOqPsO94ZIZRZKSyMh4xCN/yRbaWZiK4/2A7mqrBIePwb2DHToi+nuDLbnizQx9cd9hENX6pu0Hw+trNuVkB+VH6WoIDV499XTktjS1cnOaUCMIGXt8c1tXlwjBrm4V7iDA7vnzwl8MisMuHmhXBLWCkMNh/VvogW37FwHmfS/FQSNEvqVsG8+doR9KdjzcvLmmM2NuRMmNGHl0NafkjdoEouRY1LqH3rzOswVaQ0dovaYq+bt/A9s/yB/xFu5/dxVBkUDJ9vUzgB8gG57YY3Q9RikuyAwcOwWjKJwERp6cMSKDolsVQUiJWJY+Lr1JcQCGBfEvCdWPuMg1Vv6RvKAbe9T/QTzn0qNZrrAGyiAbYlD45dx/o8I+aO1ePbmalHYrcHyjinoOjxJ7a6kIthg5pd+p7kw=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"text"}},{"value":"I’ve mapped the repo and found 52 C# scripts plus 7 markdown docs; next I’m reading core architecture docs and representative systems to validate whether code matches the documented patterns.","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/README.md#1-1), lines 1 to 260","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/README.md#1-1":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file","fragment":"1-1"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/README.md#1-1), lines 1 to 260","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/README.md#1-1":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file","fragment":"1-1"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"44755f5d-8946-406d-9dff-a90120b6d849","toolId":"copilot_readFile","generatedTitle":"Reviewed 3 files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/GEMINI.md","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/GEMINI.md","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"d54eab64-2ef3-46f7-8b31-8588c1436f92","toolId":"copilot_readFile","generatedTitle":"Reviewed 3 files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/PERFORMANCE.md#1-1), lines 1 to 260","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/PERFORMANCE.md#1-1":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/PERFORMANCE.md","scheme":"file","fragment":"1-1"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/PERFORMANCE.md#1-1), lines 1 to 260","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/PERFORMANCE.md#1-1":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/PERFORMANCE.md","scheme":"file","fragment":"1-1"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"1d2407e8-9386-4b30-8dfb-38db6ac28222","toolId":"copilot_readFile","generatedTitle":"Reviewed 3 files"},{"kind":"thinking","value":[],"id":"MZlAfz4v+tVuKZCIU3Q4cnouViH94kHrzk1Tq5ySi0yIm6XUmTI7J5q3RUw1gI+8sBShQ7yl4X+S91LgZcj+jwtF9+sbqIbMIy0Sk7ablU9Qtu/nKyxMrQW8G3FthwGNu0vw7Cq7MuhQ8/ihmXaZMgbizjEyCHHE3yN6lUBjAZ0CKTZ/fcZ2MYDnjd6C3A73M1mqAQVCHep6ZaraPQJ8pnTu29BlKHsBEwW0prUNNGk04Pjs43PsAMPm+kA8ujJwDmyJxIlHeAV2MA0/eQ6EKEgHknwDPai0dauDjn91HlMas+E1QQTXRF3Sb2aGtUrBKbdxJTt7auZoNA7O7rJJ4+pVKw7NXkO12rbNJgli/2xmqipR0e5OFJk1a04fFr6m9K9tb1OMKsmaZq0cE5DjSpqzciP+5Q=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"text"}},{"value":"Next I’m sampling core runtime scripts (player, enemy, events, managers, shared systems) to verify architecture claims like single-responsibility components, event lifecycle safety, and ScriptableObject usage.","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"7d51fa0e-5d58-4dbb-bb06-636b7e446435","toolId":"copilot_readFile","generatedTitle":"Reviewed 6 files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerMovement.cs#1-1), lines 1 to 260","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerMovement.cs#1-1":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerMovement.cs","scheme":"file","fragment":"1-1"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerMovement.cs#1-1), lines 1 to 260","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerMovement.cs#1-1":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerMovement.cs","scheme":"file","fragment":"1-1"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"e05c58e8-5278-414f-b1e8-3ecdc2c2aa85","toolId":"copilot_readFile","generatedTitle":"Reviewed 6 files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAttack.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAttack.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAttack.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAttack.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAttack.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAttack.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"1f8ab366-ea16-4e96-993b-3c634751dc8a","toolId":"copilot_readFile","generatedTitle":"Reviewed 6 files"},{"kind":"thinking","value":[],"id":"1jRs9pqb6L9F/1W1DQhz9eXvOELHle5+v/tcqhgQ2eksGiWqiGmO50hVodL3zIIBAeM76dwtEuO+sVcweA699GNBVnDFHpNFuB4eMgS1u69dD7AZ/C3Qxskxukk+o/ARq7BcKNL4gBdZm1+A2K46lXTw+xV7ym3i3RcPXlELq/AlNS6iSueEI+8dsMlGG1iWXTo3URIIIASV48ZXrd9gb+Eo4TB85MjZYmhuOerttiCifwSCUUDybIPg/frMkcLRhVvC+6iGAavKD+3ziUvtljizSZtERqFY7w/mNXDZ0VLgGAUQQEfR7jHo/pG1Qk2MBoZOD+sWghs6IWnSVmXqGQcqgodw/QYowFYV92d4CKXC/5Hu50Lz7ljqTJiUkoAnXz87p3UTSqsVejcMUdgaBc7wWXv/ew=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs#1-1), lines 1 to 340","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs#1-1":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file","fragment":"1-1"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs#1-1), lines 1 to 340","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs#1-1":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file","fragment":"1-1"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"72a4b9c3-18c6-4dc3-b8d2-714995c16987","toolId":"copilot_readFile","generatedTitle":"Reviewed 6 files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"bb2edfb0-7941-4fde-866a-6112951be7e7","toolId":"copilot_readFile","generatedTitle":"Reviewed 6 files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/RoomManager.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/RoomManager.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/RoomManager.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/RoomManager.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/RoomManager.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/RoomManager.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"bede9832-1158-4bd1-8fa4-8e20223bfe57","toolId":"copilot_readFile","generatedTitle":"Reviewed 6 files"},{"kind":"thinking","value":[],"id":"zQ0WOubffs/WnxPH5Gwr7bt6+GtUyWuAKcrFI4SC4+uvhiz5BAWg4QT/R72Y1T1OdAlCT6HusAh7GG5phlTh4VHSbrQvTV6EdrMf8xttXg07brRz2bTfmqdC1sfG3pAGdqorSLUpjdo+oTI/IANQHIBiwen2Qey8X+v5xK9auk7KtrXItsztSi0ojV18FDgbZiVUTNoiJw2iiWzcQ++N9vgjPRXKfwNnuMDHXJ5ry9LndYZ4/cdvi1UU9qXYXAEl4wSR3jTbHudkJMfVES1AR0x3zBkrWh23jnwjfDWTWJV99ju5pTldMVFiScL4brYsBovGSiS+Huu4kmbfK/PsRISycCDmJ0S+oQ7obo4Yn1CFOzifZoLQPyh2CQb5zmq5/hpUY2YX9d/VJPV8d0dT+wsWUhyKtA=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs#341-341), lines 341 to 593","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs#341-341":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file","fragment":"341-341"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs#341-341), lines 341 to 593","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs#341-341":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file","fragment":"341-341"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"8df77829-15d5-44b8-8a38-30582ca1e678","toolId":"copilot_readFile","generatedTitle":"Reviewed 6 files"},{"kind":"thinking","value":[],"id":"z+7WtIb6VL8yNkSJpYdbXsF4ljcxww6EFnJ7u6/M1pH74Bjrly1hnNJXnYfK8qrN2Cwa+xU1lIV/0G3Q+nEyAzJS5B5SMZlQrFOQ+Bad+yG7Djsi4xevmkwoljZERoD2bNCNydEoQWMzClirZnjPTtr8iBl+Pk3pEC1WdtTE+lUHl978P9nZPTDADgZL3zVfgG9VukncLyrCJHuEvUMnG4JW2WpP8Si5UHVjUh66NL1TqXPu2b9sCyoVBmlQ/qOL/VBjkgai6sooCPFfMogKz6RgxI93topvUWHTw9qDIsdWAdJY4ZPuv9FphjrjDns94hXvvn0ssvz/zk3E0jOjHrq9eKZ/aEGXXLhtQvWavKjv6gYU2dZbkJfL1dn/EtFzmhb4z2NOUahN62aHainpNBaQayZOug=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"text"}},{"value":"I’m seeing a mixed maturity level already (solid event hub, but at least one placeholder manager), so I’m now checking enemy/shared/data/UI scripts for consistency and any compile-risk patterns.","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Enemy.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Enemy.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Enemy.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Enemy.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Enemy.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Enemy.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"d781bc20-95d3-425f-b72d-2f89dc0fa434","toolId":"copilot_readFile"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/Health.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/Health.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/Health.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/Health.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/Health.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/Health.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"967e48f3-0160-43c2-8f61-a3f6da05aea2","toolId":"copilot_readFile"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs#1-1), lines 1 to 320","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs#1-1":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","scheme":"file","fragment":"1-1"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs#1-1), lines 1 to 320","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs#1-1":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","scheme":"file","fragment":"1-1"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"e4679935-f7f2-4e4e-b59f-2cecf6a939a9","toolId":"copilot_readFile"}]}
{"kind":2,"k":["requests",0,"response"],"v":[{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Enemy.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Enemy.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Enemy.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Enemy.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Enemy.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Enemy.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"d781bc20-95d3-425f-b72d-2f89dc0fa434","toolId":"copilot_readFile","generatedTitle":"Reviewed 4 files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/Health.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/Health.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/Health.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/Health.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/Health.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/Health.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"967e48f3-0160-43c2-8f61-a3f6da05aea2","toolId":"copilot_readFile","generatedTitle":"Reviewed 4 files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs#1-1), lines 1 to 320","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs#1-1":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","scheme":"file","fragment":"1-1"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs#1-1), lines 1 to 320","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs#1-1":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","scheme":"file","fragment":"1-1"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"e4679935-f7f2-4e4e-b59f-2cecf6a939a9","toolId":"copilot_readFile","generatedTitle":"Reviewed 4 files"},{"kind":"thinking","value":[],"id":"/UfMWBE17ULQNmPUIDBHj1TIlgiSfU8XcEugbP7MQE1Q2mhYRtnqE1U57cvqTDHlwoQJxQk1mCVaefyeXMAlqMm8BxNpF/ch0MNw1iNBdoYO86We1g7P1H4HT/CkuaXfewUVEQMs+dUO+nHiKEgh2t4Bv17VhC7W7jfIABHkLo969Qm4+iAqPPOuhRy7RMmYQntXqPz4fMIgWkbV+3zB95ZW39ymfmp0UgaS/7D1gO4Eht49W/aNLwAyTt7p8Kj+xTR9CBUvZRMt5lheMYZkk6sJz+25UFd7o//BIXBOAdFf+lz7C7Pduk6qts/5gnHzILcxewruu7fzj4BmX819TjKaRze/dR+G6odULE0EZj5b6K1Tarfo/OBtN44bbwN6iDXa4du+DsIburvl8sK15CYa+u0eDA=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs#321-321), lines 321 to 347","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs#321-321":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","scheme":"file","fragment":"321-321"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs#321-321), lines 321 to 347","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs#321-321":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","scheme":"file","fragment":"321-321"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"431940ac-a1c8-4dc5-92f4-8e87a6e7abc2","toolId":"copilot_readFile","generatedTitle":"Reviewed 4 files"},{"kind":"thinking","value":[],"id":"t21ysv4qMR5+vszBRhTw8+CqiZehK188I/sv99VMvcVatlzf9Zyj1z42HWoD3lMyUrFSwFrMsJfYpVST7f4qSoZaQau9o0sCFiI1EGPHhjF4Derdn0NEMiBPEeR6ldFCrUoy8HtVzC+Sy7yDrhaCP2hWbh+x50JTyhS60TaISLHxwSRe8iuRozgu0KQgWCvgDaF1oFPPaFnpxyL6zdXlZQb9PtoGvPrrqDX/5JQQ+fN1Gsw7WY4z5dbF8nyD/U82HPJpzXnq/951PuuFT4LFTLKOXFhSR8B5HF/eC7mbqLW6KTTD7XaFUeRzxsoLqK9WuG21dhynjbQXV2D+6cm+LJKEg94TQu2cLsOp5yslSyaJqpiuRf28/Yv/ndmS4mxCSCaNsXlHh4iJ+apbxxmd8aVske69kQ=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scenes)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scenes":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scenes","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scenes)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scenes":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scenes","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"16824fa1-b4b2-427c-9dea-bd4ef6ef51ac","toolId":"copilot_listDirectory","generatedTitle":"Reviewed 4 files"},{"kind":"thinking","value":[],"id":"E60mTkWZwvaMZrnSUf+kZN4tWjXu+yLdGYvnzYefA3otl2uEkp0HEnsa7Vgz9Q3SB49LJtW69IWUP5RNaZtg2ywIB4WtbUvvYKFiYVxDvShEfGZr+r0PZTh42O8rcpSPJVc+6pcsD8PeRs1sOgLm/E6OnWIwRaWBStLgl0jHIL1PXY3ta+vZPpPSjvNXSqZQPOqUO5qz5pfWTuFXhPkA939Rwv/UN/Uv70BWuU9Xyg8CPtAPQpuLbfl9OZwRB5PPWDWDhbHGH1gYySJZXbvYCJlquOy4iWXdl0ddxmoGOf2RGf5v0tAXTXywLaGtFo2u5+25Vf8LQji/UDn4IO2u2YQVKwnvmfWB4fFvnb3zuT+4YWilPsLXNpEIoJBdAnVsLGNx9unhXx7QnDG9n4cCLqTLk4wE6A=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"text"}},{"value":"Quick status: the codebase is real and active, but docs appear partially stale against current assets (for example scene naming differs from README/GEMINI). I’m now doing targeted checks for event subscription hygiene, singleton/manager quality, and configuration/data consistency across all scripts.","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"thinking","value":[],"id":"JV59o13I4vg3q1bJgqHr654995h2jLjmYjkDyVSmGwkIXb+DyhDRHwxrka4rk/korfdutV/xYpVv1oxLlZ1aNojXeLhF8XXCGRF4o4WzkgZf/R2K5XCKnldqbfVbtNZ0Uds2bRqdXywJASV3ra/1RjqaKb2okWhSGA+9Uz51gqyFBrSk2bCWk2ulsPwlXsOfw33EBnYs5bqLtO8RAoSyKB3yQMO2Q6N3nMZ8YVqVob4KzY8hfn5ypdg4vHlPLVDQIBJpI7u8Xuyz29JpRCUnMD43sSUR+Pe906cTF/X/JhcYKb/nq1oeVErPOdhMUfSVNYzyzrDhCupsJLXI72XwWqBtzet6zODXG7pNeLZNH4B7eemtydmh9XVwC9Z41tYnc8JW1w+p0frvpd/oSUBdnXPGSd/oDA=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"text"}},{"value":"I’m running static pattern checks across the scripts to catch lifecycle issues (subscriptions without unsubscriptions), singleton overreach, and hardcoded config that should be data-driven.","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `GameEvents\\.[A-Za-z0-9_]+\\s*\\+=` (`**/Assets/_Project/Scripts/**/*.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `GameEvents\\.[A-Za-z0-9_]+\\s*\\+=` (`**/Assets/_Project/Scripts/**/*.cs`), 23 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":{"startLineNumber":19,"startColumn":9,"endLineNumber":19,"endColumn":35}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":{"startLineNumber":20,"startColumn":9,"endLineNumber":20,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":{"startLineNumber":21,"startColumn":9,"endLineNumber":21,"endColumn":32}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":{"startLineNumber":22,"startColumn":9,"endLineNumber":22,"endColumn":34}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","scheme":"file"},"range":{"startLineNumber":76,"startColumn":9,"endLineNumber":76,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","scheme":"file"},"range":{"startLineNumber":22,"startColumn":9,"endLineNumber":22,"endColumn":33}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","scheme":"file"},"range":{"startLineNumber":11,"startColumn":9,"endLineNumber":11,"endColumn":38}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","scheme":"file"},"range":{"startLineNumber":9,"startColumn":9,"endLineNumber":9,"endColumn":32}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","scheme":"file"},"range":{"startLineNumber":11,"startColumn":9,"endLineNumber":11,"endColumn":34}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"},"range":{"startLineNumber":63,"startColumn":9,"endLineNumber":63,"endColumn":32}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":71,"startColumn":9,"endLineNumber":71,"endColumn":38}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":72,"startColumn":9,"endLineNumber":72,"endColumn":34}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":73,"startColumn":9,"endLineNumber":73,"endColumn":32}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":74,"startColumn":9,"endLineNumber":74,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":75,"startColumn":9,"endLineNumber":75,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":76,"startColumn":9,"endLineNumber":76,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":{"startLineNumber":70,"startColumn":9,"endLineNumber":70,"endColumn":44}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":{"startLineNumber":71,"startColumn":9,"endLineNumber":71,"endColumn":50}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/Attack%20Types/FlamethrowerAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","scheme":"file"},"range":{"startLineNumber":198,"startColumn":9,"endLineNumber":198,"endColumn":37}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/Attack%20Types/FlamethrowerAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","scheme":"file"},"range":{"startLineNumber":199,"startColumn":9,"endLineNumber":199,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},"range":{"startLineNumber":16,"startColumn":9,"endLineNumber":16,"endColumn":33}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},"range":{"startLineNumber":17,"startColumn":9,"endLineNumber":17,"endColumn":35}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"},"range":{"startLineNumber":33,"startColumn":9,"endLineNumber":33,"endColumn":36}}],"toolCallId":"b1a1ea14-e831-406f-9ea5-1f54859d84c1","toolId":"copilot_findTextInFiles"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `GameEvents\\.[A-Za-z0-9_]+\\s*-=` (`**/Assets/_Project/Scripts/**/*.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `GameEvents\\.[A-Za-z0-9_]+\\s*-=` (`**/Assets/_Project/Scripts/**/*.cs`), 23 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","scheme":"file"},"range":{"startLineNumber":15,"startColumn":9,"endLineNumber":15,"endColumn":34}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","scheme":"file"},"range":{"startLineNumber":13,"startColumn":9,"endLineNumber":13,"endColumn":32}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":82,"startColumn":9,"endLineNumber":82,"endColumn":38}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":83,"startColumn":9,"endLineNumber":83,"endColumn":34}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":84,"startColumn":9,"endLineNumber":84,"endColumn":32}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":85,"startColumn":9,"endLineNumber":85,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":86,"startColumn":9,"endLineNumber":86,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":87,"startColumn":9,"endLineNumber":87,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","scheme":"file"},"range":{"startLineNumber":15,"startColumn":9,"endLineNumber":15,"endColumn":38}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","scheme":"file"},"range":{"startLineNumber":34,"startColumn":9,"endLineNumber":34,"endColumn":33}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","scheme":"file"},"range":{"startLineNumber":82,"startColumn":9,"endLineNumber":82,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},"range":{"startLineNumber":21,"startColumn":9,"endLineNumber":21,"endColumn":33}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},"range":{"startLineNumber":22,"startColumn":9,"endLineNumber":22,"endColumn":35}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"},"range":{"startLineNumber":72,"startColumn":9,"endLineNumber":72,"endColumn":32}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"},"range":{"startLineNumber":38,"startColumn":9,"endLineNumber":38,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":{"startLineNumber":27,"startColumn":9,"endLineNumber":27,"endColumn":35}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":{"startLineNumber":28,"startColumn":9,"endLineNumber":28,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":{"startLineNumber":29,"startColumn":9,"endLineNumber":29,"endColumn":32}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":{"startLineNumber":30,"startColumn":9,"endLineNumber":30,"endColumn":34}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":{"startLineNumber":76,"startColumn":9,"endLineNumber":76,"endColumn":44}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":{"startLineNumber":77,"startColumn":9,"endLineNumber":77,"endColumn":50}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/Attack%20Types/FlamethrowerAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","scheme":"file"},"range":{"startLineNumber":204,"startColumn":9,"endLineNumber":204,"endColumn":37}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/Attack%20Types/FlamethrowerAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","scheme":"file"},"range":{"startLineNumber":205,"startColumn":9,"endLineNumber":205,"endColumn":36}}],"toolCallId":"1121ab02-9e27-490d-b2bd-cb16bb5828bd","toolId":"copilot_findTextInFiles"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `FindObjectOfType|FindFirstObjectByType|FindAnyObjectByType` (`**/Assets/_Project/Scripts/**/*.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `FindObjectOfType|FindFirstObjectByType|FindAnyObjectByType` (`**/Assets/_Project/Scripts/**/*.cs`), 8 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"range":{"startLineNumber":343,"startColumn":23,"endLineNumber":343,"endColumn":44}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"range":{"startLineNumber":401,"startColumn":25,"endLineNumber":401,"endColumn":46}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"range":{"startLineNumber":523,"startColumn":23,"endLineNumber":523,"endColumn":44}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","scheme":"file"},"range":{"startLineNumber":59,"startColumn":36,"endLineNumber":59,"endColumn":57}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","scheme":"file"},"range":{"startLineNumber":48,"startColumn":45,"endLineNumber":48,"endColumn":66}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"},"range":{"startLineNumber":28,"startColumn":24,"endLineNumber":28,"endColumn":45}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","scheme":"file"},"range":{"startLineNumber":91,"startColumn":25,"endLineNumber":91,"endColumn":46}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","scheme":"file"},"range":{"startLineNumber":47,"startColumn":45,"endLineNumber":47,"endColumn":66}}],"toolCallId":"8ac64558-b816-4ac6-a780-834530c34dcb","toolId":"copilot_findTextInFiles"},{"kind":"thinking","value":[],"id":"wWUWKNV7AcWjHqgJdF8KRNGI6WJKTbIasykee1rPlktkfTVryYJ5B7jQKXwQtrCxrFoyYhoIUB6lHjeb+QddL3VnVtbFtJjNnPw3UyM8gQjGS2A09yK6vyR31Eh7y738lYguFigCPe8NYQCse3Catek3eJiQDHMZGcFIRXYIv9XXL4FdZU33NnaGHdprsxmyHLOEtYHAIxc5SLU+D9mByC7mzZT6jR9pbN/qla0uheQDLfdgi/fZeiJAxjeh7HhPxPdEzON+cqdyT4BVy4e66u8ERmY3KOAIoZWVOnfnNh883eG3s5I/keD/Yo9zhq4XBBp3BScBxLKu9aE5pPcNmybs2oi6APW+IjbxJHBhiq61f2IL/V3hRscc9luNPRlZjPA2HGP+l1vx5Tc89VYP9pkhqPsJiw=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Checking workspace for problems","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Checked workspace, no problems found","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"5469d732-9416-4a3c-9346-06a0cdb807a6","toolId":"copilot_getErrors"}],"i":34}
{"kind":2,"k":["requests",0,"response"],"v":[{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `GameEvents\\.[A-Za-z0-9_]+\\s*\\+=` (`**/Assets/_Project/Scripts/**/*.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `GameEvents\\.[A-Za-z0-9_]+\\s*\\+=` (`**/Assets/_Project/Scripts/**/*.cs`), 23 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":{"startLineNumber":19,"startColumn":9,"endLineNumber":19,"endColumn":35}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":{"startLineNumber":20,"startColumn":9,"endLineNumber":20,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":{"startLineNumber":21,"startColumn":9,"endLineNumber":21,"endColumn":32}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":{"startLineNumber":22,"startColumn":9,"endLineNumber":22,"endColumn":34}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","scheme":"file"},"range":{"startLineNumber":76,"startColumn":9,"endLineNumber":76,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","scheme":"file"},"range":{"startLineNumber":22,"startColumn":9,"endLineNumber":22,"endColumn":33}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","scheme":"file"},"range":{"startLineNumber":11,"startColumn":9,"endLineNumber":11,"endColumn":38}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","scheme":"file"},"range":{"startLineNumber":9,"startColumn":9,"endLineNumber":9,"endColumn":32}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","scheme":"file"},"range":{"startLineNumber":11,"startColumn":9,"endLineNumber":11,"endColumn":34}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"},"range":{"startLineNumber":63,"startColumn":9,"endLineNumber":63,"endColumn":32}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":71,"startColumn":9,"endLineNumber":71,"endColumn":38}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":72,"startColumn":9,"endLineNumber":72,"endColumn":34}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":73,"startColumn":9,"endLineNumber":73,"endColumn":32}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":74,"startColumn":9,"endLineNumber":74,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":75,"startColumn":9,"endLineNumber":75,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":76,"startColumn":9,"endLineNumber":76,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":{"startLineNumber":70,"startColumn":9,"endLineNumber":70,"endColumn":44}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":{"startLineNumber":71,"startColumn":9,"endLineNumber":71,"endColumn":50}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/Attack%20Types/FlamethrowerAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","scheme":"file"},"range":{"startLineNumber":198,"startColumn":9,"endLineNumber":198,"endColumn":37}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/Attack%20Types/FlamethrowerAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","scheme":"file"},"range":{"startLineNumber":199,"startColumn":9,"endLineNumber":199,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},"range":{"startLineNumber":16,"startColumn":9,"endLineNumber":16,"endColumn":33}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},"range":{"startLineNumber":17,"startColumn":9,"endLineNumber":17,"endColumn":35}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"},"range":{"startLineNumber":33,"startColumn":9,"endLineNumber":33,"endColumn":36}}],"toolCallId":"b1a1ea14-e831-406f-9ea5-1f54859d84c1","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and checked workspace issues"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `GameEvents\\.[A-Za-z0-9_]+\\s*-=` (`**/Assets/_Project/Scripts/**/*.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `GameEvents\\.[A-Za-z0-9_]+\\s*-=` (`**/Assets/_Project/Scripts/**/*.cs`), 23 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","scheme":"file"},"range":{"startLineNumber":15,"startColumn":9,"endLineNumber":15,"endColumn":34}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","scheme":"file"},"range":{"startLineNumber":13,"startColumn":9,"endLineNumber":13,"endColumn":32}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":82,"startColumn":9,"endLineNumber":82,"endColumn":38}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":83,"startColumn":9,"endLineNumber":83,"endColumn":34}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":84,"startColumn":9,"endLineNumber":84,"endColumn":32}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":85,"startColumn":9,"endLineNumber":85,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":86,"startColumn":9,"endLineNumber":86,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":87,"startColumn":9,"endLineNumber":87,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","scheme":"file"},"range":{"startLineNumber":15,"startColumn":9,"endLineNumber":15,"endColumn":38}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","scheme":"file"},"range":{"startLineNumber":34,"startColumn":9,"endLineNumber":34,"endColumn":33}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","scheme":"file"},"range":{"startLineNumber":82,"startColumn":9,"endLineNumber":82,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},"range":{"startLineNumber":21,"startColumn":9,"endLineNumber":21,"endColumn":33}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},"range":{"startLineNumber":22,"startColumn":9,"endLineNumber":22,"endColumn":35}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"},"range":{"startLineNumber":72,"startColumn":9,"endLineNumber":72,"endColumn":32}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"},"range":{"startLineNumber":38,"startColumn":9,"endLineNumber":38,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":{"startLineNumber":27,"startColumn":9,"endLineNumber":27,"endColumn":35}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":{"startLineNumber":28,"startColumn":9,"endLineNumber":28,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":{"startLineNumber":29,"startColumn":9,"endLineNumber":29,"endColumn":32}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":{"startLineNumber":30,"startColumn":9,"endLineNumber":30,"endColumn":34}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":{"startLineNumber":76,"startColumn":9,"endLineNumber":76,"endColumn":44}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":{"startLineNumber":77,"startColumn":9,"endLineNumber":77,"endColumn":50}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/Attack%20Types/FlamethrowerAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","scheme":"file"},"range":{"startLineNumber":204,"startColumn":9,"endLineNumber":204,"endColumn":37}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/Attack%20Types/FlamethrowerAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","scheme":"file"},"range":{"startLineNumber":205,"startColumn":9,"endLineNumber":205,"endColumn":36}}],"toolCallId":"1121ab02-9e27-490d-b2bd-cb16bb5828bd","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and checked workspace issues"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `FindObjectOfType|FindFirstObjectByType|FindAnyObjectByType` (`**/Assets/_Project/Scripts/**/*.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `FindObjectOfType|FindFirstObjectByType|FindAnyObjectByType` (`**/Assets/_Project/Scripts/**/*.cs`), 8 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"range":{"startLineNumber":343,"startColumn":23,"endLineNumber":343,"endColumn":44}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"range":{"startLineNumber":401,"startColumn":25,"endLineNumber":401,"endColumn":46}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"range":{"startLineNumber":523,"startColumn":23,"endLineNumber":523,"endColumn":44}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","scheme":"file"},"range":{"startLineNumber":59,"startColumn":36,"endLineNumber":59,"endColumn":57}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","scheme":"file"},"range":{"startLineNumber":48,"startColumn":45,"endLineNumber":48,"endColumn":66}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"},"range":{"startLineNumber":28,"startColumn":24,"endLineNumber":28,"endColumn":45}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","scheme":"file"},"range":{"startLineNumber":91,"startColumn":25,"endLineNumber":91,"endColumn":46}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","scheme":"file"},"range":{"startLineNumber":47,"startColumn":45,"endLineNumber":47,"endColumn":66}}],"toolCallId":"8ac64558-b816-4ac6-a780-834530c34dcb","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and checked workspace issues"},{"kind":"thinking","value":[],"id":"wWUWKNV7AcWjHqgJdF8KRNGI6WJKTbIasykee1rPlktkfTVryYJ5B7jQKXwQtrCxrFoyYhoIUB6lHjeb+QddL3VnVtbFtJjNnPw3UyM8gQjGS2A09yK6vyR31Eh7y738lYguFigCPe8NYQCse3Catek3eJiQDHMZGcFIRXYIv9XXL4FdZU33NnaGHdprsxmyHLOEtYHAIxc5SLU+D9mByC7mzZT6jR9pbN/qla0uheQDLfdgi/fZeiJAxjeh7HhPxPdEzON+cqdyT4BVy4e66u8ERmY3KOAIoZWVOnfnNh883eG3s5I/keD/Yo9zhq4XBBp3BScBxLKu9aE5pPcNmybs2oi6APW+IjbxJHBhiq61f2IL/V3hRscc9luNPRlZjPA2HGP+l1vx5Tc89VYP9pkhqPsJiw=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Checking workspace for problems","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Checked workspace, no problems found","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"5469d732-9416-4a3c-9346-06a0cdb807a6","toolId":"copilot_getErrors","generatedTitle":"Searched for multiple regex patterns and checked workspace issues"},{"kind":"thinking","value":[],"id":"vmiQ1XknvwYAcJapmujueMMzCb20eqZN/aJNvi6ErETDZN9nKPwAjXM03hIs7IE5tOKAvLY0iA2ruIYmaGugbupJyGT91YLhIqU5QspV29Xkf0TpTDvX8yVeMYdJMOiM83LtOnIA6ot83FTtpit+UghtZuwmGcLReBy6DmCh7rT6yptcSyHIHjBidKsHYoWaDKJax0YaMZ5NAL71jXfF0uwb4cyKPcQG5OTYqX1zJ9w4FcxwN+0fD8BChe3ChjOl/Rl0jD0sZcKpBboHsW8sVZWpqZDpU1oKJ4NPeZkUG0KjygacpSJkLzB6r8SQrpwglAogQ08vG5PX8JqrE+Dwk484C9FEF9Clzd/Ue3/Wc93G8qdTUHEcXD5OoXcWBq1Am0I6eUO9hlnyRa8AJU9GSY2HgKxMDA=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"text"}},{"value":"Static diagnostics currently show no editor errors, which is a good sign for compile health. I’ll now inspect key managers/systems and ScriptableObject/data assets patterns to validate runtime architecture quality rather than just syntax.","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"b6a6773d-a4e1-4cfe-a692-77a6647d1669","toolId":"copilot_readFile"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"a60d7e53-bf6b-485b-93c3-73a3f8d307dd","toolId":"copilot_readFile"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/PlayerStats.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/PlayerStats.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/PlayerStats.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/PlayerStats.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/PlayerStats.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/PlayerStats.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"858d54d4-4f06-43a0-8582-02741bbff5f1","toolId":"copilot_readFile"},{"kind":"thinking","value":[],"id":"9ilYsxpr/3LsuwwIfwiO2n7aqUzFrBlbTzRU/MW0lR8xSK9B1cw+Qn3EnsDf9DtbX37OECfxHSiTWp8IjH7BLY8vHps8WNH5cvV41sqYIWyIC0l31xoh2YJhm4IF8ZZeU50/eEyul0GZuJR9zUHEbGXUUQlYilBYrwAwDrnVYqwnxvwCHbQY6c/ttWOlRGbfVJ7LT3WKIJqZ1KLJEP5sSZkJaFy0RBmitGVUaBQiul4VyCQupVfeZJusltNDJCd+SYhbURr5uJ59Lq5NQoV4CoZpX0Y05IY0TVuQedAwp3EnbE564f3i9/T5HIheRINaZ2VubhFie53UnceYWrBeC23kfe9+IVcflfVmPAzdQk2R1RIcapiuC4tXl/vDxY9AqveWlskGzQkhSmTk6RrmRyEqwijcAA=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"53854176-b4f8-4b7b-8ed5-2ecd6d9493ea","toolId":"copilot_listDirectory"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for files matching `**/Assets/_Project/Data/**/*.asset`","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for files matching `**/Assets/_Project/Data/**/*.asset`, no matches","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[],"toolCallId":"20d7ffb2-ab65-42b3-ba07-ddd2e68f17b3","toolId":"copilot_findFiles"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for files matching `**/Assets/_Project/**/*.asmdef`","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for files matching `**/Assets/_Project/**/*.asmdef`, no matches","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[],"toolCallId":"ec7c0848-9719-4b8b-a671-101154e15b02","toolId":"copilot_findFiles"},{"kind":"thinking","value":[],"id":"ZOH3171HiZcxbfxGk6NSCAzDbQnUDlCWa5XG9OO8I9A8nGM9G4BwskVA4u8mO4MyN+fmhBnqz6UTKx+9F+MtKj5bRm2TvnsPt/JLuks83b/aSqREEGCue20UKNd3i5tAXNEcz7+HVybIlsN3gpaugp1zkdMpSU8cyM1NSlZ2FlTstazqHoc3pkS/1neBzAJywc/L7tP/vwt/9vCrDtbWBH2NTVKORUV5T+vn4hFbvAFFc63wZUADEhNPGPdFMpf8fP3uPo6c2reRhXTqFDeOtPY0IrqFRTq9LuZQCOd1TSGbga5a+9DbnuucrF03uFL1UJUHlU2DTwDYjKWDmKDzsEXhg473mvt35M9aa0BhsY1Tt6ZhVZxu5BQNY3be5hh/FmOkTM8O2DunYpT4q3w4WgubPCswQg=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"text"}},{"value":"I found a major project-state gap: there are currently no ScriptableObject asset instances under ","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}}],"i":49}
{"kind":1,"k":["requests",0,"result"],"v":{"timings":{"firstProgress":5573,"totalElapsed":152792},"metadata":{"maxToolCallsExceeded":true,"codeBlocks":[],"renderedUserMessage":[{"type":1,"text":"<context>\nThe current date is 24 March 2026.\nTerminals:\nTerminal: fish\n\n</context>\n<reminderInstructions>\nYou are an agent—keep going until the user's query is completely resolved before ending your turn. ONLY stop if solved or genuinely blocked.\nTake action when possible; the user expects you to do useful work without unnecessary questions.\nAfter any parallel, read-only context gathering, give a concise progress update and what's next.\nAvoid repetition across turns: don't restate unchanged plans or sections (like the todo list) verbatim; provide delta updates or only the parts that changed.\nTool batches: You MUST preface each batch with a one-sentence why/what/outcome preamble.\nProgress cadence: After 3 to 5 tool calls, or when you create/edit > ~3 files in a burst, report progress.\nRequirements coverage: Read the user's ask in full and think carefully. Do not omit a requirement. If something cannot be done with available tools, note why briefly and propose a viable alternative.\n\n</reminderInstructions>\n<userRequest>\nvalidate the codebase, documentation, and organisation of this project. be sure to familiarise yourself with the codebase first.\n</userRequest>\n"},{"type":3,"cacheType":"ephemeral"}],"renderedGlobalContext":[{"type":1,"text":"<environment_info>\nThe user's current OS is: Linux\n</environment_info>\n<workspace_info>\nI am working in a workspace with the following folders:\n- /home/breadway/Documents/Hazard Pay \nI am working in a workspace that has the following structure:\n```\nAGENTS.md\nGAMEDESIGN.md\nGEMINI.md\nHazard Pay.slnx\nLORE.md\nPERFORMANCE.md\nREADME.md\nAssets/\n\t_Project.meta\n\t_Recovery.meta\n\tDefaultVolumeProfile.asset\n\tDefaultVolumeProfile.asset.meta\n\tInputSystem_Actions.inputactions\n\tInputSystem_Actions.inputactions.meta\n\tScenes.meta\n\tSettings.meta\n\tTextMesh Pro.meta\n\tUI Toolkit.meta\n\tUnityTechnologies.meta\n\tUniversalRenderPipelineGlobalSettings.asset\n\tUniversalRenderPipelineGlobalSettings.asset.meta\n\tVefects.meta\n\t_Project/\n\t_Recovery/\n\tSettings/\n\tTextMesh Pro/\n\tUI Toolkit/\n\tUnityTechnologies/\n\tVefects/\nLibrary/\n\tAnnotationManager\n\tArtifactDB\n\tArtifactDB-lock\n\tBuildPlayer.prefs\n\tBuildProfileContext.asset\n\tBuildSettings.asset\n\tEditorInstance.json\n\tEditorOnlyScriptingSettings.json\n\tEditorOnlyVirtualTextureState.json\n\tEditorSnapSettings.asset\n\tEditorToolsSettings.asset\n\tEditorUserBuildSettings.asset\n\tilpp.pid\n\tInspectorExpandedItems.asset\n\tLastSceneManagerSetup.txt\n\tMonoManager.asset\n\tSceneVisibilityState.asset\n\tScriptMapper\n\tSourceAssetDB\n\tSourceAssetDB-lock\n\tSpriteAtlasDatabase.asset\n\tStyle.catalog\n\tAPIUpdater/\n\tArtifacts/\n\tBee/\n\tBuildInstructions/\n\tBuildProfiles/\n\tBurstCache/\n\tPackageCache/\n\tPackageManager/\n\tScriptAssemblies/\n\tSearch/\n\tShaderCache/\n\tStateCache/\n\tTempArtifacts/\nLogs/\nPackages/\n\tmanifest.json\n\tpackages-lock.json\nProjectSettings/\n\tAudioManager.asset\n\tClusterInputManager.asset\n\tDynamicsManager.asset\n\tEditorBuildSettings.asset\n\tEditorSettings.asset\n\tGraphicsSettings.asset\n\tInputManager.asset\n\tMemorySettings.asset\n\tMultiplayerManager.asset\n\tNavMeshAreas.asset\n\tNetworkManager.asset\n\tPackageManagerSettings.asset\n\tPhysics2DSettings.asset\n\tPresetManager.asset\n\tProjectSettings.asset\n\tProjectVersion.txt\n\tQualitySettings.asset\n\tSceneTemplateSettings.json\n\tShaderGraphSettings.asset\n\tTagManager.asset\n\tTimelineSettings.asset\n\tTimeManager.asset\n\tUnityConnectSettings.asset\n\tURPProjectSettings.asset\n\tVersionControlSettings.asset\n\tVFXManager.asset\n\tVisualScriptingSettings.asset\n\t...\nTemp/\n\t...\nUIElementsSchema/\n\t...\nUserSettings/\n```\nThis is the state of the context at this point in the conversation. The view of the workspace structure may be truncated. You can use tools to collect more context if needed.\n</workspace_info>\n"},{"type":3,"cacheType":"ephemeral"}],"cacheKey":"file:///home/breadway/Documents/Hazard%20Pay","toolCallRounds":[{"response":"I’ll review the project in three passes: architecture/code health, documentation consistency, and folder/org structure, then I’ll give you a concrete validation report with risks and prioritized fixes. First I’m mapping the code and key docs so the assessment is grounded in the actual repo state.","toolCalls":[{"id":"call_D5w1VZqxi5jDnKRbfflBqlwz__vscode-1774363162390","name":"manage_todo_list","arguments":"{\"todoList\":[{\"id\":1,\"title\":\"Inventory scripts and project structure\",\"status\":\"in-progress\"},{\"id\":2,\"title\":\"Assess code architecture patterns\",\"status\":\"not-started\"},{\"id\":3,\"title\":\"Review docs for accuracy\",\"status\":\"not-started\"},{\"id\":4,\"title\":\"Validate build/test readiness\",\"status\":\"not-started\"},{\"id\":5,\"title\":\"Summarize findings and actions\",\"status\":\"not-started\"}]}"}],"toolInputRetry":0,"id":"7d0f5448-70f0-469b-a90e-72364446e9b6","statefulMarker":"QOmxJqIyvZuoGXTGoOiqlyYXPcu/juAD2s1hnp4CxgXSpejjKGeC0eCWQkXVIti+As4Slw0Zt/+q7G7yWPHBx2aA6k/0u0ofrA3LMrEdn6cFq2MIGlBGaCbXGkJk8UCtExoGpm5m4gRuVjDCAFZJQY2xYnZXEDljSoQeKufdY7nOHdIxbKGgrjKaXQ1ch+OLjj1tGUfFNAT3fW1MGQq5ZB6aRvLnuH6IWrr0yV8xfh3q/yazuIahLJhY5c4zaksFVt7SGCTl57DRKMCMCYG3OUzn2W9WW3BRweePqKUkzZRFUocrW5AIh2jIF/cI71kYYsHLjikeLctxsDFhfiG6pY+gtf5jOPpeK+0AoLctVoGHbC1Fi4K+6OwvyuMjdmBK5xNVdkU5DY1d9u5eHHFvYpDyOO8UqIEy","thinking":{"id":"3/R8WeLSTPMOUkPD8jU2wuod3FFFF9dwCz/gfRAvvTOPEx6arcK1jSWLw++L7uD3PGOgqZ9XZB481UUHi/P9zF4++kLPdA0fbiSs4/dOenDB0gRYxtwHuds87zBMSGjogE6UrCOSgobqG8f+IsdeZKouyV4iJ/lkvEoSQ1RrNBqXZVAKrUhcp+kBA9EjsOy6waVrtOnoOzCLyrpRWiLVfVWaEgjDqzmcLqha6qAnEMIdC+8ps3lIbNaulC+o63i3RFnNJOotibrpIVR03aszOY/zOfOcgscbwMgErukIDJFhEJFAE9l7XCs2AD5bqJEt0m+mFd0r2AOOqmmIym2K4Dx1tBV+ni/7IOqRk0d8JbU6geWngzx2H8sDndV7x+bUr9nE3yze72PyFNfkaU0VQKryzQp8+w==","text":[],"encrypted":"/AWX2ssTug0AgrC2QN0pDR9Z51+EOHN7nhI33na/0wW7tezujAPo1x1+HPnfxQmx4e7bm8qGdtkS2R8KNFjn6AGvlU1cK3JyShkmF3HBAQkYPHNqGd4Iblkumk63tjgnFF6hoioETbCQxTe8ZaZVmd70EX5+gNYR8Necc1UFdO33OXWfOIhATzWOW0RgyrtliL8ddDl5DZurg+aDbl7KzNQ69jSDuP0WxTngma9EtbtCPsKRLSxtb9xmHN4CLeaXelku/drKnZKq+0NTPTHILK8FE7bJ6//gA7dv322fqz4eFAOLYeO5rEnxRaAVcQFyEvsAhmOkJMNzRaJTJZ7rz230xkzrjZrA4xWkKJwyiYtKXOyI/REqm1zfntnHipinwz6aG5kVO1EAAaY+s1Y77hKNXVvWCJKdBC0ubt9w8AmQdNM0bewHPCatOeE2UeZF/n7fABTme7r4WZrXDvRf8N8tzDclPNi1zdmoMZv7xZuRyGDRy/J0vA7HckM7QknDBrKC90Ij4BQ7yS6OCiyBzj1rmI50Ih9roW+0dBrHiewsCd6HjQEDvXmWpR+xfrlWGG184DZPuHXDlQhaOV9DIVdiMsxee/igTsD21Ij4pRs3ecZGsJGw3CxTDm6POCPGtbArWiPtXyFrkuavBc/FqWQd6GEiQimgwaT9lb+b+psK38jFC7a5Idtn+yc0Rtj4wIkDNy7LObZP1GRHcGsb4CJyyPTYdAyNZ8hv7v0izUanNiBV71IdvUaJe6V5JyZ2xg/x57FPHJKwQRasGj9LMXRZu1a+Di4Vchiu70rzddHngVe8HQNYReMKZhaBqWwYmsR3+bEy1TB7NqrFNsohNdXoHEknOkAGi24H2cT/I24p8JEj0HbLEn41NtwfNAgdeEEeQgjKjlRx1gMBO1kPST/Hb/q0fKVMtpLoT2Ga5tZVtCKcVz+gpyVe0Xt360qsm2OAt0T5cu8Pay+BDmJQQjNHLkNPii8LGWOXbhRRspdXw9kS+u0f4/03pUGZxFyYdWGwrY5pRswsLEu1twE0WpgpEuHkWB1rprjg4GMj/mzd0RM/0ARLNnEWfLz8VM+V6CEgLEb5opGWLyI9i/j/f6PLQFsxUwij8JmipHiKGFMM9xt3OZD9tvABXRepcESeCew2moBylw5JBKaHezjBXokY7zEAaFVavv0w1u8tmQ0wg8Ki0Bkeq++s3390dTsbR1P18Z37SiljF9glYIG1I70a8rCvXjyKYwNS2tV6+evcFiNvuEnrbXd+AzEmPNRK2Bo87mZhm5XOaxCrPeFzRBj0Y6jFt10D0WUb8v2lSufAc1jOYEkclLBIMKOAxg6R5Y9cumGnquPVTS7Zg2uXZbXglW0LqrLHyAHcXLF3adUtDjlm8Dz/JCEW1hWSJyaVW9OP/Cf53zdmoG7v90wxl09h4f0mq2sBYzvu86ALf74sxVWveZd9OuBO5E6Jdv+Kzr0pKKtHWLDPQYU4umn5JMOZKHTYJ2ZqYcHpgtjK1EVOaWstA5j/paALs59pnv9WOBtGFCUnH1OatQKrjVB7vgRJt3i2SmDTCkwHZBe4W1NSwEtpcLC8F4lKyi3PTP45JXSVJaDLtIBbcuWJ5xSBG0nmMfIROh59B/eo4R0X/bR+cVltGGrKh8VDl1+EuMmEp397mo+ZBlXiQnB3GObNY/Lgc7xKPAWsekkCH9i9tFebFeMpUmiV19Q1r32z98A70jNQtazTZcHxg6yDD7KoazKhed2HQVHxsK2dqO77hGcSS0XZaZwxUv3NiD2uZtK3UnFtdNZUlXUpYOkSsiw6l1Hy6DyfSvmvSoiL8TiLP4KbUPVmWWuENPgrqeIcwWTv3nDq3JU8cFflXS0PR7syDSlu3XfWeYvUtlHqjGC1YJjidEtDzZsnTSTwYMSmRBJXWXy4S/EACcxOdd00o86aWuANRdzH8qlJGGfUAeACPKx1e1mpQRq1LUQRYGvQTEletB0b4zvQTDqg3pezxHGe/tWklAELnqp5vb2+4S2Ce+lzBTROxkfttP8EpOXNLdMCPSjMWM31vkhHVCdE0EDH4n4rnoRS26KSCrhcrPC31bGF7h7ofQXmDvOTPOiRRH3FgwAccWC8LGWznDj6SNN7WGsykVLX8hSYY6jgjgbqKjwrILbIrBm7Mz0SEzeTQVb+txxJowOOSgKdnWIQfxmX/5qfgyCMWzma8JXpQ3t4FeDiICSda+LxGiwTExqkd2c/RV82DHHD3XzK26uOBEXKFN0f+hVTK/jLjWldmx6mt3Ou2+K3jcZF/o0Q0DCqXr1HWZ9tKNshwb3UJbWdepXHXvnGkEvWPR8oqedLxvfp6GIQHpK8xr2M4S9nUnRbkDM7P57plPrbJN6wE8WEnlwgnBrjv9FYJmpEzPEZvKXYH7tbQfRODidijzeP+974dxlUCorTs1nhvIFzbeP4EeU7unX5WNIxx8U+Is2NjlkvzNy6ko0bfi9vewZQaCpe/AByOUDfm6QnyKImyzd3wnJTNyLdehGqiGLDFbsl3zJrgRoq6XR+KEA12Z0MhFdbm5TN2iF4KW4f9+vcuIP4jngr9w1g2FtyDYDTcjRIu+xaYvwqjUBYZpV2LocOgZqHnZ+6TxUzw9Xo6cAKWDgjtCwyNdIpwi7NppHA8/XKDBN74fLv4RjdzoqSrkcv25wqKg0tv4F9BxqhfzAlyVXILYj6p0LhkdI/gRqp1MXWbYQ+O387J11QzzfCX+j0KmaXruJhSqtrzLvAZXfGI/G5","tokens":141},"timestamp":1774364026627,"phase":"commentary","phaseModelId":"gpt-5.3-codex"},{"response":"I’m now collecting a quick inventory of scripts, managers, events, and top-level docs so I can compare implementation against the architecture guidelines.","toolCalls":[{"id":"call_P4RXp8Cw4AArxqOlgWz0umKT__vscode-1774363162391","name":"list_dir","arguments":"{\"path\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts\"}"},{"id":"call_fF1gzmbRgtFlEURyedQpMTBf__vscode-1774363162392","name":"file_search","arguments":"{\"query\":\"Assets/_Project/Scripts/**/*.cs\",\"maxResults\":500}"},{"id":"call_oL3mkcnYgeaLxiBed9nnS87r__vscode-1774363162393","name":"file_search","arguments":"{\"query\":\"*.md\",\"maxResults\":200}"}],"toolInputRetry":0,"id":"24c8640a-a4b5-4c1b-bf64-aa47e2176f43","statefulMarker":"56gr4bmoY351RcCbtDsJjrObCOL3/zSxgKVMUVzHp9KiC1lgMsND7w4w+bdkD2RA2wM9kFdGb8Y3C7MY/Q/Kl/ffJ5JhgbYgLYJYT5+c96+p2CHTxiPam4fLzsmmChJGbYXa+7YJL4HJfkJgqyJ0ZsxAYshVarqpFugQQQAgdFywA2d9i3gEAYfVR1k4yN6JProXCqkf86d0eT4pzqWq+21AW2c8b0Qc/Pa40MXNAoL6JjbEiqk/X+j+xcT1pal0xRZIK5Gz/bn1H8/TtIPMtO1AGvZXU4iOeH5/KPDzjJ9ok6gokwSyLLVcd+bKiIhHcIVlbC2GVldMRfiCsC99HWCKoc4HXgVyqKvGBzRn4wHuL/4deLa4Lqs4ws7NBe0bX/H1UcqOjS9cP/ZVln52pOR3X+vkrCgV","thinking":{"id":"7fXwXSdFKw2tMakyRdhH8aHHKSC/G9+8tG4PbVBwr1TZevdMPg+kTW799d9W14qlh5NsbZAUpsECPJaIrg3ONABwdvbLPumb2NEFCO7L5HxHGQ32gE8o2+NAWNyfqLTdCzCs2ywKBDSQ5mcOFWh6tXkKgpeeNQplbHTMkHmWFd2sIzsgcH21EcQ1hj0otYzpwEK8Y/kkUa0FpywZ0hK1IvsrDVy+j5y9uvEyckKynkFBVJOBABucdFNlF2lgNv+G4wTuM6u1KqXIjjb4u3N+RHWplsN7aFGXzzgjZdPChZbagj+Go9sz4OpqnJmTgrIEOjeKM/YnszY1v1HLcgKfmHwmTiKJNC8Xbba6WfZ2I0ywFcRUISGtSLveiu2bt3cfahYY/F6MTRhIZk8XiEhP6Fv+t5yqJw==","text":[],"encrypted":"WkyUGNRvpJGkdMpZwJ1c+X32+9Dx0LP6GuFBDKobxmjGLfKmmI9E6Kz6+YUWLX+uuOfm214aYmd5SZ+nRzJpJDMlLQkvpfa7pqFF3oH/u+RCfw0/ACLp3/uB43oyfpSUZyeHeFN2zazaapWym0TYjqigOIjDNyVEtPdlnJGH8eqkIYe7lBgb3TZrvaNbNh/vLos5a4i3+qxd7RbTpvN7beU6nEXhKVh+Zn31t6BccyebT2x1omqZeGCzQyxUelBHKdDpQmeOLfbnH9P0xwVyUDL1Zi7zYSnp97y7wUkyl6eyhKPRATIiwuqBI0gaw8W+oJyUnzx18JTETFrnPISxcaPt1RJoYSBOty5Vc8x56425S26s+sDmSQ+4OkbbSOwMTFs8uAyzllndh5mDNul7rREssyb4qrjNRyu/B/52b+NSwE5TT2MxbKEvIYYdTo7Ldq6CmRhT8QrIMiXoWrUWniZQ0wY7jK1YDB9jpoHUUK1L2o7CU/yv2Pn5EL6el+e4ERhCrHaflz6UX/Wf78MY7ZCulfiW9dtlcRORgc9IhiIldqVRMY1w9s+EL4Y9KD8ry5GUqeb85QU6miTi2nayxixP1NCNcH3nHbtnaghTejJulm0EYf8NE69voF2pZ63TZAz+neD+JBE/PAYNBfayItNSJUcITQUynknRsv97katnx5VV0f7nGZz3hFzA3YzDNWr5Oj18xSjWWUfN+rvrsb83fmjPMFkHG4EbNIbQW7fNj4J3xEuuWZlwlqdPE730QqlG/mBxWicrvT0mLoK/oF6lrfhr4Qq2k6zvybUK2wVzD2gkY+jYW2wjlVPALUixTgVzNZMaKEbcahSWTibjCzlBQ2GDaskvc82nqBKhn6vOeWsUCzdWg02ilJsn7CB2qKDByv9oLCotg2/MuXAJDBnHwEe926Jd5/H34wVqWHViSArquoPBzrvHy2iWvqCBntkhQtwFWRQ556gegvGlxoZhUqsJFelEdVYfFeazym5ZdGP22LDF61cEW14SvGhpApLVZNI1cTF7zuaEHMsuS+wq3OSYfbYi/+Wlt5YcN+TUkCMyKvJ0Okgk27vEEmIEZB0Z6cGif+6FaRfjENhXhwdMsq0ZJ5TWnO3tj3veVSLJANPaPow4+d8hK6Q1rXeqo45SQacXUD3FUNNxxIibES3h7VB5n3WUYltak3zcEydB4amw+IxfVSQhfCi9NMHhej1Hr3s6f/gqeWVoZt0vifOj4zqx7y2B458gLi7sNkYGa+RdE8rf0M1phZAUDPihwgxceNhDDHR4+8GiyXsoWP+6rhspx9rKmTEOHyU1LAoI7fICf9BZ+wXCLJN0oIDblnMqWCESm/Fo6gaa2s/z3r+h2VBydgWAhZIOJ3cx0Bpqrh61W2ISEQhEnAP+kI06XP7QAh7UYTk0EZLzJzc50CLn0hgUrhd2NuSB0xVt8byCvQTGQWTf1ItwcEZ9qLIkZt46QgVJ92xRtU7dnjUAGMCyVuF3nKux0lSS1g8vL6/F8rwwAAVFoC2IMDg3SLI2aCRadiE01Y1UKpet4hzhcS2CNiq67dfgNGC2ibj3JCQqdG9+LPouvr8DZchJJ0iF0OPGSx9OALijtXzL4jDr8lttmSqiR3pQ3d/7bUM3J3YdyVDSzTH2QHmcv5PjpB6HQUkfkkBZh+AgBj3Ed8nKLCd7tRnlTOFe8K0aBJ70137lxJBVIB6kAA==","tokens":29},"timestamp":1774364032865,"phase":"commentary","phaseModelId":"gpt-5.3-codex"},{"response":"I’ve mapped the repo and found 52 C# scripts plus 7 markdown docs; next I’m reading core architecture docs and representative systems to validate whether code matches the documented patterns.","toolCalls":[{"id":"call_7yW21u1rF3sZd4tOwFxS4rT3__vscode-1774363162394","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/README.md\",\"startLine\":1,\"endLine\":260}"},{"id":"call_JcM9qa1rdsgNjoqRt34kGRPX__vscode-1774363162395","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/GEMINI.md\",\"startLine\":1,\"endLine\":260}"},{"id":"call_HrmKYzWpEjhHPfgxhIiZpojy__vscode-1774363162396","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/PERFORMANCE.md\",\"startLine\":1,\"endLine\":260}"}],"toolInputRetry":0,"id":"6ed8fbc6-776b-4a2f-9982-c16225d189c3","statefulMarker":"IFKSwgzUteJ8fvMpR8d2yeuMdPk2nz6A4jEoOU3J3dkYFoWdHXVjLg5WKXMshpPlRE47yShWLAug5B6Oxa7HbZ+nJFiZtIdmxfeeWuIeeztqIRbxRIcC9udzkNmw4G48dBcIbHW/ivlOxcTpMHT0iPeWdDb41xc9iOnHo5YFzjEVWRtReHBuadOaKnbefZnHAUDW7qxv3T924k9h06U/6iYOF7ys9RqehiZLz3hYijyhuBXrvcKYSlrIsDV5L1Otk/OqIhRO7CE7IQhcwHFAmlWx9xrUiLtrARsFTUWp9thvZ1ywXoYhOglyHMY79wLLpDJKLcmN/oCuOXdgCbfotzAvFQKCJDTx23JDA3Sw95OG07vChVFCBT4YLPdSrHpNMvCDKSDipUrJ+SNt6JyIYh1XyAgrdemb","thinking":{"id":"XOqPsO94ZIZRZKSyMh4xCN/yRbaWZiK4/2A7mqrBIePwb2DHToi+nuDLbnizQx9cd9hENX6pu0Hw+trNuVkB+VH6WoIDV499XTktjS1cnOaUCMIGXt8c1tXlwjBrm4V7iDA7vnzwl8MisMuHmhXBLWCkMNh/VvogW37FwHmfS/FQSNEvqVsG8+doR9KdjzcvLmmM2NuRMmNGHl0NafkjdoEouRY1LqH3rzOswVaQ0dovaYq+bt/A9s/yB/xFu5/dxVBkUDJ9vUzgB8gG57YY3Q9RikuyAwcOwWjKJwERp6cMSKDolsVQUiJWJY+Lr1JcQCGBfEvCdWPuMg1Vv6RvKAbe9T/QTzn0qNZrrAGyiAbYlD45dx/o8I+aO1ePbmalHYrcHyjinoOjxJ7a6kIthg5pd+p7kw==","text":[],"encrypted":"l2QhyPAqYHEZ2D0eGsi7g1VnKoHeRdfEh3pitOtwAN1nuRH+hEqRDlo6B+2vdGSFRoT0k0LHk1/kZ0C1/yfJfmbfoj0cyv+ldO+fEAlFttG0JvHfg3cwHA/UbK2domQSQtJSzcVwSwXu/qLGbZeIwH7LmzfxaOsY62nza4s3wFffIZE+lC0A2n1IB5CtqJoWRmyoG+KBuVcxh0gLn8KN8s4yO0xoZK5uojtQRuAgQpqdOK3rYbNopoAYffhuwNrHRy1/5tOWRnPihiw5pHvailJhc9aacioiObgJPY/qwUsh3H8MWM0gpliDi9E5aAz+LMjUSngC9OWJJSXmF57ZTZTDOE7X2H9Pv6Iu1qmolmGLaJmW4LLzTLEgMQHrn/34xK6mQUzSd+jTdaNsfFyDAr6K5MV0ndaiA01MNdu0lXEYjIwT1eSFXuORc3gKN+65zXORPfDmnMepoJBwLp9/QZzC4BCp/LLDRjy4UN+kFleSZP9QIx18ODKt4nq29xfbVpripZCy2gEycI+s1piQ9zGuimLp9MIrqXBPzO37nCJUZIrVGVnUFFszELvVe8Pq0CjB6hAdB8BBmFBXrbE6T5iUHXjXVxyBWJufN00Yqk8Xa7+9imlaZvUnBwl5sfgNWRP3GDH2el+QRKIRrVv2ulnolCotJx6CWVV+UPqFKzJV6aqtOPd1AYokWVRcOvKXEte+hGQDcP4XGI1cmV2j9Ldqm0cCukek3/L4jr335lYe0HtacB9NRrB3gHrCQWiynyZ8jLpiICAUnsyi/NZDqM8ONu6lKkVKARmDUYCzopqzT37x8J5+H2abbN5hmxn9oQZqQRIqUn35wMOngFYngddESy92mSYSoco1lsqENuXh4Osm7ZItZa1FwmoCa1kR8cjIrWASUg9hqar+58NJKHSM3UWeYoGGfOUm0PAWlHzrxitB2cwxkHwEhOOF1QZ2t1FNf8SgQXRIi3nrfw3imlZi1fZoz58uBfmfXDF8rNvNy/Uze/pCKwraJ0m2hlIDpqaG68ohu2ud2cUANiE07eEKHzMxVU70OlAcMBeMxh2CAaOke+KtvTp4JA+kkKL4zKNptjMsmH1aOQOREt0mkQuYhBZPd4Qb0To9a/MB1y0dOCzPsfoqDC4RO0FhUph7VsfSAMOb1UNqgx0Ef8fsnwMu0AhrV0Kl4glxH8qmF3TpoeNS3uv0Buy7wBOmU2nhhREqHwzHVcw84f+uyuHrljVi1IppQrf/n0cDrogetGk8+FOc4lKyiqH9GQujvxVSLOMBGTLATbN7Fg3ZezPm4odGFAhW5T3bd1jH8hJb/ZmyseMdCnAuJ2CHY9rvsGzCf5ZCOuZvHonMGg17h0F915L4zr/ECnPD97ElZfDXx2hZzt+M6lgR16pBiuwjDErWZxuXUlrEUdI4CgUOQgpszlBcDTybyLLZH+q2jQjyAoDH2y74K5UM8RXbP+/GQMtFHzXk5HyZ2Uz5DC40jymzmGEfa0Q6fWxAZNNjrzyjotflJy/v38XSe1jcKNWTtcLgmlUDDbL+SMLqyguTVDxXtryp46KGAIPrSppSUEh+vX3gDbrnmEs6UPQPRkzC5vhRTOzD/13Vj8QWFsTXyFcfkP9nVGTzyX67l7uX1iVhGmgCecQWqvVXBvXDxWAWogMutydnZRLX0vGw8SdRzhpiiPn1EZWto8IxPlvWC4V2GPn75YZfcUlbdnncT8Tbp6TH8V38sMoQDMPJGnG4bwVLSUo52u6pFCHxnvjzPAcPPeFHYG5FYmv/W6V9fOKrWc+fycH37LqUG+s=","tokens":41},"timestamp":1774364037645,"phase":"commentary","phaseModelId":"gpt-5.3-codex"},{"response":"Next I’m sampling core runtime scripts (player, enemy, events, managers, shared systems) to verify architecture claims like single-responsibility components, event lifecycle safety, and ScriptableObject usage.","toolCalls":[{"id":"call_DYaOZ0jL5CNlXJbw9WvyZKsR__vscode-1774363162397","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs\",\"startLine\":1,\"endLine\":260}"},{"id":"call_V0ERG90ZXNqqcm6B3nT9AN7I__vscode-1774363162398","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerMovement.cs\",\"startLine\":1,\"endLine\":260}"},{"id":"call_uOwNHFevhaW8U4XrWknDpC8D__vscode-1774363162399","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAttack.cs\",\"startLine\":1,\"endLine\":260}"}],"toolInputRetry":0,"id":"dd22c045-5710-41c8-80e5-3de57851576d","statefulMarker":"tsh/pobIaUvabO+uck17ln37lbOk1oXRABq6AfRRgssSk2JnN05gGzEUhIXBwH/cCOGrZWhGjubTCoVO6seZKnMZC30vHpCEyNDl3itUPOUhAIAD2TeMg5DbraBeUwpcDs8L9RYNYQY0CEThHW0u1YiHzKadYMYl2NVgIJDoKD1surfObAD8qIePvi8AJNh8XcWV6IEGscCMT73885LwKVEnoeIZnX+ktQI9Y/L/tQmySd3wxBr4K8mIvDvTGxlOEVanit6Nya6DwXHBIEj48dXeWl5Lak4TaPeTsHxSQUFXquT7ZoB3hLFnDK7kfLUxkCARc6NSScVN3hoZ7B31d9Wkh+Fsm6Vf2ysyvKctjSLUAI+j/OyKRAuvPRwapXrK8TcjHtjTn0xgkUPl+766ZsVvOojkN92I","thinking":{"id":"MZlAfz4v+tVuKZCIU3Q4cnouViH94kHrzk1Tq5ySi0yIm6XUmTI7J5q3RUw1gI+8sBShQ7yl4X+S91LgZcj+jwtF9+sbqIbMIy0Sk7ablU9Qtu/nKyxMrQW8G3FthwGNu0vw7Cq7MuhQ8/ihmXaZMgbizjEyCHHE3yN6lUBjAZ0CKTZ/fcZ2MYDnjd6C3A73M1mqAQVCHep6ZaraPQJ8pnTu29BlKHsBEwW0prUNNGk04Pjs43PsAMPm+kA8ujJwDmyJxIlHeAV2MA0/eQ6EKEgHknwDPai0dauDjn91HlMas+E1QQTXRF3Sb2aGtUrBKbdxJTt7auZoNA7O7rJJ4+pVKw7NXkO12rbNJgli/2xmqipR0e5OFJk1a04fFr6m9K9tb1OMKsmaZq0cE5DjSpqzciP+5Q==","text":[],"encrypted":"wkfiSr/S8lz6Cs9g5oE2KsT877qpSu5SiEfOsd2D/Fg3aV9lKO8AUJvq4OflfUBTgaxbDesVBTO/b1EldU+nCLIHr73d/uB3aNGnNZiAAsd/YbwGf2/3y8WxD2pAWFJiBDwnigd5aJuySA/SptT3+tPI4iORE//XSa+p7GdY5SwJ9zezknRFTeMpgwEP8Zf8Jn7RtQUVLa4qm/k+uJYlMSjRbke/dOM+cNzThBwqjbtsS2flmziSNds5ydro76MfjOEgru2+Qu4TM23zDG5YWFsioTTwLMzL/MJlnJLe1QXNPKACA1GDFVyQmuj/4OMxhpZCB2p7D6UqlAlJCRujMs5jQaNANg0MQUbCO5ki0nkHVXcLb3dYpRGNDF/GAoaCycJrZIMzGytFrrfoznux4PDa4CWNkdkGjpGi6UGPJLPWTrjmue9PI1rEZ9lqKJzsmAyDxEVOjG3j3oQKWdtoIwn7C6Qesjcy02ESnzVXp651BeDxJmhdis134KznUIMZOPlRaLfVgUhtJydZNSEDQmBrH9v/kuBDbvQdTUcwKhvq9CwAnD0rPDrMajiPaeZyW1Yw2jqxG94yZlGLvAcdabiN1Fn202QC2q9GpFDwKQYHi+BcU1iLSYiHO/nIyar5iOnYRx9unEOWCgl7YTT/3RPvP0dpmB7P6PmE7aF+ScaUTeFhU/z9JlyrGNhXs6M5+j6gyvQXofKBPrKDZ+a9RRqzkMxGaEXRcqqGUt+5MFBzxweyew6v12Ztw/G+gv1NkL2l4AI6ak/QjFJbOMgDvLQDuufrfll/mKISZ7Sl2xzPVN+6pfIKk7kCxHidDVOVeda/Zwx3QPWQNojHnRURb558TozNxhLRA8/NN8noRi88cZBRRTK13mMVvSsCYei4IWVnkjEqaf9+Lmvv9x6aw+B9CR+7nWgOg68/EwsBFm79jiQ5MUpiH3rVmxNr0Vv24LISE6a6aVteHgo+nEFVRauqPS5cCQ9hWryevy9QjxyZt29yaP1f8lDl2qdO6QTUIxJeNZpcEqiRwQ/scepZTsomu1LvolgNxoh04JXLOVF1Yiw16W6ojfBXxGPSFhyWmtYChDcSpObZABpA8aJmW8PHZq4xa/PzwxMp253CBXbvXfsmwhsIpAxWKnx+t7Xr7Y7j/1x0xWYwxs8G/K5BGkt1meOFAc/Pziaprrf+iTZJ9Fyxtty41bee7Xbci3b6bZl83o95KRhPJB0Rc3By1bdp2kcfrgYRFtav03ShzMnpSMSAiNP0w0I92jOle2XbTKTyOCE1Fd+/Jsfd/FVRIRM9isYEaC/QhZuoLCyIKLY7qZmLjVSMLT1CD2hoke/ZKKvJOfEU4xev8z8Gs/BC1lh2tUMyOKX53HfD7aJA0vPMffIYlgiifShSbWjBC0mngNzJbgq0Z2hZMtpscWc+0LkfnK+1ymmXU09hk1IQQYLaTQ10pnwlIK11ZUa8EgTmsOICsvAJRmGf69NGm0GNwmFiNUFC8F+bXdn40a6PAddbFMV7zBlWjeuACjjJ7v8O+NHDdDwkmPchU8Fnil5rPDj5eUWvn3Hjg9KCA+XBeYcYg71SA0SD3CJu+CGvmcMC9fHcmWg9aGhf/vta9DfaKuxovkRGmi+XloqBr1s1xKrRCB8xpTEOwU+s8nvEXZxE2Eouv1xZmsJtAI6oBpIQuziBDVikL2kW/wu5svar0xFNjYMAP0ACsICI3ayY5jjU8S1VBwN6xq3N1S0DgDKeifVLsIoM8+qTIexsG0asttHRoCuwUHfkRWAacXbYTUreakPK8iTrVkaQtjRtfPBEuUaNl9oND6B8n8n/IYZHUTN6pzt0cemLAeNbk0yZrC/jqEPKRlPfy+lmLxJrFmrwrKr/h5stA9+9D8wpkngB+dYDY+b24T8dTj9hXnKMo9n1GKseKGwMry/FA+y6903AYin+vXDqibdOlU1FOa3pVeJPZ7JM/JuAuqtqRPUfOKn4YtD5vvSWC5Bu3q2Qx27PGqX2Z8FeqKdAbbDGtW/nWk571BR0MqwJYWMDllzbZqe2tyGgthcFsFrjWbBHepI1mUDDbU0uVwQUCfRxaU1OBRtIrTWRDXLnVZsBBHpG+2wkFhrHkF9AVMbigv0Rhz/W59iA7aygRCWvc2nB348Gt5ZmnuEnCQB2bXPYqs0=","tokens":86},"timestamp":1774364043725,"phase":"commentary","phaseModelId":"gpt-5.3-codex"},{"response":"","toolCalls":[{"id":"call_CI2ErptAaV46MQAOclyum9if__vscode-1774363162400","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs\",\"startLine\":1,\"endLine\":340}"},{"id":"call_YNpQVJYiCJ0i23GDydiZmSpR__vscode-1774363162401","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs\",\"startLine\":1,\"endLine\":280}"},{"id":"call_XrJcYgpbfmHvBb2GJqPeCLaZ__vscode-1774363162402","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/RoomManager.cs\",\"startLine\":1,\"endLine\":280}"}],"toolInputRetry":0,"id":"96185fc0-d2e6-4cf5-98ee-1e02c96c468f","statefulMarker":"T6kqKj915DvOYIvOSevl6MjnjAQzxfrdWsHi2fyzcr6JgjMQAhjox20p8PWFUHEU1kRCRvr9Sy+frAB2TLlcir70zGZDxmzWyyK9lYbVrYrSsF5RUs8/7GGuctrL5x3vCU53VpG7wxHw5I/akBOxiHvMz8TZRoWFarLsfDR4V6mC0qsHlRIot4cGLwFa4I4PwtSYfrev18Sp4ugo8V9H18xt0TtHN228LN8UquwwgdCoWOPtZuaNJlcaWh0dOzQp3z8tr+xa0qojFSoXDyouBv/biNUz5ezm/VKYwox0KVWQg/mcO2atBONBAjMcgCo2mc5f3EaTai0SM5IJRvCW3QkHpLV3mdcf5bH5snkjMRS3IsLuTfOaIoaaQw7WFSZMQhDXJ7YbbxYOIMoxYxj7bqRH8Y1pcBYh","thinking":{"id":"1jRs9pqb6L9F/1W1DQhz9eXvOELHle5+v/tcqhgQ2eksGiWqiGmO50hVodL3zIIBAeM76dwtEuO+sVcweA699GNBVnDFHpNFuB4eMgS1u69dD7AZ/C3Qxskxukk+o/ARq7BcKNL4gBdZm1+A2K46lXTw+xV7ym3i3RcPXlELq/AlNS6iSueEI+8dsMlGG1iWXTo3URIIIASV48ZXrd9gb+Eo4TB85MjZYmhuOerttiCifwSCUUDybIPg/frMkcLRhVvC+6iGAavKD+3ziUvtljizSZtERqFY7w/mNXDZ0VLgGAUQQEfR7jHo/pG1Qk2MBoZOD+sWghs6IWnSVmXqGQcqgodw/QYowFYV92d4CKXC/5Hu50Lz7ljqTJiUkoAnXz87p3UTSqsVejcMUdgaBc7wWXv/ew==","text":[],"encrypted":"B2qA4g2UMHAZ1fo9JfD3QnmNXfkSGsfo8bn9YXjmlbA9OaGA/pukTNAYfBh9KyZjQnqA1Q6d+cQ7NrNAh1E/nRRmQO5t077CAotb9Y1KHmDZYFRLmPl/p9J+TIy0pH+8Z2DFgZrI6lzOxHWTnKjYGK0EwFA9xOGdJWkq3EBtt0SEFNyZlanUolyUUhRxmmw4ZtcFvhsWxBGmgJySJxsv85AseSZL/fGqslSVlTIhz6Us7vj50l5eRq1hO610YOXhgUXEclx+YCbY4fhbWVmrYe7004CY6ZwbQrxewrk41VB6Uy8lcK43KUxOhrPHf7fvQ4Kpm3mEisqMmGEmDlZjekAUNMoW9VsdxacsCX2nDfjIA83v3ZEYEgIae8Ay7xFOgUH4PfG/4Y3p+tgysp4XCsOF7AlpzVajoI6EDVzrxATxnXj469RWeoXeGHgLXTJuW+xDm8+fi1b83vORgDK8ks51Ez62lwTku7p/uCQLBi+LNmg8JY54LJW9hTNqIKDpMoXImLeSU8yVfjiQqLf9eOzjRPtaM17N/SWTTVxAHeL3olxtcDH9cCJlnFCJ6jxN3Z4vqq1YEe4i1cqOhlkcZCQYR/WcWkKT+WOpD4qmvLeSb7mKm4+vSxc2iTfTpCGW8Hu9wsXg2NxPKAxtwCP896ZcFDvuHmUfUdcfwU5JqTA6QRKGkeOi2p9ac8Y4MdkUmF1J79uIhf0bjAUH18KaIALq2+20wcoZP8ErdOOFyNbA3oh8N68S9CNKUaoOGxR8TkbP9WfvMh/ef+Ra1h1v7STMtcAD95tIbI/XX1ycMgr9pshXOO6Bea7VHOsJmL7eC8EZmsOfgUXtinnHL7+qj9LuBLRS3SbqiyVLIo8TRlbva+bd9G4iYUtJA3ok1yHma1BwKyDNfOanUOZ0iI/UqQE/8zYJ4lW7ThdZXv+pfbbsRGPVrsSv9mzCYEMIGkjklQAuQddUlbxB4cGXiQYz+RygDn5Msm+/OEUgsF2JD2wm30jeETzFk+T9847h8usnOaT1RsBqdruol4kSn+WFitJIaxb2OIYSbYRt+Xbre1nRxbpqfUcdLhuWT7C+x2vFRxkDeB9lCruWfc3m9zwEAQW9xiGStE4UyPfzhUW41mJ9NGy7VfIdfT4O6r/Gq1nO6JgAuBV2sZuKwMi9fS7Zztvdy8D97449raJh/M9TpO3GL0KInbQ8YMzApjri6yVTBupcMRCbsj+xWDeHLN2GJsta5cXfE5RoDOp+RiGRjYw8i4y0Imi2zZUNG5316tcKS4yWnxDYZFNhp7tgqV7LwEPcoFJI3szCfNRbDN/IdaHPsEIaX2x4nxt9Q0rhL8VE1jY7dxykO4hjxU139j0VI2sWY9K2yKxIJiZKaS3ujlscWjhRLN+ET9Y+iIDzOuYjVnLFpx9RC7V9Zdgis+XqW//WqxrmEpGqlP+ewnYkY0lbHjXvw+WEL/NMy+OVGBOK75yqUoFLaQEKA+tTuiDRUciSTxltTp56o7OX6+ll8z5XXA0oMC1ChnhRFaGzJWKbVWNBSi+C8DVSr23zbMUN9otIvGnAnl+KlbL42w==","tokens":14},"timestamp":1774364048748},{"response":"","toolCalls":[{"id":"call_EJNSZQ9ESq1n7HQk4kWhYxfk__vscode-1774363162403","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs\",\"startLine\":341,\"endLine\":640}"}],"toolInputRetry":0,"id":"1e8cda7b-f7e3-478d-a6f4-5b165343ee1d","statefulMarker":"XCzZfjpVr0DhiNZlt8IevfCyAFAJywBTyMgzTaRI4SuZlLPeiFsv6X/mCQe2Q0BXAY927/QaJNr8qQY1SeUT7DktQ2FQcjbeG8HFjAxCIPgZg0MSsSZI/z2PgqVJtTWr3ibD+V/BWxpop8yTvt3mHVW52ZYWu8ZPGeDspH0uR2WlaWPfWDxoDU/vZuyqNuQP2VS5MPOvZNdScdzwNGMoibN8qQxBeff4PaczRJ2RwYLzPJLZCjAEbAZQuSksiJwmeKl5hSRZfW2ZHs0taJTACJmI7+V5U7Ij29lP94RE4RFSK5H8DzWe9T4Qh0zDHnppq1ostgLNm9X60VaGLbd3tpDpnmNXpUVDe5cP/C/5W7r53yKoKHOS2ImvGEYXSqFdy51RNAo67Js4LuKIMAwxoawlqgZRFSi5","thinking":{"id":"zQ0WOubffs/WnxPH5Gwr7bt6+GtUyWuAKcrFI4SC4+uvhiz5BAWg4QT/R72Y1T1OdAlCT6HusAh7GG5phlTh4VHSbrQvTV6EdrMf8xttXg07brRz2bTfmqdC1sfG3pAGdqorSLUpjdo+oTI/IANQHIBiwen2Qey8X+v5xK9auk7KtrXItsztSi0ojV18FDgbZiVUTNoiJw2iiWzcQ++N9vgjPRXKfwNnuMDHXJ5ry9LndYZ4/cdvi1UU9qXYXAEl4wSR3jTbHudkJMfVES1AR0x3zBkrWh23jnwjfDWTWJV99ju5pTldMVFiScL4brYsBovGSiS+Huu4kmbfK/PsRISycCDmJ0S+oQ7obo4Yn1CFOzifZoLQPyh2CQb5zmq5/hpUY2YX9d/VJPV8d0dT+wsWUhyKtA==","text":[],"encrypted":"qbTqcMkFUh/rKyVKODXEipWRgxw0p7HNda2XsmKri3ygFC/R7A4F+U8OMBDqLILotubBZ2Gc+9OqerDsY6PNQrOhSpFkoVpasZUshJYJaHlMhLtfdmnkplIiTeluzPPljg2SOsLBjefhi+y5IOqIpIHL9ogdirPCSjE/ovIo427dSkSE2UhMnloSwxVAVwrEJeP3LoN9KlVoDx16Nx/YtS0WTh2KQXRfl4QKjw0CAQIBu6S+ZqyK+jbVsY4xcPGAyPV5ufdPlbuKFHEgErDY5bsL0fQz3ZZtgQVJysPlzGDluFbdW/YWt1HNlOkR4uoQa7CflvsV9avvwv7RbR51R83kPA7Ge3c9gUBcOlKubFm1OToiUYnJ2OeT+dHoIzyTpScveQefYkue6F92mR7quHV9urlknyw8M28goFniY7aFW494iyQS/YtQtjFShMDIfwCWOq5Enh6OapwO+zhazgQSAwNLW5k/6RmryLoWbZVMUEbcuTk7fq6NcqevsUmkOLYHpBbOV+JUYCgA21ckeOsi6J1xo6H2RLZoqsRIYwJXnZX3xLcUyWB7BAl6oLfYs+piEneKBcSHeAguRo+zhNcd/M1r3NHmKN+p9nIVRkf9B6gnnIz9ICyVGtgVWUIXxDfalvVeb08etrlCc+ASp6n/y05p2A8aBg36svG8/HSQ4Co8Rkfh33gB76piLC+xjXk12ba7Jccr9hQvfOzgp8EaEs+oP6j3toxp7lBVl2kmlgSUrypxPLJPLbVz1qBddRiGEIuc2VWFcbdZEde1Y8SIbp5G7ZTD+dG140SYJNKPWZxSeJt1DuDDOTsrU4fqFNs+WrV40jz76gxW9U2Klam2JIJK8yRsERyZrYESivXLSw5eVvbchnbuwr1/hFs9MBKrNBNzN2vHkHwHhDthhQS6CBGJctwUya2k5Ys4rahHa4wMllAvK6Ckuovpt6iz2y23GoOAakOPsuc/cyiV61MY6dYenXSc409fm2ENVipkzwixMhb4QoCR2zHJC+eKMzOrZ0Nrs4xBImqobIbrCdDupfs+puMhsZNH4HEt5FAEmZq5INvVnqM2Xn/xbC46TPxzaYXGnw57scHaO2wNjuxK4mcVwVWlM4Mx336CRnBtVzDtdniw/M4J0U4qeQsz+CpMogHIgIGG2jMGWMZuJxOPtAscf5xasFcW0t5PZ9L2CgUkfgvQHTDcZqrmobCKF0ilnaEzukCTC5I7t47CmGhcr56SCqfynvqLRPb3JMS7BDn+eIxNemu28LIhOvSjfnlOA0KUXxJXeIBeEQC+C23fo09p7Ymi1b1KtxNGeHGEj9X9dpT3ZnVgKVzbyHGr3sDToWxhP21ffm/dQ8TgOyh785+BsmgAta8jdoNagk9rSYtRnxCYgy4sN0U5t74L6A2lOOJaZ0yblK8K8uPLRu7t0HGHdEmPS22NbYxgkxRT7nYb+ReI4vkcutm4ybONmMH04GtRDEZ7Q0kDdaw5TDm/vQob2RruV0cPKEOO/Lx5X76gyK8hbJRD1VOidJovaodE3MUArtL7H2d3YAAaqyBvONR9ah1lDf8IWZT0ESpAXRQmVocgmDwCQYLw9A+WrYUswXTgQHS7OMKIhRHh5aeFz5lvUjfTIXUSdy1MNCZX4YWMsiflt+7P/q6So/aVAGQNFcxfTtW2XZX/pN8ECcXlCuc=","tokens":25},"timestamp":1774364055236},{"response":"I’m seeing a mixed maturity level already (solid event hub, but at least one placeholder manager), so I’m now checking enemy/shared/data/UI scripts for consistency and any compile-risk patterns.","toolCalls":[{"id":"call_T6pJzSXtbIKLZYpDaLBbjXWs__vscode-1774363162404","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Enemy.cs\",\"startLine\":1,\"endLine\":320}"},{"id":"call_z0hHwAEGxCMcFw4NWgJ90dkW__vscode-1774363162405","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/Health.cs\",\"startLine\":1,\"endLine\":340}"},{"id":"call_DAnjbmQiy840CPb6g9qSW3zt__vscode-1774363162406","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs\",\"startLine\":1,\"endLine\":320}"}],"toolInputRetry":0,"id":"9f6d0017-2e09-4830-92fd-1176e3f2ea89","statefulMarker":"OUvNxML6l7tOTTVHos/OWGCHYC9eKm6zvP3vmVts13AG7TLBzgNSZLN+V0rFMZtE83EGzZx8vXiyKVD7fGVvKFD4Fk87HgsiDKiNjfP3d5LoOeGPyqAiY7hpMh2VMH2Aomldk0NgM/fiLjZ7wVzS/Ba9EbVZB5XD+CLqHxL8KgKTIroZgDpnf+N3WiNADrShIifT0UwDbryxBA2+Pxv8tKz7ypBbM1h4MGrLoXazpg3DP2DI1pbtAE2tfNVi9d/vZh0IVdgRAqMlac/AV2EgnvVDQsP5kLqMiLS5dxkJ04H7LfEcLh57iWfuI9z70TTSXfNSRhL/vPfjVXpWnBZjnB8kUYB01+fciXo2j788tIe0OkeChVn3YQX3aBHHsYGhtETf4fqXD/QC05RRmOoNwZu8SP4QCZR/","thinking":{"id":"z+7WtIb6VL8yNkSJpYdbXsF4ljcxww6EFnJ7u6/M1pH74Bjrly1hnNJXnYfK8qrN2Cwa+xU1lIV/0G3Q+nEyAzJS5B5SMZlQrFOQ+Bad+yG7Djsi4xevmkwoljZERoD2bNCNydEoQWMzClirZnjPTtr8iBl+Pk3pEC1WdtTE+lUHl978P9nZPTDADgZL3zVfgG9VukncLyrCJHuEvUMnG4JW2WpP8Si5UHVjUh66NL1TqXPu2b9sCyoVBmlQ/qOL/VBjkgai6sooCPFfMogKz6RgxI93topvUWHTw9qDIsdWAdJY4ZPuv9FphjrjDns94hXvvn0ssvz/zk3E0jOjHrq9eKZ/aEGXXLhtQvWavKjv6gYU2dZbkJfL1dn/EtFzmhb4z2NOUahN62aHainpNBaQayZOug==","text":[],"encrypted":"Qjupu+M3QYSuGxAXrkn9xusRZrkSbSYK0KH33uOFn7+yJCL5EBeXjiiae+sQHAyTfleadr8n5BxgNzuu01/LIZIrkI8nBK5ZaQgW3cWoE6I5LzGPizc/LkhRF8eGLFMtd6ueHMRUUTY1AtZD9Wrh+IzujobbDVGGE+sz8WP5XrakiCkeg/fuEBgqiTMM6GmuSvDQ4zsucOD3v1JtxEtGEzbizUff99XW8AOv2mQnZJqfgPMIMLemFLV+fkTtaeWQlL/gSpAJjqEotl0lPM4OUk0xDdHqHZiN1R5ELt11nzi5aePJPahZxYxJAQuXpoUWlTCN/PkM/qNGSvVWG9f1F9SqcZAJRsemDBj1FmXbb/WyJ8f3XINRJed+HQV08dw0+DzxsbseFtEQymW7mjBcZliQ9LAvqkxnKN9SQzqXNeQAgzPmZKk2LViJNXuKzjmNJ0wRsffBotSo60YYviUlnl9aV/WStIhZr5uMKFnxuduIB1TtkcY5ee3VY31oz35qecLSVl4SHhpywPoxS/97uIgc0DFcsWU01yyhw5XD4zqv1xUHd6xpTSLUDB3viwkpMfX0QNnNsekLwMC1ZMDV+299KN6cdxxxXfV5epzfWz+NZGOM0amxP7Wy0uu1AdLDExJQPToSa/50dwDOpD6rorjw97BUuH6CizV6Ek1CmV6MVkWwEiKyNtI7C5ci0tMXZzFi0uv2cjLIWdzB4C7EbXTP86+nsnHkhLRLkabtbT1351TgXIsxfNLHvW3T/2qBunepC6gEsZd5aQB9rRiu4D+2gkRpDtOmJDArZWTBR2KbZ8GXLY2ldYNhoeMT0wXfyOX7g1uioQN9JJ0aN7Z3NeRc4spyv6MZNAIoXZ8onlXrsFim1kaRGWoyDAI4kduU4JsHbCVk2wf5owhLUY02mF6IDz2AlQnYwgEaOHYRp7zkRQo8IiyJeF4MMlV7d/WpSM6UNRDg/RHNcdyLzsNikJMzwWoAhodyFLNGIUL7/I4Oa5mIMSPED/TTUxgmBFFmlvAIgN9MnBKvKecoP0R83AaQPnVTkd3e7YKxSkvtCQHcph7WNpn1PckwSjbeYAWUPRANbPzp+tuWM0nvvVfYu21BGdDHaDsxgE/EsSMpNW/UIh1uknWt5JXjzVmCv8Oa0o11cc1mzM8ZwDPd2Q+CE06vmyZwHr4r6pbb8iq9RSBw35BsQjQb5Mn4BkJa9WyniQ4Fz7A0A0+U105r4zqMBbeOSfJHvQnuIeTkf5HGY1AmW0bfzNIPCiKOi3Y2zP7iHoEmDcilgiOwkMfNX+/h1Xc/v2RxvA0J478gW343nPE1Jmv/WeqlKPikFDUvEI9n1Zq7b2KffSRfIgVZrHuZClgr5YF+wgx3YTkdjCMpTE0HvrrRN4SAgAD0NPSU+3gJWCz1WkeHkTwUMuwJFZrA9mLs73L876vjfdjLqS/5lIScCLCcqLZkrdV42ljTgSHjNMgeCBTkohZRa/zqzjFjNdKqa8nVhWpaTtKUeKuSlsfI8ORI2Hx+pEZOuOdfrgq9ijwyr4zhqmfET0JkTg9S736Sr0o0wsHALwcBWO4CP5xxaO1QzEZq/VX4+r5ZTvKUV8jenyQkA3zGjE5K0RH7sHew0HYpEyhfNfutXuvuuEH/tu3UMCT52nuUJEUMBdMcGGzjQeqzdT3D9bNzAJPSp11m6yk=","tokens":32},"timestamp":1774364060719,"phase":"commentary","phaseModelId":"gpt-5.3-codex"},{"response":"","toolCalls":[{"id":"call_Ki3dZxk8QTrc75dY39uD3jg3__vscode-1774363162407","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs\",\"startLine\":321,\"endLine\":420}"}],"toolInputRetry":0,"id":"980ee44b-a793-47b4-819c-02a105516204","statefulMarker":"ztCjtER8YqAly+WmxNVmF+uT8/K+HJBzU1CqNjGVP2falljE5zLWII5to4LwElaVdeAcSs4G7b3BT/fkurKLmiVqH4dg2nZYGUHIfsQ8gTi1/mN4vlAnTZEq3pkQJZwvf2ixljC714wb7Opi1kYe6E47MKDkPz1A8IY6oGfsWJXjoM5541ZSRHIrbIrHR8N5kPUMEQDiuXfBp+JaFjEXDqKWNcOXRfzB06oi4fyL61pYvQzAtDOA/vxTgrLQUJ8nToCW87M5DPtXejs2L9bYM72mJTqLq33JmHsmMuLXKrelLeFfZVNjGKOyc37PppvRdbsMcNxglApse9f4lno0SbHbcVr4HM6jygQoDdbH5TVeBalFWS9csLustMiRCQect/HI9tjyldnDlEbqx2qAD4GqsYJVrGt4","thinking":{"id":"/UfMWBE17ULQNmPUIDBHj1TIlgiSfU8XcEugbP7MQE1Q2mhYRtnqE1U57cvqTDHlwoQJxQk1mCVaefyeXMAlqMm8BxNpF/ch0MNw1iNBdoYO86We1g7P1H4HT/CkuaXfewUVEQMs+dUO+nHiKEgh2t4Bv17VhC7W7jfIABHkLo969Qm4+iAqPPOuhRy7RMmYQntXqPz4fMIgWkbV+3zB95ZW39ymfmp0UgaS/7D1gO4Eht49W/aNLwAyTt7p8Kj+xTR9CBUvZRMt5lheMYZkk6sJz+25UFd7o//BIXBOAdFf+lz7C7Pduk6qts/5gnHzILcxewruu7fzj4BmX819TjKaRze/dR+G6odULE0EZj5b6K1Tarfo/OBtN44bbwN6iDXa4du+DsIburvl8sK15CYa+u0eDA==","text":[],"encrypted":"gmAnx+lw/fgc02u1YBcT+kQGI9P/z9gtyFqG2trv6OMr0+mPj4Tbjbfccf9T72lNIRWOEWkmiQXHHSYik1lpxU48ZhPQp+LRlwOpABjF7jiyUytq1yT/7cjLuZOl1eN/wzngVWjRQ1OdluGKvGgeE3EISyvNjw42eZPovxJdlqvds6kB8ZD5BpDzrdpGXo1qAnLLVrQ5YSvLAtAFTQd8zDhe18yXul9MeZRGq01zNQbn+uA2GLGly3UNzViT2CEG4KDWV6AQezo0z8slrkJbBTIAQ3YG2WhBQhFDawNZPwfbd7K0vCTy6VU/vbrA6+HTT3xk/A5d91ru07KTlEw+f5zkcsm232Q7XhOY6OGlCTQrriBajQqVYlLjwBfzTu4ssnCPLN1VmK0Vue6J+CgSxPXPr3SQffkE+aDubxr3/hNHzkDVNOgLSOnkGwwY4cAfm3/7H/cQlyPMK6Ldi2najtbMrL2OgFkI89ZGdTPM/myfyRX1T8+SIlagh9tpAIeVcNFTuHkc+SfsdtzpkIADRJjxwyecMU9JsVxjvyjG7k9bDBdZVZJOUTADjmQhI4wbrt1lC7abxgor4owh+65TnvMHK2FdgzA0MtfvTOt3eMUKf/YN3D4odnBnN3+IW54rG/ZwJLDa4Ci+pK0Yzhx93rWLcbHjO7q122P90IPNxmnNaz6HZN3BKFZjMewWBkZgeZB2biCIM67HvV2Hn6HJHN29cxpRivW9HNn4Um5IWbRYtias8jwYeoMqvufRexnSqoKP0EGoioTPhdr+PvRlqQVYR4S04nvuCUMlxMkPQZN7L74NS3MzGfX6vNFO+fzLB0Tp5W67+nJWkZJzgx2KZPQ+vwEXeZrGm7W3RKogOLm1mv326OfBElMlat33VThTPQDEaNfgYMqxpP+W+10xeiW+cTPdQrLJ5+N7gsO8cXww3Sw4KAgtfrLUIomrs21Nf6n7ob4TFdPFtP8c3lkwKvNuCFlTFuBgYG8rsYZ9z8wpMcuaxTw+HRB3lp4oRYfLUa5cwX4u+QGbShL/AHn6IBozh2pNlX6iJDT4HgN1XsIg7nAjqZ8oQ0PmCvy6pctxTfmUX8XdNtykDn5TdXrI4hgiiU+8/AnHPc+lXxdu+wGE1xR2n/bTr0H4fYH49ZTI0lDdbB4JKLLxPYQiJkiCsoKxhW5SrWt9hZufkZi5fuOe9xwxES+W6/wMsGlEPKMqH89RrA7yObZH4p+ifJ2VYBF8ykrgJ0hes7RLYeqNQckBXuJI/Q7AKCtu5yfRy8uZUZNc+04zHlhyQ0mTmbeSVHy1guOOURyX30rgVN7bNWWNSxkfH0wyMoqB9644xeiyAq2Q2dGDK+PHKT4d/U/Kj/BIPwoYxvIFVt1rBqyqjzS3Kd9Oo8NPhR+5DJz9+S8KWLjwPa/ValbgHPey5UFeyW/+9eto7zr8qdwLbecgumQ8tOkrEKxCQmL1GJaq3pNkl+cQ6bfxgyOoRms8UfFh8QK1KL3o7YrE/vbLOwBrLmT+EowfhGN42587XTjGUxOVMU9FNYfeUJZAztXDYS6Dx1Ougbvaafthnf0h4fYaznMCJDQrnp08Y0EaLmyJnPY61oEDig==","tokens":13},"timestamp":1774364064345},{"response":"","toolCalls":[{"id":"call_rhH5Pi8lPchjk0ONQJR33wm7__vscode-1774363162408","name":"list_dir","arguments":"{\"path\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scenes\"}"}],"toolInputRetry":0,"id":"e2e491d0-5170-49bd-841b-9b1e16a35df3","statefulMarker":"Ecrw+kzfwfb0shekdZ0sZM5XKhBDtMcs2CNdKT6TUWLp3hEZPyFRJCY9zXs9F5vZqgq/k9LJ6d0O/UfTln1vTJ290H0Lcxxlfb5twIuZrk5owiim+QKc1hU0p8lAF4okpLdQi8Cr4zyVZcTaXVggbUy5fMEgg4Dm2YBD+3U09uGZEbzuj5WI1Kn0taeVR4/PD4dYK6mvXsXW60Mfr4Wy6bV4EeuP1tMt+8QtOBPJ3nca19bh8dUl1LncC8M1Qkao9MrmBwtETswjLDRuiw+cVumXqjVkIU0I8Sn7+viv4haa7PscAgrzAnwrnhvJ2n7mSKzhteE3+nvy0eMsyO/JZ//HUv/zRvDhW9OxtBxl1VG1xQ89+fgYsNBYgRYcMW5iAiT47HdyyvrxziSjhtts8ZUnvoMmvRFr","thinking":{"id":"t21ysv4qMR5+vszBRhTw8+CqiZehK188I/sv99VMvcVatlzf9Zyj1z42HWoD3lMyUrFSwFrMsJfYpVST7f4qSoZaQau9o0sCFiI1EGPHhjF4Derdn0NEMiBPEeR6ldFCrUoy8HtVzC+Sy7yDrhaCP2hWbh+x50JTyhS60TaISLHxwSRe8iuRozgu0KQgWCvgDaF1oFPPaFnpxyL6zdXlZQb9PtoGvPrrqDX/5JQQ+fN1Gsw7WY4z5dbF8nyD/U82HPJpzXnq/951PuuFT4LFTLKOXFhSR8B5HF/eC7mbqLW6KTTD7XaFUeRzxsoLqK9WuG21dhynjbQXV2D+6cm+LJKEg94TQu2cLsOp5yslSyaJqpiuRf28/Yv/ndmS4mxCSCaNsXlHh4iJ+apbxxmd8aVske69kQ==","text":[],"encrypted":"sHEgnsVYhsPdoyIZkJDxktP/PhMHy6rFJa10dBS5rhwgu5QuMYkZh79oyuCzFYZLvOQHwtoS9+Rf9fIlqe5BQhd3yQx0xEkURbSS0goUdR7xbcF+W0II83ePy/pPg95HPmQ67K6J0blXW+JL4ybw9E7BZwGGiBVmOk4zCBH0+idUXu9mAZXJIn+hhgAazc62l954GEY9RDjBJQamXjE7T1NtcbbgymfVCcJaKuAYeM8Oe6jQQrMBLPwKEx3e3PSoCtYmccHDawSRRF16bYzACwxLiSs3CPqZfV7l1amE0cKe173X3tDg9DVdbRFhv0loHLwXhIiIH0wFIupRx4D3t6stLy+xjF4EB+tlUkQ6ZjvYEaoMjZRAQUdHewOVNqmcwPGyo6zMx3/8nLfhmBzeFAkL0cgYvazODqGKNlIucPaRG+qfkjS5qFtfOyercJGTJdraCjuFfx8gEGdxyMhNdRtL24/kLpscgQEFwRNCBTRPj6Wh+9ZqP7p5Lc3ViYPWzAxLDmdFw5zhpcv6644KSCS9xpUzNPxfQS2m1oF7asNC3uKtXFrN0G1gatr530hKSfnPoCGUMognHB2zdo8Vw6N3BiGTX2W2nvlLDwq8xhNPnuheO5RjdlHz/TxppHioFGkpYj1w0PtHu8sUtqCdnHTvm5CzXbK/OfA8DvWANk4xvplYIBzdYjYA7Kis6bUI9qti8MteoW4qK8Jfw15imtES/UjtroAccmOmAWWy3BuL07QLcrH4z1OpFdQycKYqMUVOl7ovDx+vLCWK+s2NBEFV9DFb/V6NvJrSa96eatC1QDgroT6xet9suJFHje1BvmxIL8mLouhpSPOXYdpg/Et95qdUWIELPyqvP4nTyF59TWk8aYEJpkq3yf5UKY7lpk0GvjOQ3wmQKdfx9DO2Doh+iOG9H/07GmtKs+l6YM8S8iJL3+N0+ZHvvQuDzaNvhyoqysWj41M4IPNTNL+24jBKMJapyxdXjAkDOztKFKokT6ANa0iM4xvB7VInz1k+Sib/k3SD9H64qsrNrt1DCMKhRZr7DnqSElc3xh6baJ5E4u+pESswLiXRGptuXN0Mz63etCcnFKvKEhUxYANXqDpGy8fBELCTQmf84klFaVmZD1XOt0lx0aZGTsjLhjxNq4JYNOmfd9tUPtrjUFGmHZrwYrqxZDEI3MLqmLOEuRXB0hJRtYyFto2TrF7+J3vJtl5KRBAhg2x+MewU1sYnedfqyR1Hz6tfBKelsjkOjb76qGL3UQ4GGZAgkKmPGEILe+UQpnG5Zvurplfo7v/X4vOSl24YUnzf73o5NoGVcKxjZQIOU1NVEjEqo2oM1CAFBGT7N9Oidutls5EkNIxkgW9QbFy4OwJcbWATXekC2ZqM30YwbbUxzl+ACnD7g5sHxiY+heqX1IwkOF4gRYYbgGmu1Ux1nirXF0XMiQRgSyE2A+rHeo6qwXU+QCRoih6aapMqm4kLv4fTRy0MDn016GuN1R8oUO0mbLAVzIg4NMMI1eFcAsAUzHHEtqPEO1dlMhZh0OcOgjbGNuZiHLn8KkBpan100j9FR97yu7l2ze38Z29gUhDz5P6U/w6pl4A9pnoHMkpRGn7KFCOrAaoz2bkZe3ejaBcDYHDBNJAjYDBZe+bZpbHXmWSb6Fg=","tokens":21},"timestamp":1774364068436},{"response":"Quick status: the codebase is real and active, but docs appear partially stale against current assets (for example scene naming differs from README/GEMINI). I’m now doing targeted checks for event subscription hygiene, singleton/manager quality, and configuration/data consistency across all scripts.I’m running static pattern checks across the scripts to catch lifecycle issues (subscriptions without unsubscriptions), singleton overreach, and hardcoded config that should be data-driven.","toolCalls":[{"id":"call_doHQiWn4S3Vox2FVoGeRr9k4__vscode-1774363162409","name":"grep_search","arguments":"{\"query\":\"GameEvents\\\\.[A-Za-z0-9_]+\\\\s*\\\\+=\",\"isRegexp\":true,\"includePattern\":\"Assets/_Project/Scripts/**/*.cs\",\"maxResults\":500}"},{"id":"call_kAQyUrAxNqC1RFW1YO2YavNC__vscode-1774363162410","name":"grep_search","arguments":"{\"query\":\"GameEvents\\\\.[A-Za-z0-9_]+\\\\s*-=\",\"isRegexp\":true,\"includePattern\":\"Assets/_Project/Scripts/**/*.cs\",\"maxResults\":500}"},{"id":"call_dj0MaHsQIx2EA2JGLaZ4OEdl__vscode-1774363162411","name":"grep_search","arguments":"{\"query\":\"FindObjectOfType|FindFirstObjectByType|FindAnyObjectByType\",\"isRegexp\":true,\"includePattern\":\"Assets/_Project/Scripts/**/*.cs\",\"maxResults\":200}"}],"toolInputRetry":0,"id":"d18b640b-d7a4-40b6-b778-8dec3faee85c","statefulMarker":"Tp50NsY8vYMEdPLFOgMGa72/sOFT1QhHUiGO3i2vyuQBIzAJ5D7yv6agkqYJp82pS3zQzTAVw26BNM0PoMabqnq24MPYRWmv/IT0KRENcW/rtCJaXDLttc4gGuEOkYn/vpo0C1zmMQkR7euXxJ65X2JZnSQL5CRGL9PjdRxvlQ+kRjDPz35bYtp1sf23wQhcp0oY++/jG+YFupoLk9swJQJ4DuFUwro9bdZrqlIpdrSlKfPWCq6dDHpVJ7+By2y/NC7A0H1jQbYpaBMuKpN+ivYxZ2k6kYrnZTzf5k4zI0slLeSe60g+Wi1MHA9Uc70QcbexQxLcGerND6p3iqvCCvmZ9O54fUxch9ahp2Tvg9K0WlPJg6WE0PfH1T3zcPyikLyIfDUvMmTuSIezeqRZc1WEIS6u4Lr2","thinking":{"id":"JV59o13I4vg3q1bJgqHr654995h2jLjmYjkDyVSmGwkIXb+DyhDRHwxrka4rk/korfdutV/xYpVv1oxLlZ1aNojXeLhF8XXCGRF4o4WzkgZf/R2K5XCKnldqbfVbtNZ0Uds2bRqdXywJASV3ra/1RjqaKb2okWhSGA+9Uz51gqyFBrSk2bCWk2ulsPwlXsOfw33EBnYs5bqLtO8RAoSyKB3yQMO2Q6N3nMZ8YVqVob4KzY8hfn5ypdg4vHlPLVDQIBJpI7u8Xuyz29JpRCUnMD43sSUR+Pe906cTF/X/JhcYKb/nq1oeVErPOdhMUfSVNYzyzrDhCupsJLXI72XwWqBtzet6zODXG7pNeLZNH4B7eemtydmh9XVwC9Z41tYnc8JW1w+p0frvpd/oSUBdnXPGSd/oDA==","text":[],"encrypted":"Vkiz0mNNIGnQaWaOIRdeB7OM46Fp3gft27F6ngHzpM3dikOvGzCOr6ATfTdI/e7U581SXeAGSgvNNTXpkfEpXuuyean7Igcithrc0Gv5AdR11/jz4ZDl2buKEIceuYSjyL7LqdTDkFqlkHdCuy33q85ebJxmjXQ4xOCCr7kXAIDXCgkFqj9u9SbjHzHctD4DQUaT32o8XOX+XXD61MS9HxqlfALfKXYzfcO+k+oIJAUirrseE1v9lW46yxO2/GpnP6pzFQHDfay9jCDp67ekUDGvAisjoJNLr4DHskY9blKfcQiNkOakdKn90Q6L7ozBzfQZZSyRSX7R5++VuY72L3IH6jdsIFH0jcctxhZXdE3vuespEOhclxim20pyrkgio2pQ7AfpFpPmTrahMu+71+cUumcxeWSb7sUKVD3OzHF019W9Yhm6WBscqyH28MKMWtalWMoqeSIGw4etBzuiJ05U907dMGyAvd+Ikf0ZeBo5tiKZeMTS5BHPS0tF9TRbsnphBmqC+F/+Cjo21fCU+/ZWSSC7vK75dBUpNcpTbPWwUDhGqxXDs4MO7kU5mBi2TM19PWrytEdhosADo1kS48b65UONHBgS//d8lPn5KA/QIUcpHR3GkDLbz8HKPbeLuMXyrTygolDncjrmNLo9aQ88CqfZGSvNKa8CvPfTZZ5pcbzbZKdde5wfCbf5NI7mpxChC/ohVMhpyNht2lVEP9gryi32boHZBfZHiwF4Esdr1j/M0OMYm9rivOM3qKK2Kgglkhe5fxdwNuDimsjKbdHs30PiJTTiKSd/5Bdwa4lf5LGAY5KQunxa6iUfDXAE6pjq7Z00l+WEQukg/DNAXv95sdyHSYB5IBsdHdd31aXKt6z2bxttwsMeUjBPwIa1eL5Wx9bIyZMWE6leWKPlookqE29n2rk5B+M7s5P8f1JX1+6EbcIQUEJorQBwLSGMHoi+8wDjjSbLMxYKgXmKLbttgFyAOMZE9IGSsWn3BC7V4MqQOANQIbHxphCar2UtiLbL8vRsI7vQ3P1SJ6Q4kRr9EeRhelHllOlr/j5iLp/6Qw5PFGEXPbCMjQCinzm9Fwib88z++LJgrPBONQ4cM4rBgcW71BrXlzogXou3sZl/JaQqnF/IeXk0VC94Q/FytuYXjW/N1imvgms5bdA9hsXuAu033tbAxByWjyqRVy230BBf3gLl/EHeBDY2RtqsuFWbn+5ykgg6HBzEH0N+pmIJQuckN8mLqK9QtkoQ5EbE8lUKIvPrH7CltPH7ultJe6r5RCAZ3XZ5BVCPnw3eW7wxJVO+B4A5oq3VT62qIum1hnH4+3fquzyTTu7U4wsRQOrtjjCsjIT6FiNmr6ZXdjrspXPUJ/VIybYo96ReWUVW/5STr9b0sMuLHbvUaoZmu9DbdC+TUYtw1p2mtTH6RdLr9Owth6HB1pBtogyC1vJU1wO+Z8++LWxy7uT99qfQUvrIvew/sHh/SaYvqXO395zxoNUaLF7GUUmoW7sE47b6nnEaeW4iCIn6xDdDhy4OOr/Xi+mHo1ol89Pnh4N6lQpQBoitOkX3kVqOKwqnl0cBl/bFG8Ya3o+IsFFRINaauzzB936gzFlh10PNAUbI5E5drbj+G+8gySZkG0/WAeLkN7LL2Pus2S3e6pVmjPPmy1Gf6ZOYsMDi6d7Ht9KWDeKj0jQ5sDVRVvgxkZu4JwRRHS2/ial2FkbflY0b1tQKRad/UVgFiyYSmuQiQbaRQp+pEd6h2rNbDUc6On4I0m2kPhDnEgMsnN3v1Ml8GbYnNheDFn9UlYdWvhLZRtFAhbSxuD8OUyz3H2azxifyEG1WD3bGpmOW7MplujznJFnjJNQW+LkHHqD9qahyQJC8JssrxrMV5qvb+p14gfglYT0Ok0+/2JEmDHdpjq/vkoZsShHEcYwZzRMng4zXdjCT/I07Ze18lF+tYjvezFGJaX514/u/lO+Fv1aCCCwJkBSmOKxgJ464ShkWtqRhYfI4tQ/xs9qQIXvsY9IDTkfPcYZ25tiikWnUM5x9yviY9X9FFHQvvdkvhaVGE1Eha/defoBsOok/UFiEzSqG3ozmLvFwJLWrGR4SZtxV+CAOZPs9ADaboK7O7054DPBYEvqEpYozGbEONJPmZB83mKkjVq4Vmb9Y5TsB8ubbC+xIyM6zsDfw+bJV1TAr67/LoeErdHOND/BUNbJP/baFBwpFJDA4JB2daDvPAYoMFF+VsIAEuq7cFw/UsQhQ+3hhXU4mgZYsTi1G9ObTaCj4tHBczlKg4bW278E+gDMIOwm0/avdQekHyvZknuHCotCqkuX6hSRrQykb9pwV4Br50spkzZopJ0fj6Un/pW02ESr3i2Fa/l3GYt3J7h7vV3CGBUA3Dm/ES9/8mLtj","tokens":141},"timestamp":1774364078271,"phase":"commentary","phaseModelId":"gpt-5.3-codex"},{"response":"","toolCalls":[{"id":"call_03ywX3STzm8spgR72s6MYwXn__vscode-1774363162412","name":"get_errors","arguments":"{}"}],"toolInputRetry":0,"id":"543060ec-d183-4cbe-9b5b-2257ca3d5091","statefulMarker":"pR/RaynrAfYuLUgMaXStz66GTdbiu5CeOBSM2eNpN6yRx67Wr6KMDKS6ri2b4Q850mWpSxy5uO84VslGXcieqwImRIs/92tZLfvjaHB1sXJZ6ZHf9lK6h8sD1BwCITZrVUtW7U/dG8sC9VPvVYXyiR2fHLW0t1QR334CYjf84Bytz7sU15wCtHW4E6xqji+HGmwwSDH8vOGmlA3LHldojU835f6jEN94DHNDkIFAaJ26UNHf4BYrD6NAQtsayBj2J6gvvSxUFn2Y9fQjYWlyIShngJKikBg2H15pcZX04uHubpVCAIR9o35/iaVgiWnohh9QF5mWtKx3N5RUGZzH3eNbr5ywIvWEsSUadJljpLsNTFSc2UqEF14yIbcTkppzNLyHIGi/8vfGbdDEL6I5FB8Cn1yRrzDG","thinking":{"id":"wWUWKNV7AcWjHqgJdF8KRNGI6WJKTbIasykee1rPlktkfTVryYJ5B7jQKXwQtrCxrFoyYhoIUB6lHjeb+QddL3VnVtbFtJjNnPw3UyM8gQjGS2A09yK6vyR31Eh7y738lYguFigCPe8NYQCse3Catek3eJiQDHMZGcFIRXYIv9XXL4FdZU33NnaGHdprsxmyHLOEtYHAIxc5SLU+D9mByC7mzZT6jR9pbN/qla0uheQDLfdgi/fZeiJAxjeh7HhPxPdEzON+cqdyT4BVy4e66u8ERmY3KOAIoZWVOnfnNh883eG3s5I/keD/Yo9zhq4XBBp3BScBxLKu9aE5pPcNmybs2oi6APW+IjbxJHBhiq61f2IL/V3hRscc9luNPRlZjPA2HGP+l1vx5Tc89VYP9pkhqPsJiw==","text":[],"encrypted":"dkDZxXqn5VvZfcbn6WNnOUS8X0KAauN+WCueeQClYPzbhZwdwUJ0ipiRukzaeQsV/w1tPVhe9WBaEDKQA6VX0qlcul7QwnpD8e7CgazKf1CFUOEomuZtky4NFgW8yx20hihGLD/OjyeqmfcXAspKxwbVf0XsYejoPdfiDjDBFw9fyhNnDzA9ZxSMdXitCuwzCURo2TdypWyxn6C736wWOMxtj2csZJx3JYVkzF3DAAwWa+9GSMZbWp9xWnN5hjor5DE4/0gPXkXDyLMvefWV0adEEPT2wNgfgpuYrMlW16Fb/HygAq5wsRttZ4oF61USK9kZFAiIYAt/PslMV/LZiqKamjkurKXiIfsxD6Tm+ILm2XLOW06z0mbmwNk0+JVzThzUK7Gk6hO5WwbUoUz8RZfdsnV19lm3qSMdsb+dk6Xn47pORZEgmX6v72jpmvYoGK7m79VPO269Ib1bvNmJ5KCzj6LO198pghACPG1NOyINwgy3E8rETDqGcQnc3OSmEcq5fzOPucAsbmuEQRXBT7wyOTlq9EIDSHGjgWqkL7pHOP18XaRwanyaoGKJudPu11IvOaj7sGYzMzCrORPy5VNNoAIWko1bGqpK3DwXAlOzv6XfyDJDhbxnlT4Jh4bX5JBV2e50q9CQVQHrlwfoNPCmOFV4b09z1oz2dGgjAcLHfYdNTfhx8bPDfU4A8m0n9QAELOJbXV70/NPM9DY+TN6w2OxloTLvDGbo/1O3BMBaaoCoqeSHvpkII2nK3pL7GkqPBGK4quQGLDoBVYdxtsw0DIaq88m56UH9/uqd47IwWRVNUt/mXK3oV4qQgLklxn/IlUcqGB2PvsK3CXvQSx4NseN2A2Htd/s2OT68/t0KqsHaSqiYNw0XSD6d7C7g3pxUPVGABr279qYNXkKns1YTgcMLMq9lnAwgRyPpWwTjmDgNol33BHFABlKgMkW5oNgdFVz062zwUyHinBZZVghyfItyLlm2nRilNzhwSgPb9gJ1SMT+kXznsLzqe1MzpEPCk05DZAg/GcA30RtddqMMJvK7glfFfebGRGam97MvKhkb7qmk+zl5dnVUHDFfn2qhBYJvuNMMw/l2GXFX+76mv2IztRqcHZU62A96SI76RvWbnid74//yS0mWJ+lPfV1Pn9pT7wb5096MIlRwRAxiFPh4Kjo3V5QbDA/m+p/ZbuSu5CeWPibmBVL+G2r0nRKhPoKSSUIOP7MZv3lDaJ9W00JZWSaQIFvc+4KgOW0o9FP7XfsQlWBLWR3OPWFTbPYozGB1MlCdiTHG8kWZLqhTT7/RvH0/3hFKrnmVEI8WGHMojmigE7bAk9sDtt1HoVZjcY4gLIR19j/9Ovj/G6mUwQ0Qh8CsjbBHQ9uP9xyh2s0co0qtYF7Ix1S9VvVV6OoI2C75y0hq4vEAR7hqdGHSMj8lhKyNa5M8pWuw3CWNhlVuM9jQTSp6+UVpfLv2Th7GLA3KcbC0MYEIsajFpfay1Dt2NobUnd+5h7sH+ZGIrQXvhsqiGLkBC4JpI2HChAgoi2cu5ijph5Vtg//P8j1v4cZY2pWVS4CQp24/vftNUsmbjte7yTQs41dkEr7uk9VhJnPOJlTnNgbcTs8h+B4OmjKWvX+P+ik+qsq3s61MFx0Axdg+GMvViJwjT0Ne0nA5qT0wCgMo8dmWVz4t/5sH0S0FipI5QXWS5N1gokYNPgWarvYGZA==","tokens":27},"timestamp":1774364081888},{"response":"Static diagnostics currently show no editor errors, which is a good sign for compile health. I’ll now inspect key managers/systems and ScriptableObject/data assets patterns to validate runtime architecture quality rather than just syntax.","toolCalls":[{"id":"call_6kgFuSlsZSWudYKxDXbmydi7__vscode-1774363162413","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs\",\"startLine\":1,\"endLine\":260}"},{"id":"call_j1WqhQl11XI0r9E54s4IOJXq__vscode-1774363162414","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs\",\"startLine\":1,\"endLine\":340}"},{"id":"call_LITtlPj8YcnxOaYApWyBOfn7__vscode-1774363162415","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/PlayerStats.cs\",\"startLine\":1,\"endLine\":360}"}],"toolInputRetry":0,"id":"e201b620-1bc6-47aa-9981-6a0d83110028","statefulMarker":"vFJcZUydQJ9V4636rYSfHnyUpGC3kyIEW+s89Q126EN3KTUjoiIx8FWtsg2Ks7zRv5sqZcwF7CCf8cgvGeeU7VWrGip+1veHsjZf1i983OGNaM6FYsFHNPWKSEQ4wvKJAiJQFgp+z59B+NF7RmqgnUHmnjFp9YbsOgLRwuFIxKOG48P29KW2Rf+BtIf4efEDAOopo5I1MbPpdyt0N79s5iVZQJoM4DuFUdItE254+c0Ijwv66/pR3B+vE8oY6+eTOq/XTQrypePA/s5opk36RCTUxoqIrlplLoqqT7p0dDO8QgCafAZArVL/zVuhpJEyolVTuO/zMoJGZV6VvZsTNR+XhOlGEG/NETli82Zh0FnBGWXaenPdz1cgcOoF76qXt18Sk8C+6/vC64dVmIvOpsPb2WAggb2Z","thinking":{"id":"vmiQ1XknvwYAcJapmujueMMzCb20eqZN/aJNvi6ErETDZN9nKPwAjXM03hIs7IE5tOKAvLY0iA2ruIYmaGugbupJyGT91YLhIqU5QspV29Xkf0TpTDvX8yVeMYdJMOiM83LtOnIA6ot83FTtpit+UghtZuwmGcLReBy6DmCh7rT6yptcSyHIHjBidKsHYoWaDKJax0YaMZ5NAL71jXfF0uwb4cyKPcQG5OTYqX1zJ9w4FcxwN+0fD8BChe3ChjOl/Rl0jD0sZcKpBboHsW8sVZWpqZDpU1oKJ4NPeZkUG0KjygacpSJkLzB6r8SQrpwglAogQ08vG5PX8JqrE+Dwk484C9FEF9Clzd/Ue3/Wc93G8qdTUHEcXD5OoXcWBq1Am0I6eUO9hlnyRa8AJU9GSY2HgKxMDA==","text":[],"encrypted":"nOCA6arPhyJ7m0NkIY4gJF6Qa+LaJKQd8EFXMqt/T7H7boK9siDrvUFRSUQVe7jTiPSiI7RW4IO5OcyKtHA+aejX/oNsuwi9v3fzRhfo7G1AasMilecpl/TLI+HEIP60h4D2ROZxV/cRkvFIVeUdkvCAi7wgqBKu+lHfmG1hIPFLswC1OYP0EfaJE1uCbZoLldKohT5nMp/EvJDRlSGhAPW6CilB1gX68362d901yGOHcK4RqAQmZIu2sAn91EVG5b6I/sxiE4fUb6iWsRz6wbkpq72T11/APG7LTJIiyXVPPBH9Py+n/8sNNz/rfdp9sEaXDLgKpL4VSAUtUIq/LHVshKQp096s8p8gyxOak6lhyDV4IuBTETQ+nve8Fr5b8g6hZYPva+Z+Iq9A3A0lv/SricVHm4+4f0GM+7kni415y6ys/QMkGdovkHq1uvcgE1Kq/D3FPEj6aqaoCuJ7QxFr/UEQUcTHzEB0wZ5NjxQEjyZ8QACsEpcFHQlr4GTWbhO1wQhHwwmXAqBzueom9VUbz8ebtsQAnVRHF509VuJaIWclGcUIWUR/1+KkWAPnNoQ4fqR2nGMD4cOsaZbYnlmNPPzAXu18SnShE5bEhYrN6JfCkQNW5P9Zyjwz7ORu3wElIIKJj4ym8KQzVlc6voGq1pj83N40YOHPjfAm3J2fHatlW5zdpkTUDyEpK6DJB/YTHgFfHd2KYmfMOr9CNrBvpt3FPMxez8mAKlfhucwyQMryUZQzhbBKlvoEwQfTtnmO1rbonIrcVO+xdeoyMaj/MHaXc5JyXM2FCQzcF7Sk9+tegMOdpp/dwTOAD1OJBy48jDYhFT6KJhgcHAtrDFQQPs44IJKOMopGFQ6l8LhfOn+zGI9aeSG6xqBMupfyjkJ2TsSaNUSyaEHY04paUzFfpweRibmBMX/h0Vo4jD/1ud88lNruWYlaazZDgtcmR+P3Nh1pB2ygIKWsmoPke+xS5OtRnrDcA7vAYtQO9moV/PqT9/CXwNOEK2PKxQlqQO7rpWYEAIHH120ylr0CbP52VF/MqY/lnuh/8rMGaJaGH0AS8UYx1KWzQJX/n2fIXyDUQkzUQNB2t8aeB6qtfehKl0PwX5A2oK9slJBw5jA1LSdfuXNorgeA2n1ApgXWu/K/zgBfcrAF3BIvDAZi6A5HwmAjPrak7l0SGWNrDy8NFQkwFrOI2oUcI8PUR/o7Sa9NbLm3T5HXgcUxYyR4mvyaNAfnz5GoCVnHjRvtC2FHzs48LDxqCEHdGXSjbhFrEb+fvutIGPBCfWi7v5NPH8JAJHI09q0hqU1B0wkeKV/BOIg9F0zSCo4Kidxh56AwC2P6tLmHUDeaPWqe0S4iEZHighU4ID2WRaOc1quS52Vq0TROPCO821S5LB5D1w5gALIcjZS1B0Ew2RSnq2wEAn1PQiE7Btrc9tCGOky7NLP2kNtd0S0izlZZAfoSN7X/O3PrlZkUZsv0AUB1HPS/naK398s2wFFLle7Ty0bHAgTRCcejjspmwgIixaQiqhAeFtsyniUzZW4+8j/2ZVtkYRGacIklMvlicVzU6XcgtmOaK354WWGckAPINOHnd32BDhYA5U91gTEtH2XfKzrzHeCZTj7BmJKcXs0pcxh8yJRzg0AePFOovrToAbnFuo9aI3seuTSHvJYWSqT7CGw/jaVWDJz7CQbozrPQrkRIQ84M54aYE9B+cjS0z+cGsBI1D76DCwyS2cL1Buto1s0j5tAg0MgCikXmu6ZHxfS8dp4PeV0h/TrVH9m0xJQpwCiBjcR0WkAJNRpLnKo1+s+ZQKgzK8hRINdV2T+L9A==","tokens":37},"timestamp":1774364089261,"phase":"commentary","phaseModelId":"gpt-5.3-codex"},{"response":"","toolCalls":[{"id":"call_UNuLGFvjRPNVhlouavyJipMJ__vscode-1774363162416","name":"list_dir","arguments":"{\"path\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project\"}"},{"id":"call_54gfgwkVQ5DYtx4gGKF9aKdR__vscode-1774363162417","name":"file_search","arguments":"{\"query\":\"Assets/_Project/Data/**/*.asset\",\"maxResults\":500}"},{"id":"call_livfOw5qGp638egdU14oA8fX__vscode-1774363162418","name":"file_search","arguments":"{\"query\":\"Assets/_Project/**/*.asmdef\",\"maxResults\":200}"}],"toolInputRetry":0,"id":"41bd61db-bfbf-4c4c-8555-e42ce6d204d2","statefulMarker":"DFNVzzqMzlCPlLP+uWNvtXUGlhXaqq7YVEsYmEMUK0AisuZHiUn+AHk+yhg9b4jFWPWcyVQ/tr0PmCUEzcQCd0bpfGxbKISxl20Sy+SAxF0NXJ4NYyYfz/rNBGp+UH73//+beYXi5aiu6xBrM6qP9VTBYNBGE8tZCR2fQaWk4l7Q1E3KDqvcNsC3CRb5UDgM9bWoyCkG+tluqAtLuolCOc5w3rR4UopNET8TO8Zh8hp9HNblNBlJ8WaP3W4h/+AlyqXd+gsZybFAQcmxK1j8ltqBbFJOyVdrPK0XaECAtCLLfNM4yzYu+ttmuKa1D7DWjaXY7AczK0HA0vMWqPd1mvUfhYhqffGweSIdkddhpPl17JS5eHJJmHequYmZbqETgz8sh+fvDAYilgwf9+k+0CtzDupDxbdJ","thinking":{"id":"9ilYsxpr/3LsuwwIfwiO2n7aqUzFrBlbTzRU/MW0lR8xSK9B1cw+Qn3EnsDf9DtbX37OECfxHSiTWp8IjH7BLY8vHps8WNH5cvV41sqYIWyIC0l31xoh2YJhm4IF8ZZeU50/eEyul0GZuJR9zUHEbGXUUQlYilBYrwAwDrnVYqwnxvwCHbQY6c/ttWOlRGbfVJ7LT3WKIJqZ1KLJEP5sSZkJaFy0RBmitGVUaBQiul4VyCQupVfeZJusltNDJCd+SYhbURr5uJ59Lq5NQoV4CoZpX0Y05IY0TVuQedAwp3EnbE564f3i9/T5HIheRINaZ2VubhFie53UnceYWrBeC23kfe9+IVcflfVmPAzdQk2R1RIcapiuC4tXl/vDxY9AqveWlskGzQkhSmTk6RrmRyEqwijcAA==","text":[],"encrypted":"h90lBycOUv7b2nWV/NBFkeqcdXQ2Vu5Yw7/tX+XgT8YN3aKTArxp0T7vsnrYM81ZVyH6YrxzARYyPNp6VgZudJeN5vLfe6PXQYqo/RIRBAutGTaj101YAoJCojIWi+jdx4WOmRUYsZUYHKXK3soSHZCo7lrsRSYEDk4nMg5cXvUfWuhluH3/2P3498xZgShSsOYP4ejD21WEbLdotK0HB5LtHG3rphVvTt6tyY2nSnWQxqjSACnXpU7awieRxtNW4pTaZjsbSyn/g9IBG1fAySSiZ1D4Dh3Z7R2t7w7GaSQNHGKUC6gLB01SuspWXE6AF8iINDsRbG+4OM7CTaabKs/8cpRaVHXg1f2QOEvVXdTVsN+yFIrQLc41zUuGCuesq3aiTwwwZKKPx6WwYRmB+C04jYB5eI2OFA/SrEIRUa1HnQrFWs+V13Z5c/r9ALciZjjQn7lMqndKO3Mj5stFNkP7/J1cg9Y5pa4htI9ftMaK1DaKldPMAXkmRJh/PU5IO3Up9Jyzsua2nxDVpOBaar/aUvNOIjUAA5ZZ8gSapWrPMk6Pjs+2U7nujgtSYCHfWwMge90QYa7xbUXoqto023ML0RIG2y+iwRvQ4JaLZVH/i0116mW7ukACE8Nb6leNutY9JFngpVysfd/6ufBBGy6694HQxHNxgnu6xdawbNRLYCuwG4+YM/EhvGxFVBEemOayT5SCdmEquQqKo/ytsJ5WXcBf/I+xn+3EgJEefqjXXmaSyhuUOJZg9BTzBj2nGhnTBbZV/Ul4Ux9PvvVz2now7IfFyxDjA2zpxvZUBUbIPcRSyomioxxrBuAOAwoptulsA9yPUFwwGJnV1a4lbF6X8/DWCV3RfwDktJVN+9SbUusH4DTU8bhYwI6IFrlx3Ff7Pc3NSuqjOBOlzsNuGv4ZALZ5BE1qSM3kMOZgf/dF3D3/bayIy8ll5jR7ByUvbsmV7e8j623uikcEe7IPwyK2BQ0kPwtm/VlKAQ6slYf4RogT5ep3uqFbDhhl//YZUoiEDT0DuIjcDHVj0ABkW5tQRo/TOiczAkFrMRnc1sD3e5212B3sJXHlL03yKkAARqmFBZjx7hto6mhDtRAT1taz+KcCQI8PlkyEsT55Gvde873JephePLiwRSHAlHqnZ45B+DltUWfg4VKytO0o1WLQnxwkfuhNoJ5+g0Z7yOuLpLIhgtGC/ir4WnxB7JTSJijZlrn3pZ55O2R1r6jAvzjavZAvLloRboMU2NjCN9BqBQ2tTaCJcCU6c0saRPENup1BsrPP7CgJmqzuCqEAMTo9dm6vyZCw5qwzWhfs9oiVRITFKFG5Ls0Ae/0QRfqfiJzQguDv+cAUj+LU6ydd2O9l2Vs8EOkVNbLqyl5HuW6tbEoZkbARlO/MuBHwE6zu2JBP4E7WvXBggcQHjQnuTkBOxyu5v6Ls6l9HKgOex6xZEqFnYcxUeuu8Y+Wu4I+WKm4dzJpaeLaNPy61VhtIRlYv9pjK31qQZQaTlTiD5ax3L1x/LzkPElf/dsAE0KSvSkA9P3ONN0M947ZH1RGEPhXfNUxCJTPS4uKv2PRcP6WB3AXPN5tEwFxUw5qOZ9TNtDXVi9Johg7Az+4rDQ0/h4gEpfU+Vf9BcKQ2R3lNkd9NVTYJ7rcZqXPt9/3iVDKnQCm7Ko5VdgUZ0RAfp5bLUeHzZ958A6XqkkO29Ef221QdBSUDdjV/l02XqESWdmo2OLr3jmdkCAJwFp8rvRDNlvrmR+BBKR0EK1atPLWUuIZkC1VlF5o9GLqKQWbpVFdy2cnhnkYeOXZxcOsI+jx3NEA2XhD3k6QZxJupaBYn3zvMRVlRbEzAJ7qMRVoxkVveiAE28chvNgomJJZ5E5NjD1N/sB70CYm5","tokens":45},"timestamp":1774364097608},{"response":"I found a major project-state gap: there are currently no ScriptableObject asset instances under [Assets/_Project/Data](Assets/_Project/Data), and no `.asmdef` test assemblies. I’m drilling into `Data`, `Prefabs`, and `Scenes` folders to confirm whether this is intentional or missing setup.","toolCalls":[{"id":"call_49ALcudiGHzMI3EOJrwq6mgT__vscode-1774363162419","name":"list_dir","arguments":"{\"path\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Data\"}"},{"id":"call_RbTxookB5UdDYnHihNC7RswP__vscode-1774363162420","name":"list_dir","arguments":"{\"path\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Prefabs\"}"},{"id":"call_tLC7h5CkdytsJnbfYVUJGGqn__vscode-1774363162421","name":"list_dir","arguments":"{\"path\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scenes\"}"}],"toolInputRetry":0,"id":"0f71e8a9-9575-43d5-8faa-299604a64ff4","statefulMarker":"Mxe+xDS1CGXYw1zGmHrcZXMO5oio4CxO4IvZK/XAMTtOnrbGaZVc7aoM2OQ6hax8cXG+yyo9WArZGstH6p/02auISMOlApNeJGyMYSWhZVB+RVQMLN4hLjOpuP3IcJOn1cy5NkspOZ/4mbDIYD4XPZDR4fL2Pm75VBjJFnUDpqdW0kh3kSxYGzzeDj0NUOsWwCqUxi2DX/c35lqAtQiQ4HymD7JW5Sl1g197SHGlw6IBs3sspcxWPEp0+97zCJpqwjQmnaAEsDzPN7Z17iJXvNazNu7mUII0+kWkk9mVv55gMODCdqviD+D0/2BmGrjWv+gLuLk1b7nr13AO0HWnAK62JSg4h7gy/0XAPA2okeGaZ/sx38JnkceutgyQgccGUoY0GxBM/08QWRw/8yPRPeb38TQ5fLvc","thinking":{"id":"ZOH3171HiZcxbfxGk6NSCAzDbQnUDlCWa5XG9OO8I9A8nGM9G4BwskVA4u8mO4MyN+fmhBnqz6UTKx+9F+MtKj5bRm2TvnsPt/JLuks83b/aSqREEGCue20UKNd3i5tAXNEcz7+HVybIlsN3gpaugp1zkdMpSU8cyM1NSlZ2FlTstazqHoc3pkS/1neBzAJywc/L7tP/vwt/9vCrDtbWBH2NTVKORUV5T+vn4hFbvAFFc63wZUADEhNPGPdFMpf8fP3uPo6c2reRhXTqFDeOtPY0IrqFRTq9LuZQCOd1TSGbga5a+9DbnuucrF03uFL1UJUHlU2DTwDYjKWDmKDzsEXhg473mvt35M9aa0BhsY1Tt6ZhVZxu5BQNY3be5hh/FmOkTM8O2DunYpT4q3w4WgubPCswQg==","text":[],"encrypted":"B0CM3lRQX11nKKoX3v5wQg9eXZ8Ad5+WhEMmT600Fx8B1Hf3xRHuaHtyqp3fW/uzibw866ze7OlS+D+Ow/kNaA+Pl3UrBKMPBV+yorndS/8VVwE4FLKEaD/UHpfmm9gZlzfj+AYC2o1e1CgdhFmeMKEDgBCkVRyc7Rv59wDw8PJt/eLINEq1wFj51thYcCCzwNJcfs/kx6TLtG6yhDAGNOxtvYhSVdV1kqne8CosKjnTkVDhqtOo9694cqcL19sBte2uG8Y4nT0nDHHzJgA/iqXfoh687l0UrjTyZp9o5fXF9rIpnTmA5I3D42hFSBlXoj17POKa09Z6mGIaG78NRSl8Mo8UigDDJWM0zuEhh1arVqoONuuRiESfOBoDJ7uJFzC1D8Vk7adx36BmajGrAhT4ek6jCyt6x+SNev2cyapEQcHjQZZltqMOtM5euWoWdQ3riBL31cAC3EhJ5xwwNqv5q7nb+YkT4v19hV15WUwA8TxdBPpudrKK0G1b4r+sMwRiKfiUM9Qfg4K/1l25C+t1+oSzwCZJ1Ysgbt+w4Ti3mYebm3Tt2/gVmLjF4sA8SQ5tU4N/isBwpFDq37PTYiH4yR1Bg4dgDr/Hawm1bZLVNKj7ANgkkP3TuXUKSflAtgnsT3Qvbl+/IfnCAQTkKNUY/MmeLO/HlV5Gv8y161rzI6Y7GQM/y8gm7NG0ZW1h2oIryuwmhhVzKa1cdIFcFriKzSvepfEU8T0wLgQt1fmLMqzYs9WEErhV7S3FQNx2ZB/bbp1yCHHwf/BbVq+XrtFYHz+YlF/Q1ZMOndw0xrHPOsVyB6frZYX1MBOLAHLFLQJDlqS0Lvh0C4A8u7Rh00XD5UgyRXmO5h5ybTDHGCo6x21lMPSIycgvvcn7QAHf4KFBxCCq2h1rC19vjkEzLfh/2BYOQIpcBeRnD8qPYkK96onPcXV4+EWPcxs1UdGMyzmX+rs1l593nrwM+xi/8+nrw25JziLmSvFMepUrNGlNWE6112YOivP/NJLSQVzp8oubYxztxPjhLnfeMydVSazbLNBDj/wrSH/G7Is4zTwdjPrzYNRVtw6Z4Kg4066Ao1xuh/q/DBPts8Uwt8WZQPOygeGqIw9frMwpfsSmnE/qd2KzBFed9n5V4d2rx+kxTVUItDB7E/OXDoYjAVdb4Q72/UXE04Yx3o/0QHrjDLR9zx1CTwbhYqLBHpigDQAgooWIJFrrJVwhwUoWQdhichxv6RVRk4UkvkAeWk8jWPLELYpHys+cNpgRXIUgoI8fiZ8pSBowIspdsSkO5wYGAY/ncoDjKqNwZ/OTSf4N8JqFK0vtbQkztxTVQuBYHyFGW3qKf0F9BjAEUMctY4fs7RHPojPlozbb0wuIZZgdzqQWiXh3xZ2bEaspjUZEQnqP7ZfpS+sO9yb/GTPAFr2m9I/1IWfY+MXPtnz6LlNXcpZQVCcQFpq1jceJ6Nivnok8K6O83TnRSNK4DM3U/R0M5VfUwPhePrcshwvlqbVXZ9ZE4QE3aS1t0blkSLLbhL5vR2NUCEXpYBVp6CgW1IQ+rlLvywCTiSyGkFKPGLAjKEpJ8iRhdq65ExAq92VlV70vxzZGRitbeXoBusutlQYWuyBXntnDTKZoxGODtEvBLvTgHH2TSPV16LqvTaA=","tokens":25},"timestamp":1774364103698,"phase":"commentary","phaseModelId":"gpt-5.3-codex"},{"response":"","toolCalls":[{"id":"call_567DielUsfJrtDQ6tQ5oyoq6__vscode-1774363162422","name":"list_dir","arguments":"{\"path\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Data/Enemies\"}"},{"id":"call_otv1JtENxOkC2Y5ZKnzhbIjs__vscode-1774363162423","name":"list_dir","arguments":"{\"path\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Data/Upgrades\"}"},{"id":"call_BUeIGGcq0jHH0RUlNKqj5x9u__vscode-1774363162424","name":"list_dir","arguments":"{\"path\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Data/StatusEffects\"}"}],"toolInputRetry":0,"id":"dc42211e-f0d8-43f1-93b8-584655b880a6","statefulMarker":"OX/Q3uO1QQ3P1YKnxqRgVJ3enoT19KUCAReCQBinjYh1I7zZ04IcVRSBP5WxOUTgmfDH2vq66OJ4S8yx3JE2ziQtTWfx30xzZbENUpNr6nQ5mZRGjhUVh4hRTujsm5DRQKKZi4yXLTXeqmhAsndhens4NrdoGT0rULxJ3A9a0PIMOxwZdTP5W3t0zb+x2bLr8+nAulCAHK1KLfSlz3fTSyPpplD3qxAqv9eADp3lPd0+nJXpMbgaDj58I84m7UjhD2U+nfmoXYXbRh69HYhL3nP0kOh3e356JtOjLDet01Dxe9LtQLH/KxobqH5sn+HpYKJD8oxICYOYIji+Bx0keYX925eiUrAXgRgESq9CJkQyUDV1xyhsYfJPHm4XiOSvLzABMsm6/xxGaHA+pkFPTqNHif27F1//","thinking":{"id":"B/RQ+gi3zGNniC5WlAuLMr7zGwFWLGm5Db5h9CNcVaHoHp+THzXEuWVhRXrbyxK5LCt9sTI8O5q/KiKWAKMN6me8TF+JO7qzLDo+1RAqkW/1Mflh5BMpjhinpYnVDrah3jcxicW9zNiXZTFIfe3hWp8nTogwPA15aRsHhUIY/ghktP9Q+pR7edEuKVEOCu5Fe3P7l4EsEjNbcu6fQVyYLqGKcZNwU+DjA1fY5h24P0e3iPyczZj+KDrF4ktfDgsFRhQOcATAGbU7izjmNRQrJ2xn0DsDoBVAcOemMebyFnpj6KPVkTjJ2t1mt2SFK5jO/bbDeGpEQY7QnEpr59Dq0wQT0tZhQC/cxojrktefZuP/gnksJstrS+qf6UUR/ve2d4G2w0gNIWHBWmQsz7eiyLxsJDmM9g==","text":[],"encrypted":"BDLAMxHkAoBDDVr2VAIcIyAKOyarjj0QCxkufFZfbBi5ZsmwCXV14sNAD0ArzF8VC66ESVwiUoThS7LmSJML8TRFKTJzDeMdvzpNl+fczv7qcht1w07Lo5ag32upQByZBJYautIXybHLHVvfNGJs5rNciMmgB9jZSrtucJnj7iD1Xgnk2ife/w7Eu2X09lhpSltHokul2YLYaOJmFbaq1gjyWwvOhhFqGznMTowBj55DOAmkls1xEYdIjze1uTUvYAE8lVcIgvuaNuLd9OjJHlmfNmIBFzu6lbPIH8KSIUI/V/JT0kcn3rzeibaAsMnkJgtj/gLFhJ6c7t2M+3LedoxwzmIJMWe/bIBU9k8yOIUBxfaWsZsAKSCzj6ZCkSlvBUiq5ovPWOCZ9f3PC6fkQsBMpHg/Iq4Cgq47M4vWW33n71iOoUiVAMpBB3uxS9Be/MocFUPmjUAtmO2jexcAASQz5MZf8sYcg6Sh/9OcbEvlJhvbUJiZTPb1jdkfihyvgKQ2PgIL/+uIsRfl6FjvuV/XOB/6om78xBB56pcSeRDRSseCisnROD6NqJQPNeIN4BTSZNRBNvrYZZYzI3uiCAl9YL9VBMBjy4M1fEJlE1CDg5ffJVDowJe4OcWzBkggL72ep9+6XZ4tGUmFd3nObt2edkBjXD7E/dFmhxQGwfWo/BCNbvNb1fdOZExQ7WIGMMTXwLZcOG3kiww9v4iqZP6742vG8pwNlDaeMR0Lk85p+1PDJctOF8Fc88t4JtXCSSay+0HuCjzf0L84pzh7PrCF6EdmlD+o19YaQjVfm/UIPAN7EQSV12nKIYkf1e56s0QiGfj+hpg/+fefK3EKBmXnUFzbmqm39XL9DW+0qtY6HbKIGcRF8SOdGjuaNHHKuJHLcq13TScT6LYgYuYBEDWI2tYGCcOHeNjStKJeQZNqkQI1pv8ramXunVUpX4G5Lmbs3FtfKP5dNYY3KvNYl8bdvqVVh1ztO1JSwHrnD+F4QgaZFG7CPpRYsW8Yh8V+bQVuwnl/jLPUNEGa14Tq09qc6eLgmnL/LriLdTFpi1H9V9J+PYmwONEqT609uKos6houT2ceTpH9MJzu0uCUtCLmzJzBPLPB9O4CY8sJX4N5PpOm4jiL8HECsNyRsgzg4rrx2qW/aki+dQhn/QTemByFx1ZVyp9X4vMovIpZYaQYBNYQuanvvLOctT2XgQZqm7ODxVeRnmn+fBxqfsKlTajxwhEsPVvFpSfQohxA+mJBobWGrqwuFMuO6QJsU9jFhJIqGTYaacWXegF0Z1dNvzn8EX9ipzkI3o7sArMKMl7HEkppwy8bYLTRLDkr8FR/bJliWUbVJwalWnaPIdJSMyzsvbgyjVb4k7KwhFLS6oHqrlmRJnhEA5LHUZKD+JVv7BpABTjylh2WFxjQjigG6SVxb/T77qoCQgq+1LjJWEeZjzb7jaM6JOA/pwgEIS1mULVA5JC85+uI09m6p+YwtGa6IO3YMQh87mYTZxLmdiKatU3jgLnmRQ/3KLKOfIGusr0CC/+taJ0kuon35og0MrCeD8FockFGeJfkNeWk5ow5rCiIgWdHu44uItV8K4BYeSSOhRRIZPRp35THI/76xv3FMa2UQeHyixZsWDWkwgqWkUqmREL1bbuTxzVv2hYWwZh375WqPkv7GecoXwgr19okU8XtdWHSnx/3O7h47i7OChGJaRnqDGsN6kMilBf7dxqBQzZ/NHS6cH7tONJVsCk79+3WLV0WtTN8TUw76l6wTbfY+1Cqie/B7cbambUrqWW9Yid07ekTdbpAVyvJ4iG3gc6lY4cNlNePAe0N7M1/hgv/aFJT643KVXSUpU53RaN6rg==","tokens":45},"timestamp":1774364108205},{"response":"","toolCalls":[{"id":"call_AawmdzvbBVtaY13AV1OxAiZ5__vscode-1774363162425","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/EnemyData.cs\",\"startLine\":1,\"endLine\":240}"},{"id":"call_Hx4omLVtQSFeY2vQ2cy1z09V__vscode-1774363162426","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/UpgradeData.cs\",\"startLine\":1,\"endLine\":360}"},{"id":"call_f2fPPQFnoA5Uwzs7nOBoiK79__vscode-1774363162427","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/WeaponData.cs\",\"startLine\":1,\"endLine\":260}"}],"toolInputRetry":0,"id":"58dcaf11-4562-478d-b3f2-f0d70da84a3a","statefulMarker":"9YD+Qui7qCRC/ZuPc8KFFc03mbHep77rwEsQPn7Id6zKo8MJI9j/AtODzIMy8PylUjCaF1lZ6KFacbHveuRqYz0QHwHDUR/9x8q7oSiYBJcWVVzAh0K5hRyoJahODo1WCzro5JH6mbE3GGu0bqT/uJDs54sWfpB1/AFvt9VYWqaD1iD3xt4shOo1R9Ji011VJBVPNkAcxiBvsIgvkd4Sx1yTPbUwiZd3Pico2Zvb4ccCd86qZqNl2nIbQGaBmjcmp8ThIru4nVb4JVCuGc8ynrVDkNAw7jM66XgTpfWU7hxHwZOO1+E4g7Lo+UcBQ8TnJE0WAbNZAmmMSPsdgTJAR71Vk0E50Ox8kqWNZvXeK8wrKhdGEk0sWQQMnNjJ2PiDT3e/uU7+U/DXlrCNhxvp15ZkOieNo/YV","thinking":{"id":"Jh2fj2FzYgCVJl0QuAo/61UbjP2iq8DMIUXWVLeLJsOblOSGuuHcU04Ra+Wlzg3rTJ/QFwG11ZJII/h4k3AwEjVKBimx3E3X0XdssiKKOo86P/4WLXgSOc/RAD+w6rgroWZ4Ew1KboVlHGk2UA4ulsEP/tY/is+iPxMO5kiAu75GxChsQaz6wnlmQa91DHKbT8UkIWWy7rwJ0I3wvfIPMHiAtVclt5t/vk6pS83aXlqIe2tnzxu+irBvuasdp8CeSgXOIDabl4+x75yJ4vP9n0wjARN1nxtzr7qDaiYRYx2zMTBY8EILY2ALaQ+1TJTcu465fHbwDuVZpOE3azxSIJD1PjP20jEYh3Op1L9ofryiKiyrkb7PYN7pl1oeXqULm9pbPkZpR1H6bJ9Y0l3prZdmjPXpQg==","text":[],"encrypted":"40n9KPBjhjMDJeR0zuEb+djE+k2VqDdhG2aKloS2D1mzx8V/49XpDHb3ZQsdKMDcYrkMP5i0YsruhcpBZ+AIREO3vLoV/xo0WjpI9Y4GPNqC8xgQLYEemz98wkn9Bsgjfa1otHFgQsRAslTYfoXUpE3agFm6CzyGa6PqPwD4y3XN9s3s4lP9ztxzgZhBDi9S/xYGt4vi3odIU8LwFt51/PasYEJyUmMg5W4un4YxLA8zg8X1SKIY+e7uQZt9QHUnpZ/YNdLwmLvQ9muq1qDbUeyzaYezlcS29rFGMCP7nRaSdm6MFNNHzpRXDKKmWrlTSe7KJbPtw+EaRC5X2uSIvZYc8SvnaB1Iby8r19yJUHXPSXH9zyjEP+OpZ7W1BHY0kREHRdMSK35/ptCQP3l4ug7zh0IMSLvADvz2wB2GU9dZRR59KhsR2LU43/wqWs3XDtO34/HTVh6mR1aea5D9Icj0xieHxfELmk7VpwazsMxZAlqEawA439Gn10gjvzsN4JzgmgcIvEULDxSoUeOIA7S1QY+FDYMtu7SfwvvUxhqIvrgolY/u5mmA5rgWHoOLIRV0bh+1BpU2NoelNqAUlVSbSuI8pmI5awAlEBwo/n8FWd6IX4LiF5h4lWGeyueupJTCM2naIb8oQXxOLEUxYq+1eum9skqtrvdUzorNZuyQqID090+Xo5i9AsDSSeG1ZGEmz4icm93TFm+T1ImUlm6kr853W16rbMu8/t7ejUSl3zoJVP115ndoRgQopq8fPzgBSiWRE1+mvV2P9lZVWk6DR6FpVOSbVq6kthnorYwQjN/ujEfp+3ICgpM1RUXe6GiiAgwN96eGFlvk8OzDn5Tf/d3EvmJc8SwiEsxJWZ0hdEq9RVPvCKi1PAyjtq9m6t+h5+Q+TikyNA7xizL/6KvETgthaSrcMI3/mAus7F9mTUkGPFVIK3ZBAdABsriQbwpyfujEYgYmeq6TFYRRC94BWhe355mthIh/mO7EBi/v9ygENsgVZviRo512dgDrve8NxYegYIMrvC1a2mNv8ktA69oRYC39A0pUMB8tCZoj+xkWbLvQlAESLk9kGvhgHy02oJBXY8F1mDFFa+5RuVjWORIdiVsjEcfC6NhoQKW8OHwLPZC66UAda7xIHXrDbQPjypp/gkySCrWG+0SuloMkoLlWSLqdyybBgZaE2zhBXfVxhxddFt3IenlIUYNw9WGWEso2j+EGaLUry+BU19zFRi0EYzNlc+vBkkZAVxKd2eHCn/mKA62ChQOsUYCmDAslIHAq4/wg/iKiBnOblCnLQOPMY/0t67Xhw17g+gTnE2xr+CahUzDbQvwfmrshDUxAr5hDfXlnicopT407sD41mPcgwOWtgP9+srQlbVqetNHME9EqLRXyapkeWdNw2IzS6cUXbAHyRf89xv69s0K4BvaD8kh0N85Nunsc4+/bAd6pFL4Ko/7iFGWv/+0fuLv8a+OG+E4DjJhS72wU63vsnb1KeTOlaqjcmoOwGfbGdJ23/nyXeQ3nrYQX735rssZICVj1doHKVB0BHWtlN9v55kWH0ThyM9kK6af0F+4V8mqF7OylSJupUAZACC3OOrSATZObA93iHYoZI8t0/a1YW85kAYjv/u5ws+hsllD00RYQImUoLDrJMbe/xfCU7CZMWWlx7G0p/AeU+pfBbbW+tleeYkBJHUiZ21O3dd/tQvXNpOxnk6ybGb9br3X4MesWzv2XvUJytCEbrLS4JcXs5B0Xts3+axXgdprs4KYD6cszChzSGa0QVXgUH32BBPfSCLnt5f0s/T+DqCxfKPNKJQch5yOBsXmGjo8QWR3Qa0Gelr4drtutdjchiGctfPgHysLy8kQ9NreduVQnBSzvZzdnFmrjLZpGCBReSF4CnZGY6R2VQdyKYv1SELL1gqm/dLuVwgLNZH7SB6ExTFcb883VFfDriNn3BsBxF8VfiIY1P+NSu9xvBPkEzuc5WZ5UVNCusdziDY9AQh3a2mGlbdgX9o/JqsBCj+U7RUxFz6dGsP1ruL4ZDtVz6gs2Ts+5qXXwTdqOVABuSMhTF4H5fxNRPMBVaNjFow==","tokens":68},"timestamp":1774364113408},{"response":"","toolCalls":[{"id":"call_CRoaI5yPfFLCgQCtSE4o02z7__vscode-1774363162428","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/StatusEffectData.cs\",\"startLine\":1,\"endLine\":320}"},{"id":"call_RJeSleph6eG5dfMkSRljBtgF__vscode-1774363162429","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs\",\"startLine\":1,\"endLine\":360}"},{"id":"call_HsyqvBQob5fZE9wmUpuk8Sy5__vscode-1774363162430","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs\",\"startLine\":1,\"endLine\":360}"}],"toolInputRetry":0,"id":"76838175-5a74-4a15-84c3-9f8613715fe4","statefulMarker":"kQxQllH83COLj3uvV4Jlfdb8w76R1c5symlmZ3I2P3FyQnsQt3z5Bu7MFfp4gSbzoigp+375lnxCIYhPtVYmGmHgQeC861kcrK37fxW76ouRvZsnBi3sCgjZx35HVwZgjsneE96dmJg5QtTND+CA0/5/sNufl2lyCmIDX+XvYEvBYjuAaCe6J1z8J73mHrDGsyD2PkIbZ/iSJJVpa3eQlsU+pDPbsBFKUQaRQDWd7hZ8anghnrTVG3ISdDzN864AqFD6kwLofFnm7xvG4YrkV2yjlKEc2qpffTzwjahEdQeDwvSJgAFYeUfwfX712f7MJC9q/YyUUVad7jByauS4cKvQwvBdH1Nc9Tg5HtI01CkiEXjJBCZYmuErX3M1Zv2tw/7r2tlxRoTlM/vVoSczBd7pHZz6yW9d","thinking":{"id":"xKyUXqwkhcpibuMPwd1sx+aLx8819vVv8STC2qX/BONpR2eytOwonqm4zHrKKW29C/C+fiaACVuw9o7R39/KXlWlMTn6wMxRoqOGcPJly7HR6chYU3yJ0fnJE8njK2l51XiORJDqBDTsu/9JiloW6eB56Fbe8TBnt1jhdh7JG5OrEyQ73vy+blSdCwfnPjOpt5RR4U3V5S8F5q/A/A4iR1Seqx8Zq7veO6TM+IuDD3ZUwJDgPD5AG15gPmgUYaXOtQuhxfkEDo8BhszK8UFtaNBLVsFxjSNRXWgWL0THczdY2c1arB+73YjhedIW4JDyz4HyMlwh+Cr2B9E/gJgSkfS6PZS+tBcMTIDsE+uAfbgyzyYZOdttvqjDmi++jcRenQIMbofWRFXzS7nzkYfC6vtEZNDKaQ==","text":[],"encrypted":"KKLmd6ERzPo/LHQMwPE7C8oLuOnEIelZ6CSF4xMMi+90PCtM4HuS09CZEU9Uk4eYaKqNJTDBErK7qoizoI/4uZFEfB8M8wvJx4nJt7L+8IcjMYbVQs1gv/4G9f2O8N5muIrgo05zjg1KCpYWG218ykEW6JzWYlpJ/6UVyFSTVehTYoLyJFImBHhYOWK6FkzL9Png9OQVHXZozVmhfSSlQHvAJ0hOHebrZyFyN6wOR/JGPgV+HipCh7bPOUx45kzt0L2MEVHMnfsK7/y0VvgDiljxFNL4Z42bN1EdtYLcO/yXrORnL1pw5hqkmazkgys7m/iNHvi2MDFl9Qcyb28vdz4mYWfXbFpLWcrOW0+UVeLcK9n0h36gqzokHhNjBjFsQ/xPDKE9mFkLSKVy+qbBpM34UZnN4oNpxQmUrFTim/ulL/g8GGVV8TwpQbZSwJOHomqmep/Bf34xvPZmp1kqk9J2et+LRHJ7Ufjbyuoxc9fs/UNuwelbkgZDCSq6NtoeQrLfoKhNZ+2ekEkmVB7trmsHrwXBwfTfzCg+jpX1rTr88OmupruFo/JPclo5H/wURggPLuj+PC35yDZztoeaATih+8NnQ/bV1AkCe/SEuz+VMWEQ3k3LuGYqYwlcEPtESOw4mbSBTSNo9JRH6vvRMqx2sVMRqHHZxQAKnNzPjCPrpcXZmhK8l3/b8N2cvmJOgvzUbrOPxORmw9JEesyK11X6XpORG1u45eYfPiLfZNcZFHKyRaLyAORXwwfVNiBC7XqnL0DyqKlJmuTVKgshuf3WZUwiFdP6fPhNXVPAcXL0DPp6k4TkotreTMe99fBThgICqNpFNn59dDFYdoct23HKpv++4JrkTZ8R6yZW41uHO1Nw7Oa+PK2CsSfShnPqoRUKRoCeb9Y7WzQCTxHSY3zLDgB0v0YS6I2Q0uW6r1slAz9lxTWqF+hpMYG+eb9oDxZmmxNPhldjbUDne03TSsykK9HFkUTI48lv+TNO26x/27Imw8Q2RlvqFQZiWK3bBORPx6MMdBHOZLk7se2nry9Ma/sbgqUgMBXJrU9EvTgmH6WsydoPj8MANQOcNAmDZXgNfG5RpnDDq2SPF9E0PffWVqI+jE9zPc4P0iqycCQSFH+2526iTBvx4/Mb1sok7gVu4IfCy8z/TOGHZ6C1gKyRhraVpRCkTtx6oal1KDZlpUWobNLGSUKDPkPOejCz3BydKoIt6Gry5rpQnBXiczkv9Z+vjRYfv/5XNdAc6odrMwZshKYTx5SkaCjXEdpwrzrtovxP8xR7U0OO27AiN44iHuPBU40UQfSwsmdRfArzJFn10PIZjzzOURE4NVMcEOo7oSL+xXWONFHv7iYrvsIrMEFmayTqXaOdBPoNsS/xf2oF1Wr/wQh3alIi9Qk/aRv5WhnqVhH2h3kYEoJKi8Ilnen2hciMnDjCWmzjA7Ggj1298+3qii0SkYCHgbbzJz5BIMDqsxUfXzP3+NlZDnd1lmUglcAOfgmSGUvPWxGDcUM5ZumdFQ+j5KErNj/JZxqP/zd+7cBRwCLKsTjv0tCTQfGUZgmxg5wqlQ==","tokens":12},"timestamp":1774364117573},{"response":"","toolCalls":[{"id":"call_OKJBtEqI8RzTQE717nbSpjyP__vscode-1774363162431","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs\",\"startLine\":361,\"endLine\":430}"}],"toolInputRetry":0,"id":"6fd76823-b5f4-4c92-9567-f3bbf16465ae","statefulMarker":"Oy5s5CZ7hqSHrOGr+jdkkcNsr0jPjk9h47ZYjRf035y0ofRqTuPCtZ2W8EaIFwgiol3YQ2Y8Cg77Wz3WSZV8t17x+PV4MHVj/O9Bs1FXQ/A1ulwSWgjZYtk61HeXr2LpM785YjZo9AbXZB0qqqHOdkgt3hpJqDxErUaOwVWJMQL5VQMPFna9nwhei83pym3t7hLvSRdDw4YMOpSAlxG/mIhsJjfXtha+p82XNBv9wLhqwTve5QyLA77lgaclZeVDqF2cfaMm+Ri9NB9xPN///ZT/RSMGnUX7mtOYSamLLND0laI8nXGVBd1K4f2hORMAb9dF/B0gUHAX4DVwjN7oFfU64mSE3PaWDF4Ss3/Ac20GFEf7VsGJiRKFtT/TzaNqHlN5kUwM5SSeavekNmee/FDe7uwqau8G","thinking":{"id":"b2KeDZ2Q0qF+xAOGFpF48p/e0DZr6LDyugkamEHhpNTijXIP4QEw/eQ1sUOXGmBf9xhQoEOwoobwyLLiCxVtPkjUe/nuskbwbAcfYq46es8SQHyvbNY6vHZki0hRhclphBtgYlvfaBjdhijN0DxAhAmAo1ITmgxs8YB1co9XJvGUnPmbALHh+nH+5ulpEfORFehRicFExmTU03a2i3oCViTBF/tRX+E5t6FoO8J51v4cjwtF13R5wAaDtqKcQLonIYWSfC7glfYkJSEtdIq7t3R6OxMdGN1cHpNXhcBqIe3IFK4XI0NB0hZhLm7xlyrxmLj+BxjX0gcwSthq6aypff0zPko7UDx/O6SATE2Y5eGcxZirWdW7TuOSyFLLiAbAIOnZohT6sok/VaOEMjUFQKaYMDm9/w==","text":[],"encrypted":"pT+MmEfLyz+6hBQV0EbAm6r1ttarqJwoPLBXpGEIXWtvrFGIoqzT56Y9GgoUbvijUEtBlNdV/CxIDA0KGAwf6L9zqCzETaQwmFHPdeLv16E8RYrtcnPIlfsxaDfd/w/vb89AzW9EE3IH7Nq8eJGDLQloDqSeY0nVTpFFe2WsTbwmnEDK+5XGMG1AUOoQ7HzCQT46oxia5QPhnROyHMHobc20gvLvEuoUQp3WQSwjyPX39czq8CEdJ4zbp0Xwpn10+PMd7AyVAA+Jp6Agr7+hDiz2L2P9gVl7pQ8jgH0ZF8+SqWxYCjnelkOLOfmRhggOmyl/I9QR37LZvvdfvm8hm8c0SFMiddTKOvT9R4xjr9jCsISrBHKWVYauhqLhsRT5aTOp9LhcwD6S9uVQGtB/Nu49pN45jJqblofOtQHUVTDFJ8EGa8ImI1NDDwXqtPyoNezhgirdjV023AlWIWU5KDL03ktDYLmxKbHKwlidz0RB6AuN7hVu93+q6kXu8TFsNvZcKq+zlqARtJFskxWhEaLxuTNNiIMWrcLqrbjTwRdr7a+fMegl5zNQ/p5akCWxP15qGbkknpoOpeixjzvrM0YnTkjYK7f5bBj7/plXMXsy5nxAI02XN/vDIpMFsjSL0DJrUS1ta9nLBeyc8HekvkXUbqrCFFYeOc3REu8Quyo/ZoVggS5Hm96z1NlajjrvUCvpqZqxu5V0NQ1r7OqbWOd4YWEI061165LbnZnm9ZZ66SqZFtXh1cOHGZeZyK9ItShswXLBNILe7+ysM26Xzf1vdftWVCqAcMOFIw1+zjvSzC9hyYZkaX7QHKy2ryhfsq7Sevr+dujfEf4jITOAFhCJVL19t0pX/v21n2gkSPVeVVahNSE6vRIV0dq0V5f7qrzTqDlxx2smqDVSsouUi43OVAJUiXgqPXUXUf1+RqJIpWFOPpDjnAdPpWCuYjlhA1brrhtCivL70Y9/Ran6HXJy3rA1/PLkXDsU69ESOJbdd7Kza/k1SohFmiCNi2S+u1PPDs51yRk2ILbA2eAOzFAz9NB9HuGsnloQ/ORs3NIJFs3fJwbHv38eCb1skSkf4xQiLS7htn32GK3E0c+Twa4k5hZIP42mVqUHwcStlbPV58YAkjQSt+sknmj9xSr2mid2nl1HWZ0knBHZTVALzIE79swVmQpeixXxcaSo6Xpo9BrjUD1Jo4wY2/CBD3ehdKcTMKoyjRBOenZ0dUQXNs42Y1M6A+kTeRRdp3zI4ZqqEpGND77O5ZarlP83MZwYxqEalxTxSumphGk7zZWUcqIepqZIo/VQ2mf0CxR5CoyukSGEJbFX3bQDdmYFEv8CFeVB56Tec/GWivWr/a1QWPAABLTJmFjHlAyR/9Ui5cksjL38Xgj8H5NhPb+3FH0JebbLkMzKAPnktsM0YvzigHi/QisAXKGHkkExb1cbZciXaQtcsh/3FvVIpF/eifOn28tQfC5k5uGuWqUogwtBDcRUYess4pCjVNi/H3vBsK1gM2lrzsOps84ytlC4CzB66pNSYt8B1Fb9d/MWJAbbCROBNATzs/Hu3Bn9LmaXOZChsSeeqqsI1WXAcs/UUogmEE5dfH0XfEscNhTBa34B46JSY8Y7N8qxg8jT7ix4tQWjf5tAOQXKnhduCbIpVTpOAhrMZy/MKrkidEBT8H5aN3vfM3c=","tokens":25},"timestamp":1774364120739},{"response":"","toolCalls":[{"id":"call_PQQk6pTA6EEKsswpSDUdP5ta__vscode-1774363162432","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs\",\"startLine\":1,\"endLine\":220}"},{"id":"call_H9JZZU8laVAbJ6tMvBQHFKcI__vscode-1774363162433","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs\",\"startLine\":1,\"endLine\":320}"},{"id":"call_7Mqpfb3fyy2RtZdSwRnU1Pjo__vscode-1774363162434","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs\",\"startLine\":1,\"endLine\":360}"}],"toolInputRetry":0,"id":"88bad59a-ac09-4b54-92b6-c31a38e6c147","statefulMarker":"Z3L4TjOBKs8hFztBrGvZKQXtGImxukLVmHGsbMDQ2STUhZEE55GhwjWeiF3m3I0XnNjRNFpQZ68fWxhDqe+K2VmNwytnxt0xVzV4C1kqoTIScToPcbbMjToVy6TZSefjy9IUi3nRlJCl42SyRce/uz8I/aCM3WYrmK33J9WvPTUC5r3Faww4SNiWg9r3w90korIEjDW65RhjHhOWJuokP3XMZvjGLh7o3EaWaY7CVfFe1m1DDaYSllch/VEiSofZ6q9XPivGJfdRQjj6QbY4nFnTNpye4hrXOlhhcM3YfvqrKtSpcdJepnV9CurQ/QVH5y4xIowAm4kjC7niAceyTtHRIgT8EE5e1wiAFDWrkvRfmN0L3BCroX3KhG6HO/CawHlWf+Yi+/p9I38Z2bvQOwT+/Xw2Ah9B","thinking":{"id":"s2p4H2rwlvy/xnLpeUVNPakunLoXZ1txOPm+gdvYq5VXal66FEDBqQCRohZhr22DgUhhVrTEz0yGMzlyTtZgF+2uXmTflNxYc/KxrgLk0+xvjqW6BPfmWCB+RHtCN3sZMm3R2KZJWNQY6Hf7OD7gwB4xR7KYq1nC5Y2J51VKUS07Enk2mhFw8RTWBnN7cfUQZr091N3jbCxLii3hNLCWuVOrp7RPTX5pIlPXp6cETUwnkS36mSf5jg1qWCOOcWgVgZvZ1JlA5BodKHVytZKwvHh3xvcKPCeqzQyPoSTpabEnET5O4cMJHs0EGZUUnLRjXg2tBCduSCq4Rn5i8M7GpggCEj/DCbLHQTgApigQsY+JiGt+oo1UVyOoALj11tbadXFxJY0zbpCRwq1sjLAQspcXCFWvLA==","text":[],"encrypted":"aeeaLqaxbfMV7DQPLcIBk6g6pkJnnZx27XVxNkKBfjsplIRUKvMaNIwXvHdG1YIfHFCSTyOM+ROkm5N6o3XdTcEMl8Pu9GsZ5kjxur7aWdOI+xLbdZryrzZZIL/3leBbuE52tBTtj0HU1ZZJLPK/KEP5i0uWn8KC1Ygl8aQmP2JKeF5olaPVdq5EVORGT9zYIdooXodju3Rz0UjakkxftcPetwD9ZYRfhCpSmCxBYBkowVLwwqznBLhlsex8pG3VefERusXA6hP676dmioE8pO3ZazSKMYq1tufBsi9b/0kakpKkE3fr4J5ztDslxAfIpYvnE6+1VyCezq8v12cooqB6aLaysAdKhGTAhnH2yDsrk+QoyEtZH2ymyxwlgiEtxQff4/5uSlWhgo5DdXaXz14jXMfkLzGfltIIIo35DH9gOiJ7PVlQBlcuAICmhxHneo+be3w2lFP4hGjNSIzvK4nlzm9ANSaPWdK9+dHhwI7qHLMzo50EFS+F6Vdm5U1UEGhD9f0aBEWQNBvbBGFQC9ydG9vYFfmptjg6XY5OdNb7tVuwUlEPOKk8Y4/+F7zygwuXN2HAUzwEnCcBjmz3prkOHXu75sLDUM7YSu0zl4SHcnEjRUyrVAa9TdqLmmr6ZZcPgKxxj7VWhjexTHP8zDIzRwZOKWeatD9ccAtN6ZlED5V65x4i6GYgTvhc4F9SJ828nQ4p/LRsTBJsp4L+8RN9ADy6qNLgAeMWxUVi67rAvLc/0ZRw5hmitbd5y/V6Xe4ynTo0Q2s2uhrflsuWXgxJczYUZ81QXgZ5evuyembFYsuX0VqkvQAYYEjvJWaX3Fd/q+cicQUr9vV5BsSuq3fhMDNOMLgs9GfXz27949wpjhSnEcYiqz1HEjJ6Y9dgrIKmBI0RtjSL1ACJdG0xsN+nVvzsSRvS5SJJ55600t2qONzQ7gBdoCKjAssSQ7Sa9z4Wu5iNcGc0paWcC2Oft3H2hraUfKYObzosMVvTQy2VPex+p2fQxW2boCVnHkXgc+JuiDhC6E69TZpEd6MdPiMBsgGzNtYuJhFf3ErnzC57UkbJldTlU2WpKn0sqcmCpqqVkj6l2CClSav6xSEyyOmtE5ad79yO52lnqALHHAcQU6l1naTueZGdFze1PP/gyPrV6uPt64Wxj6qQk4P/nVb/y9cNo4VYNOepZYCDsHkZMd865ROB2UM8AutF2jcJB39WyIrPaK8USttoyHc5K1raT9KuvzrvGWkeG5u9iZLdtPK78ybJnXhs3DgWHEQnZ7fvqCtgXbqfz1bGcENSYPXvNrfQ98ACOl7ptpRfM2XHGbTDwFQXrhc9blkn6R1zbQa2n5vxkcZVlwMZ53vodT+ZmXPwzixSZvi61t4aBVsqH465taTZy8gFBMYEF+hwiMbt/eVsY4lzE1drWiivLU4dXtydHh6Z4GvxqfIkuIp8+9ru2lx0NyTD4JzkLH/Nclm2DgPyPEEI3AtdwDMx1j0NyRY+83WzUS+SoBXud8c4Y8lVpxfi4yWtE9WttqAZUYo+h3FwmwEkzT501ogUvc85eoD6jq3wp1Xq4bJCPYA1D5M4eoWljCixCxKQKl+bjwSGBAWWbSldJTc9Pi08qE7/qqPLLaGq/Y5FUh23uBO5oMaR5dCePibJI1AyL7kBVgl+6771Eblthxq5OLwE8VDFisifx+3afyA3qRYXf3YMarq8TtYsvtY3htULcZQ3hC0aSB8LvDWD285OqMJrm8sLTJoOxq+tBFze+og8+s/JLEZI","tokens":39},"timestamp":1774364125104},{"response":"","toolCalls":[{"id":"call_mQmguviTU18qAYdcI8H7NBVY__vscode-1774363162435","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/AudioManager.cs\",\"startLine\":1,\"endLine\":260}"},{"id":"call_tNLbjofvk3VpWNJYDSwQVw2n__vscode-1774363162436","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DebugManager.cs\",\"startLine\":1,\"endLine\":320}"},{"id":"call_SKESiji1Ke68OgyuEy4VAmAl__vscode-1774363162437","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs\",\"startLine\":1,\"endLine\":260}"}],"toolInputRetry":0,"id":"36d54a3a-d353-4fce-8a87-fd67b452a22f","statefulMarker":"W87rXNChAhhKp0DXKtladxzD9SsqjhAMEkOyS6MuaFrieZGsZPwVmxQt3zaLS8/E6XPpuUDJWVevuMHcp/ZelwMiVqzrqIbg1HOqcKc7v0K5bat83XpaLgoZbXuZlSB+pv9yk5KYuxkvAqaihvVpEcTkHPL6CLyiU091uqzDT2dCNlwK1PIiYv4l6YJSx0GaKA07CHAAzCUl9p3YeUJ6AfdaKGznkojOAveoWCsPiTe0by7WuG3degIt3Ta9Dl2ElFqViXSTSpwE1Zj5W9+6AJkB7jphRk2DGWObQDS2socJ2hzRgEIsSeLQ7ffLpTWROKCgBBXzDiQ6AlQP6GiUm1cmJDZuLjkDEa+p6E6GEYqgiNzLZHsA5omtwFnRk5fhX0IkrrsgJ6ObLiE4ijqG3oBcQaajbrET","thinking":{"id":"8psqGI3jaZIVJe7ZaUo9q6GFfStDgbMImwXOOYgl6cc44Du5u6yZyAJm2afC1dasBfiwpWvSssX+g4Vl/udxEpnlwMQ83bnRrba6X4TjqB3s8IFjLki2ytGSv4fQi4Za6CZLPjz5NJpqINqLqyDwiOoCnjwQamb4V0xUr7+VOeFcdMl/t1ll4g/PjyeNsZbqKZWMH+T0p2WOzSfe9NwXZEGuNyr+CHvpxzSXbmjlOmiNMOFvKbd0wAIP66KMBitYIj5XZpnd4sSW2NfStb7ddE0T9dfopG1pMHiB16O1hjpW10PukukZRH+OcbUDb39w3Z1ZPJB8FgFmH4SxwtZWr1s4rKq5K9J7YHzfb1aUSnaXhCtQqB+ucsqadN21/b9i+qX1ROH19TNpswlROrWYfdsuzS28pw==","text":[],"encrypted":"ROTbmdath7IuJaN22AFcIv/X0ajph3tf82yzGixr1guc5KoQ4Fs3c7MH3sQv+wiqnk/iFKCcXRCmOBUycTkRY4Y+urV2j6r96H2+HMOpYnOtklGPekSe1e/+tEn0bnunez6Yd6ryh5b5TWGI3Wv7bFnGeJ309+h+uvwwXb3RaxcMQqmFTvD6x8Mblv2EwG5A5FTFv2HxqF2fvRI3g1c5RJff1wTGjIlVpv6fSgxpGbMaQUWUeazHH6twd8M0LRxAK4f5HAZ14l4o/P3HFJTuePUpOXvB7rnWRSU34bSwPBDXfpMVWYemqOE7hzW3ZL4/7048z8ydlEzYXo9tkfEY8cKse6p7yJguDKARV9A9NgyFzklpSdAISAw1nut/VRGhWaNboUB+XVrAIhl7MC/+seMYjrxFslYWm0jYC7/2rMG3ii2e9xOK95nFxycKox4QS9qLC2UJPxyPPKAmn27FlOT4MwG/Xu4THF2CqbAaO5ExmygbfuHatORegpRp/drDH4HX+2QVyyMAuyYiVJi0giWR1nMzBocTWRmvwckUL9/P0GKLC+ChVaRv7XVTG31QzP4Y4gK98DjD3SaXh+cFu0zwR3HLL3JbMoE1zHhaRAgvB/jusL+lkKSSoHhFMXvC3lqBF8Fdx2+JuzYkGeHHjeGafh6GQB5jWU3o7cdL6nGvV7S+oUwaqVtA0oQg0zyRxEIsxWAQZR0NlJrdhK9nLwUvOBxL+f2WGTGLjlBsCbYJWtiAFKhng8aujhHyagpa+wu/Q1HqLe5yImU2KC1e+92W0gc0RvKkkvlJuHGwiaQT/ai355JYXfxwqY60xvkBSLnialVRaNOXvA1qJa9m8lVIpAcBtcbKp3LYFZ1+UJ03cBOeEGvN4xeWO3mY4uAy5QLhuJktLSkVuVqoI7smlv/0Ym5KBMMLu8UQbz5potpj9gDSlWlf+auZBeTaQQzJ6rmJ8v8/trWbW0V9YrAyVJaDsQtj9BQxZ6hS2SGXhAucLOmmP9DuvB9DfWCTOIxMQvCPVp6jePiEUjafxvevKYlrjDkGyuoKeCW1LfqxDrDykjbsvBXhX7U2Wv2yxN979Wp5JwSXaFmYxXFnIIx1kGHFBGgsJ3PPhXPMGoR/pociWB5x/pBv1MltgaR3v7+zftuvcRs2CCKap7CSBu95F1G4CNmYFqEiOFh9ea8KXY3hxmRFUAeUpRddTVaelsY/8HzsLgay6LW4ekqMBFThYonFgjpuegia8rn2Vb8dctblWMUcEoNcMTSXXWHAcNcbwN5IU9hiBay8EczDhj8gflDTOzqVKBBIot8GRISidLz2Ax7msvz6xZHmQcY5YVvXthyGwfLX6r/PnnQZluBLh5kSytZ5GFB472A0ZEe8Qe76jVc3Eotzh/DOx4vO84A4UZYb4Z505AuSar8p12adOe2mC9ZVKCx1YjpWvRqPxPmoYtVUOHVehaDGw8kgn9HuyoIpReYAftTHPjx+JM+qQ2DEuxDRcr1bYah1m7MCvtXjSKrRvSRnbXKvA02MN+27CziAbzpPDd7eFoNldVi16gmI7x2z7D9xufFZAGB4Z1O3HKqn/nU2J0XSpAn38uPJdlldr9RdwIkumaltIoQ2mCG2aEKh4TBhDaLOyJNbPjFCOybT1b1cu/HMIqo=","tokens":21},"timestamp":1774364130003},{"response":"","toolCalls":[{"id":"call_7sOyze4qq5k1JtdQzTSB8RJ6__vscode-1774363162438","name":"grep_search","arguments":"{\"query\":\"TODO|placeholder|You'll need to add this getter|adjust as needed|TBD|FIXME\",\"isRegexp\":true,\"includePattern\":\"Assets/_Project/Scripts/**/*.cs\",\"maxResults\":500}"},{"id":"call_uX3clshqjoiQtHqkIdY8CqPz__vscode-1774363162439","name":"grep_search","arguments":"{\"query\":\"using Unity.VectorGraphics;\",\"isRegexp\":false,\"includePattern\":\"Assets/_Project/Scripts/**/*.cs\",\"maxResults\":50}"},{"id":"call_n9lkztVSD6zIRSpwAA9t41UL__vscode-1774363162440","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs\",\"startLine\":1,\"endLine\":260}"}],"toolInputRetry":0,"id":"b4b51b1c-e24a-4546-8738-feb9d0492e2b","statefulMarker":"3N39XsqdtGNy9hsQLHJxqF5yHT4W6W4mUGGC93m0PeDciM4eCjaBQeDVLSTL3AQX4NdLuFDdoU+fK/jUwnc9ij3HhKQsXy/2jTD7pQty/7IGjhgi47pIlQoTmqIuVyYV8WD9QumKG0+CKwukhAoBbG15i6bYn0kH31GqFbE/hsFXNi5gMRc2Up4VKIRVWkgtYDk8Bqviy2DXSc7pP53m7DPu0LPRT23U7Di7FDtF0SwTRGh/dR3fx3cvyIQ7y4u0AHO/02cpo34KdJ3GUPd0X3vwz1kB9HfSEWAKya6HNf5toCfskBlNGTaDbNDUOIMEqeI4MFhEp9/hTMB2aeAwcLPzsYuVBuCkz9TktBIgylDqJq3VedKE9UmywAJamqeMHIyRl4H5baK9xRBTvImSYM1/egRarblN","thinking":{"id":"PVctCv2MwuvMssfScsxfDiminsT/k4QAGKwNscHq7NUPCcSkVBiSuWI/me19QkfPI8zZ4ANJkQiLkQpsLade+wrg9PzFJAZ8LnrQYCoO+ABxHL5s5Ig8Sy28E/HmB4I+XDO5iqmQrZS8wY7JI5eSIpLMsI5MiILOqBGNz3CCczuDXXBXI9CArBNYfySUsxbpa7wi9Hg65P2WDmzgE5t81Iea67nQxc0o5YcscgbcbQCl6dDZv9l+aahdKYuVXJJTfNXwnAsrpIF0B1R3uLCUu5eGUOhdQDXco6YSS56b3ueriTOTt1Y4w279EA2Ny3WqhOQh0MY6gm7f5b+VhRQEJUuLBXS3X0xv+bzlS8Y/fv4en6kAeaEayvDp8d/iojKfmvYQJliMzdrS2oVleB5xqCjPDkLo0g==","text":[],"encrypted":"QxAOn9GE4UGo9oSh/6L/jdORMClDP9UN3xf1Nqw7kzGAQQ1M+q3u8pO10ObqIVtDTvxTAcQHGTMaJCETaDV8SGJrik0hdO0xr3+d7CsDTO3n+5mPL6jWcQehtFE+Nv01VH5WzRYJGKtmfQH8FycEHhirwAVnl89/Yrj0hVUJywP8PVjG6kftjLzs1DbfOM8CVV97zGW5OBIXfsDX/VuKSHxLsq9aMkSI3Mt9dlDdHFpzCtlBQXeTwhrhdaDKuPor8WiFpl6ATW/uldrRXS4z7N9EenbJn0ixmz1iXjyfdiaeVRvE2Y1jCRZlettcUCh7fV2jbLW2QzTC8E2CTzwyxtJERsGjMLmpUkWcMAJTH3qIQzzGDeADV4ysk+FbN42AcFCVXN/8Y4IkMe4ChS6tIuIs4MUoOxNwZ92iz4Np+Rb031FvCqa3RVoMdnE+RHeDs0VCZDFyiSzGgWJ9EtQ4qz+/31VEIEVlKtPdnduohpU1Mk/EJaFlVFIFeyz501iy9i5KmWkqbtpnlgLqD3iLd25Fn7kC+hzS/vjehLR4r5m6GhxoWB82CwGxW1Lh0YpvuPfTx8mECokzsEJXdbnKBz+XR5hArvdRJqCKdykQmaw/WHG1zUukocCjExYX4W4aoZtOSynNvIt9upilZZp43jxKqRPeMdiq+eW3O+IvjL3Cgz4+Di5g8LA6T0A8lXw6ajddrUf3zC01eZwpCobBZ8V0ZwmraLUw5LuD18iMVOb03ABo/7CdGtWguk8rfJwCP7WL56GDPtTbQR5NdsZIZtblFqy12BNIqjTTX6Q4+4qzYJpo8vI1PZXkQwiCvkEr7zQ/qQIjgOLbwLMh59nE+kLZPmG/l7UzvwRZkbeUSZ8REtSzx1WjkFOy99CtU6q2Xgm+jeDvG1EGvH9AU0zryoTTN9flEbQzcaAO1UH1/bkWQoSJBKa/7baLAd1iTtOJfpr67KyvhOKhfc91pmdFgw3NPnZHDQ3gq2U6ojLB4K1K+UxI294/XYJ5Uv+mPiRcxL+6dpqEySTuHsBgqdO65h+9DjNAgDH5kWa/1S3gX3jglt9UCH5JQsMVmbnDSbqstnSYl3iCqOrm2ezcxDynV1CgStp6Wa3+jtr/AioVsoHRwA4sP5WTBFe0Zl0voDg4tD0YJ4siJVoHYJCDYqCkCd0XFxSyXv4SDSy81M2DP4rqmYuy7FZrSFwuDjR/hDPx2/LlMmEiJRpbdhifN3HS3IXmoE/RAiCejJXjnNIabqV/s6YBiWKOnp0UjL0gJy4FCiffsnwx8pKW8DTYQmvTWj5MTw+wkUQF52LvqBJDI+C9H5XJRkOIlac+AchYrnFvlIWEGMGTInzlPySR21fW25kejQCRZgpQu/FggcxpmpB6DanYFO2nWg0bYmKjpHYyLJ5VJWucciMUdJIv/nPmjx/1K7HsXOV3hYO04pyyuhZ6QdkmSsC+ev1NBiKphyiWtC9oJTiGEq241+i6dlenlUjlomnxoA6TIaROpeamJstY6nMnE1YkKfQ/ejFjXkaHRMZJKlM+mxNFfoM1r7I/+P9+Wdub4veNQM1UABaznOq10XII6pxFwWf16CJdzEHx8YbWI5ILl+PDchXsY2xMjcIMN2phYcB9VjruamSaG4Mhg9F5lmqNHKcpC+eNmfhb0DqJlxnhLErJjGpmCpUTqsIWuRh1+kosEL3BH9QfbcLmxl/IpWf0g0dVZu9eGlFVWks8CO2yzP8K7RpSjJpovCHSrtU7u+moGbxbn7i7KWMTaS1LFF3Ltg/fpFRHMOdhBWWBXEl1DWecqNPMz59WQuReHcUekxy00e1KuJbVhR9dA+/jQBtwwo3Wxr1XL19Y4iyYLFlQFr9PO+kTjBw9QqqdjCkrIgX3n9ShLIhZhGw+nDG5GG0YBabkKtar4Bx1cj2M5/DARTbjbE2YAZMVdtRli9wrb2n53PgbqDcIpugNxaezX+RFHcybL9IYD1/VuIUS26pmcXI0LHext2xyeQsQI9u9h9hdcNepdQsZ6WcLb/STW389hW0mkPOARv+zTzxS6VXRyP9+MQs3fzKrPHnBJiwoQO1NQ3bNVpn7SfL+eMAvk+2XYZ3A440kuaAgRgPUtI/tFAyfXKUNPD7OX4irP8cTU1u26+6v0JqdWKsrI0XlT48D337lV7sNfO2zuzmEc9kEi5zfHfl9/Gimom4NTAX0hMSuj8Nkm9pLiuTsQHSQeKAVTVBQvoOo/eW1cIM6EMymQZP87+kPpcLFuNxgw6zaYeVsYE1/dgz+29SlrLhwGzrxz7e9/fskR+p+gzL8nCG1NnInSQVOxRFTYScDKYn4XnLMniNKpSHvmPdosdB+9EB6QOBI63ldLu1lRxOgO8ZJmet2aYDRzdScYhi1rZ6UoWxKQTff7mya0+citCDvG7aLwndyx2oTIInFncnDK40A1LraQPqPXCcE3v7ocJjXQddJC9kroU4/s3PFw6CA1TamXp61Kpz6ZnJ3Xjz1hPC6Cg8PU+1nvMFlkoP336UMXFvV62+DOMtzleteY/fxv1JxthH4AaDf4ZYUTBFhdOgY8mwVE1hLAPxjRcVAFXL7tSoRnEOtc2eX+DUBoGKyPPFlNa2djki6KqQO8z5ZjdzVVZgmh2WjRxaNfTShDpl09WPJEmfAhLI+6ZgkvmKLoMvD4teIOrq6PeR8rVATS3eHB5u/UFlYW7tCn9/DF87XKOlN2+9KA3VZazsBIZ6shMLmvs1QZc87dQoFONGvew3AJOxLXvwlgpkdPXVulOIQ0SWlTREZgutmhex7UpxbrBI9qfXF5+y96/uJRYbUsGqVfOYuv1swoBJpXwy6hOXNqiIFkWftyeHxut3Y0lk6xXwIAGT8e+f9IcX7wiSxWM3DCGnT6qzUXgKmuTDLBTxqudYjhV0ckvlGJzo1olR8X4iYIYHbSTjWm8f4xBQogcKnd1lMU7Unn4hJ4II4/3TY+PJvxkJA+9KWRV7WNO9DioW9fBTLVWpkQGjoHRiujvaxrLznu++wR5TLqtg8PFWaS2x0pJzQLIoVlKOS4SD02nnxSyraoB2UUMx1pOgkRrU1lmcNKosF9OlVBZPChSp1n2H/OvWbWINWnvBMsGmsWfcjjniUjG/GqYsS5baJnrUDBga8cmdeTvghGjimzXAjxPMbkJQcrUOYB7KsEgOlvLBMs46lhIb3CDf0Aas05ZS5Z3oMUMMcIEIT6e+LY/wAzp0WTFlDbGWjIhtD+0jMCd1kPTLEcMcFhq/w/085D8x/aX3AZmM8H+wcDFLrk/VZmdMsAY2sGvHiMoWICfnY2D5QOdQv0Rty6NFRXGPk11AeXJqcsuUV7XbCSp10SPM82Gr7xron4HYX9I3quklWrqNKv94Ar7QCADIb4wy20r7c19MD6TKts0bUqsTGAOqW3r8YMzbWiZbmYVKd7d5OQpsVQJHrT58q5vPWxLVEdbHfx8J3Djmc1uZNQG3Z1KOza1MwI7n6NDYohQkYH+qfxm/Lr/+FX1FXpyb3/oeNfyMBSDlcXDHT87kIBnGTrwfUmZtm1ZHbGLo4+PpHZ3R7pGye+SH6TRSRZTlHYYHPoLtJZQX7V3hhnst03rrhpwCyiP9hgpbX9QdMcycMp5/ANDaG1yA2mq5Km0TWrI/RbSHi0a6QdagM+CD4bm/MULVgG85ZrUsPxE6TXH0Deao20/mbRUIukhtmBoiwxed2ZCjZXSrD6wvY4keuHDP9YCFy+QJsbVAPS3MhMI26rrZ3OIhz4mASzQ92h57fR/dWL/VIYaDAEMsbg+R5GK3+oVEyHd//qA57sGGlDYTu+KB2Oq6B7ikZ0jBmYsgiuSLc7I/os87MU3kUG4j14KuRZvuHc3HF0HXo+NZLdwN3l5Mzprha7nhDVwqkKFgSdCrkl+I2dsBjqAPJ04Q2hqYRYGEojv7V1d4l+Tu0CcK5GHuO7R4CCD70sLjIeu18X4IC2Rl1GDxBZu979mRGcfCSeBhn8+3IXQz98g1g32zHuVjm5U0mNiYJvQZK0F4eMbXxHIjhelqR7k2J","tokens":285},"timestamp":1774364139146},{"response":"I’ve confirmed a few concrete maintainability smells (placeholder scripts, stale comments, and at least one unnecessary import). I’m doing one final sweep for incomplete/empty MonoBehaviours and doc mismatches so the validation report is complete and prioritized.","toolCalls":[{"id":"call_Bv5kZxC6E7t6l40HxFLE11er__vscode-1774363162441","name":"grep_search","arguments":"{\"query\":\"class\\\\s+\\\\w+\\\\s*:\\\\s*MonoBehaviour\\\\s*\\\\{\\\\s*//\",\"isRegexp\":true,\"includePattern\":\"Assets/_Project/Scripts/**/*.cs\",\"maxResults\":200}"},{"id":"call_R7hE2KoB8Y9tTE7ErnDDzeHT__vscode-1774363162442","name":"grep_search","arguments":"{\"query\":\"void\\\\s+Update\\\\(\\\\)\\\\s*\\\\{\\\\s*\\\\}\",\"isRegexp\":true,\"includePattern\":\"Assets/_Project/Scripts/**/*.cs\",\"maxResults\":200}"},{"id":"call_QgMIhdddXkmyTEWMuxwzCWd2__vscode-1774363162443","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DEBUG_SYSTEM_README.md\",\"startLine\":1,\"endLine\":260}"}],"toolInputRetry":0,"id":"df7171f5-a12f-4e93-ad55-a6155503f531","statefulMarker":"NpoIl1gg2ZVZJYK2x63q1hH8cTB43GypN3+QyxA9xeIDPWqfIf6F28A/elkA0ypGDsJKHHW6FXqcUVznsDD6QVcig0TM2w4PTFsm+pS7T1Di0YiZwOfe2aneG3vnyVtv0Op30++QvsQBVnOMgcoyXFLgdFvvvmroEs1dOnOVPfXFMEwQbWSK5xi02LynVESo79ewN1TfBmKbm1eZbetTkqgFwLBZt6YRjMchJv7d9g6YlmbDDT9+jIXHOX50WeNYYispkt6iiFrBctGEpv9FjOKf/MTnw5QuTZwNd+q6auhitYdM2E9J8mysYHlYHW3znuPtL5npPn4xkaDorvaYCdeoGQIKfKUJfrQ4TEchfqdBYrExn5D8WOMWJ7olaViEhNUiNz8Si498tcPqszoBL2a4XQQi8s7v","thinking":{"id":"y0SXBT8wLnWkMHjWAZCEPj+uTREmiItCt0Xir1kCwaAIBsjY4wNoUl/Er0UUg9yd/Xwj+XsTLYkAvUtlmv807AXi279twnasDUaJ6R7F0xLWMGUnJQmq4znZKLo6xO1fsMD6PmPHUFrELXPUE9ey0bK3U90oDbj7rG5DEZa7P8C7c2VuzeZ6jwsvnREB0wQi6zoy0U2OJRiJZjMgKM22CsC4mt5lB17l2u36GONh2FserLCzPXhJZwZ4KfMJjTrPGSHuynI4wKH0tnUR7xWkuMXYtcWa1mKay5aTJKpOwkc2baJ2ehaj8xKh+6NMIC8xwXQP7lYZi2yIAzIRayde9GeH4ufhq3Dp6C1WDjIfSuqY5J6T99fLBDaknaMw9o7a9JMp4vBBos0yL1R0WZfaD6A/TPDDjQ==","text":[],"encrypted":"UtU8qL57aly14aw3Lu+THtyJuKzZYVOr9hkAhy2B3CFrwSVoEIGcQsTizXy3XKkfVj9EwbQi/rSzX6R+4xq65mh5iF5J0UXFtSGTGkt8As3F5nqhqglTs0u/c5cGg4dgMPSIyA/axbNe1IU7aH5NFH6EeI+9a5V8MmsTGweLv24L8uQDV7tQ1tXawf7jaPakBDQICbpSQDXYp/pNAZlu4mhjXTQuBhxwjCJSDKw/i3g5cLJ5jgPdIgSSKP+WBnP0HSTAZBx7JusbGVyRjMOJ51bQpjqPsp6oUhLpeGAcUYvcMcyCv0+8T6na1hHarc1lX698F5VBoNJf6h+R5t8U270NKk92v+yM497BxOLCFdlQbbOi33OrXNJhH+tJczMuHiXaQaJas0nXLwBLJ9dXnLMtAJadwP0sWyUcZUzn6j2mTOru1tfBtYoCxy+ouYk8H5kLlRRBJdfszveaJnByeM3qv0MHbFIKvf3Nufw7oDwOIDCirWwxdCzq5jwHeJSeLM4iy5bfRHQySMPQ7ydzVYIZe7M96qD45dYL7/PF4OIgwubrVhoQelqClkL1wEzk5LVZ6BdzJZLILu3R2KVZE6Y4+Tkgh7jO/nLCyIeWCvrdFX6irY7ZMX03p14CbpqlXcn74weY3O4eJCJjs/IXjGRrVpntTi3tP9VXnNIj/pNx/NTnnuiP8sNXtXkBRmiMFCAJyOmRLqbbwy49ZbCZWZ3m8xPw0uoIUxXYLek6TOIVkmK8ag3qpT6OeWKedPtIPyV/nv//ixmCHYr7bXkCXfzeu9RrZxiGdVbi5kh7qgp8QkDDqrj6LONf/uCZ7Kk9U+tzZWYj3SyPbTC9rwgrr9lE0LKFDa7tKBbF7zmM4BYq2aMQ41os9MMFJ6uKKzI5ypIPgesfMwReKa9rM5V/5/SmSJ+nGNZHBrJro5y6uvUJ5Ds6TXeCx1burJi/rCC/RrcNR6ksBEFhPejjp4zC2JWXUn9uXZ1fgGa/cx+92pc22pVBBk8llZUARoGfXExqnIz/LMThQlfRtuNmH/dGcl6FJ1iL9cXCnnGiIAipc/fb5WvUfhieYuR07mTSzzjViAVM2AMvAAtaVu3zU/MXUbaJRqs7PmQe+GCP+6+A5rk10Th/poUhZv1j3x508sJ8fR8G38S79Jo6sFCWT8UUivzBcQ+ycms8cAcgBvRviLnzRV0+d7Z1nnC8xp2SnMdNmp4qv3OZFYu/x6SYHD2T0jDnvW9AXLQUKAAE05ddqhNSp7310NLCNB9pFB5jD+rw7yg8Fq5zXgQkOpK2YceLsjTG3yDHwlLIA8alxkthxHysCMedLzgeiimy7BHKpZ9oK729DYtotj6/T0vBZwzqlH1bwmkXPGB4XfjnOLZMWVEXhf245VU3yGRdOF5jTpnB3pDfFNmUAnCZ0gypCoJTvykgjKKG+xHsMTblTiPPtxwvj/FiApPz8C8haquspHXum4JeP1SbM+W8OV5JT5dhUuLn822/EqZ4VqlkyK91S0WDfkPmx4gdROcIa4QKM7vlwZ/N7kLYin8OGj29FerXwyfvFYgJ8YrMEEX5y1O8v6QDMFMACVXgXEqE7XlkGQPT71xU8kpheLMmdI+cGTBdZaWPuCKh5lExc2GGofnT5AQAWLz3vFXWcOCRn4sppQv5BnJWru1EIRO78UckDMAz5qNM0qFqIQWWHTX3AqPTMcFaVEYT92CYGexdI4NpEdvIZFUUR5FyXMs/lBVs","tokens":38},"timestamp":1774364145772,"phase":"commentary","phaseModelId":"gpt-5.3-codex"},{"response":"","toolCalls":[{"id":"call_rAGb8mRnGcZghCVrgYIMMKsM__vscode-1774363162444","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/README.md\",\"startLine\":261,\"endLine\":548}"}],"toolInputRetry":0,"id":"7a8741d5-764a-4b6f-81e3-c0ea555276e5","statefulMarker":"NVq+66vRiPbAVGMx6UCKMTBLZ60h4+Xmq0wbf5QS2tkxEFgV36wAPuc4Ix1sM17bAoDNAL+ZDSzM1pcZt3NVBVL/eh+HURVnyiQJswjFFVNWDf9/jfSL2iiYzb+fh31olWrj91IjgaIK/awQp5tuMr1oi7B94BwZUbwowGxW0LDdV4OsjMm93RcUxsO+3JQxoXWyBS2jJ7vwVR3XVZyDDZBO9I+wS4GLsza2Ffx5PeR/sdbRqdf/lMnKcjdtyS2/A+gptEOMw+nO5SYKUvfJgyvAB7Xs+WeNxk17i8xwePhJvf6xcz0HEukmQZgYX9AUrsudUwsq8GsHBlK9LpUMDhf7BvGjzyX/X1N1ALHgD+lHeejJIJMzDqHTRIFM6VpgTEErCU5pf1Us5/+JM4c7aJdxiJRax/K1","thinking":{"id":"/+YUPUqZDPbrkcX/Dpk3poBxHottnLgRXFxD112hnT/wVWkM1tAn2eT99s6OnH1ZGn07HTmHOOscqBoFEvJPqHrbHPbRjWHE5+3+2jltixl+vXMSiGLjn3nDnkbfkkPeUqvdK9V7HFiH9tYMJVp+nQ2BEKTojsfXY023Ls9znmJKY6AImeO3dGJWfH13gtgNU+dbS9yI+1fkaBIxyjvr8BCDA0c8kJ03uC+SaaB6kmfw8fBkT+VkGi98Cuq3aPurDcIvizKy08L57wiLIj+dKebFXYw9RuBpconQBokfn3BSTwe53XeFy3YJIAEW8GD4BwnrxUi1zybTWm8uDKWgoHjlJPZL97/RVHuuUAnVIXZyE1WJSQEuVKgUZ1oLPYT/0+463iJ/bMukQ53Uyf3KAROrMb65Hw==","text":[],"encrypted":"GGRcK+HLfPIUQPixMSFQpzLXXPIK5QLk8TVQ4a7dkALi97kNUgnGIbK257Cti8tUU9Bn4ZujVmeZpJwqchY/2bPcPCsblTeIJUkYiSFuGUueTp+pxdfpm6VNuGFndbCa99nkE2FW07uNzxn+M7qDhyKSIKxbraMpA7IMaL26T+mFWaggpKXs/Czf4+73Ddi7RODkrkOtP5bw3vPeJfBGHwW00AlPqB5FP2gKWjb8cS3YOWiL9nXpwE8WxrYcbgjR/0s3NQDgDQsHBFKSt4HbUX4N1S8Bm5DJ9nxn3QPtSFdgNuW1jqjpLPx57zfFIDNJgDoVSVddFRCTSa1ldQGG1SxDcxoOpiMKsSaBCSqvdh2/IU7tV+FA+zSicGcfscNcjiShCrMw06hBaH2YrtbYtS7bHPOAEBtZKrHiYYnSL7pGpozK4LBLwbbSHAHyNc8kI1EMq+1RPk4UBsFXKkQijWTz/oZFTkxX3rfPMuqHSj9TDe1oXBH55jczxltMvbedCT1bBwtEdcSXlDIQqywUBi4WY2Ys50lD3pAel792ePzHRcEq/KNXlyA7DQf29N10Osh+I3dYVAceozeoAVn5VMYEPOfLCprQaEBHyhiUsWmrFaVjQvrv5ggZCEfg5mDRxeurJ9IMm/WWQR+/RU0yxCWzZceud7+3r6TVkG8PLDaTsL7rKwcTp0BVyQKVsz4T30AlJD05Eg2c4LlDRENhBhHWRMg9FxAxkdmuM31h1M5rFhSJYnTVEWzfJbGDVGON2Fn5qAfDZ3clzePQsFDtqP3cFvrpvXoq8X9X6v76O57vsoQRn2O608gR6qC5Y4qS8dQmvFcHtLnq1C5B4mELwLVS9YOWzmjpm/eD3YwwiXkyhfVhbtIqynu5ARa3SfKUoeBZK0+2EUn74fdIn0gjFIP6IS13WgMg8dtZTLEIgZP8ohapuyLh8SES9QmYFrlQGDkXME+N2LpaZMBqhEG6bik5Xawcpv5FeBP8nSx0qsdZ8vP/gBCW8vnt5OOwhmqjBkX/GR9I2sd+Bl9lQeEKBlc1s1B3bgQNauWZhrP9ZuK5kkIaUyMD0/x11wGtwE+RGSndGXTN2YMZRZs6HsZAWp9NsM+Vmno2PszBSSO9bPochXePMUGx40+F2nFq0lApc1ADe+UsfxKhPuSGNfGrLk8EaTrvIPnDBhWgdRwlFkGCjTx1LJq1H58BTOV8LdJK4bSf392+1+w65PlRwvaOvOEKEy+Tg19vI75QuFMQgu0FowLN19NBGFMXCMolJAlu2vfAocNefD43+oQ05u+sffAwDjhxeV2yYyXuFEooBEpjSOkcGBTQjYj+vW2c/4YVlNT+97EtI5uAn6svELoTHaoG0bewLeq6vb5lwWGKLcWwMVWeIsEwuLQVkvYnzrZ/Kg76jiHlm+BZddGkNtH0gxlDgDDDfgx7J3JDHO6+/jPz1Z7hy1L1+lfODZpsbXoMiHml50V++pKhx2BHs8Yp9Itbk4al8jIklXNASiHikQZYjGhHPSleCrxDXovCBfMztwK6kfNVWJPiZvGVKRafGaIhIA8V5o/THgje8yvfVzJmD1CocH4og5ZxL27cm6L6Sq9FPJaZa4z0XKXIgpeTzV7YVz++owok2LFqcVgclzSqapJGbPG1R+oO23OU8GyFSqIZhgc+wM1h4jDUCwEoKWOwi2VlV6TqZCDZMXe+zxVrVbFyuUXLzVSlJgX/r5bSZzjWu3Y7lkSgWq3LJilUDNxWscQf2my3A6gIgdxDKyA/ECE4OH+fFPdZ6MpYg5+49sL/8OkhfzN0pVboMTJlCrxYKbg0KJVfiqwsjHhZ/CEMn46hVU9tFBe3pTOKQop2q9HP+EGr0aCUf+cCSxPDDctPvKRDtoGVA9Gt5cXlL+SbIddKWfDVrn0ycCDeY8qv1JwfyQvlgWrD4BdMWdrGYHn23+E=","tokens":50},"timestamp":1774364151536},{"response":"","toolCalls":[{"id":"call_UpGJzXUKHImQHK56Fos0JN5D__vscode-1774363162445","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/ProjectSettings/ProjectVersion.txt\",\"startLine\":1,\"endLine\":40}"},{"id":"call_6FXJi6CpJ8J455BkkXcZNWYO__vscode-1774363162446","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Packages/manifest.json\",\"startLine\":1,\"endLine\":260}"},{"id":"call_qsQkHHjng8oaupEAxcSCtdiQ__vscode-1774363162447","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/GAMEDESIGN.md\",\"startLine\":1,\"endLine\":180}"}],"toolInputRetry":0,"id":"6c8bf98e-8f63-4894-a970-37fdc2f5eb4e","statefulMarker":"h77HYoWuiWSPobRtOByFGkoPynlXww5uOTyMH0XNjCcBbq9C1Q53IzOWXiB84m1j/g4KBLNzjjhizOIlPLZIzwxrPSENCrVhsaeOQHrDIAnP1AdrJgINAoaTzVw0HLTyfNsqRQCLttC2gPwgOTPtrv3Cbbjfy350mCr5Ck5GoR2BXsTDZWzWKal0k8xbxcLqadMgdWsdh05UBpjnP/YdleEUZxIOPSXj7xYpbxdYWXDzY5aRYRWvv8ot7kkS14ZtCAir/KIN++VhluNxiJLUCfamYfLjwLJKuoqOYOjQkj+MudP7BE5ZEckD0NynaFIPTwTs564KZI7gvUSMx5b7ztVGhuFdrpUbKxw+anYlB2nH8U/NOselZW6H+znIh4h/LPWptLxs6oO0uVkjNzh2zgK60YbK1fY9","thinking":{"id":"CDVx372AU0XF/kzCOd7ocF54ZodZOKW9kjDPZbKm6Hpkl3KYYz3I6MYVcTKYQ+ijuQbRNpML/rAjTmuMzAgpcvvqo8+9mgJr2SGtlItn6yKAp3HbPKTn0EafXhsusircJxhDWCHUTiczafZCqELRSUjal40v4CHE0ca1bmK0TTh0jsXGJc1z92xnWvHpI9DacTzQXEZaKEYkEjlkEk4tUJcsMRdHF/02eYJk6xI5d5lCcCSibUEY5JjQXQRy58Xf37xqetsBK8CJws5litkp3Oaqc6e2M9mJim28lv3gCGWOhgJ63ETLYoFLwKHls8dTYVlipcTeYc6dLMUPFgy6JaqJf3QUvHyPSlX/b+m0+KYtRAaKIZ8anjLrWqE/7S+cXeImDoBJ67HTERVqTkE96QwpXT1cGQ==","text":[],"encrypted":"kLr/QD4i1RJVvmSkFPnBtTZSlh4TLi6uWNB2dMbcsG4pX3SuadmH81PjQmPSFBFvRAUfWZpcZD3wxM0Nze2VFZMisyS9zSiSOazVSd+PkSkTLXJce7elmmBoqTuZjy3uOoKNiNpZBkz31+Shuzj3ZUEQwwO2gDg/DbXZBe8WGyXYSiWAmI0vOcUbAZCZSso5LB8vTHn81gJsUJivNDINGiJBj62OQHLUM8g5+pnN2SnlrtzxDHCA88LustVdFTuhMLnhaumzCCZuxEWO9AmPUoEM8IeOq7BuyHCM7aJrMYKA5mmLC7RkSC2GAQ9otCFzLJGnAt6iSmN+/jcLIJ0NNmKrEPLk20eUMBNEO+X/hkmYlph+mW/RHREYnhkQM3tI90W5JmbRIvBeatgi8ZgBsdO9iWfe2N1uI2ov/5Kdpi/jj9ruyKDNni/HSJciKfDcbz/M2gn0albYhVv/vHI1q6aMgLaTU3H4vbHP6Xmt0BM/Co8t0fhLvW2AJpp/KM20Pp9szicJtbqsNvTYhombEoqm0mJk8qMce1zS2SI5Yb/y3TiSNAuo1/PvN4MHYz20LRqrjz87/OF1it9EnM9d3BpsSQ3Bwh0md0XPzm4xE5uqAS3Su4fCPEWTpH/LOck/F2GtW2bharveOWJ1pIsf1Y5ZBXscEG2HNDUP2LNXdGkZnacBGySxpxLsjMrjMnbn4F8W4gu45ZIb00E83dUlnNPJ0k+8QVHxVn80k3s0JeYrsiDTiA4hGjXa8nQsbKEphPZvhPaDOWae8Bo0MzNO7Kx8AJk6sH0piqr7zFX0MSkya5YU2kxBN5x3iJc/dz6nSvdGsUTqTgz+AbzWdkPbtcZwbnB+rJsUWbnnT3JHpLbFd1fBgw17b0E9uJGK3u0ChVZKDxAyLeYTqOW/xTponuM1R7S/GaOXDXj5dP5ozadWn05/k9fMR1UmCUdRIiRU4j/15Tk6poHVgCUE1fM97b06ahHhQc8oNYew8krwFeYAsUrmqHWK09ICXIPAU9HkVdzPmpB0j0SuFfNVc3ImE6ijHxjpufkX25GGB481PcTqicfiXiqVMfu/sfCB7cMmp15xDGTPJo7uw7vEFLmzaCL9Zh1lq/5msq36G39dK8yErlGcGr6uxm03IVkzbxzHfPyS3SCdtAvCxl+KiWlOnnA/f5I6qVlvbUgb2XM64c5mwD3I+nvWY75vknEH6omvDLE+2D+32eDLpec7zQzbdZdZbDOWS7Eiq487sfm8iRsKd/cuGVxJ2VfOIbo1bfFt3glRVCmQyJgpouk4Y4Szazt4b96jNHq+I50nO7dhMIe8dJXC6H2jww4GtF634Zw4atXo7xfHZSjOvd7ERCwfwm9+BXZzkYXmmgA7HboJM3PcyFWbgMQJg5zvAAUxCVzyMab0insMgtKij+istm5YgbOmY7lqZAJBn1e2UmMVE07wO7+Vx3tIlhcnZuVZrp4OM1P6bnhJjzkTJwNgJtUwJxC+bo4pGGTeDe8udM7T06JDzEVLackdSyOI+R/Wsm7/HTbiZhtOfYAnpRj9SmdX9EZyoQbGABkSaXKmXB2VNhYQpy26VJowAOup+/spRfEWTv9k9mQRnLhM0wLVEQ37Zd6QIEVf/COZVm0vLN26nsaxceyFvakkO+0bCqsx/2lu2e8irZB7nRCIx4JVaeNCnWvqrdTik+naJW2PVZYIitLIMOyteVD00Q++NjLWHVBM8p1lwyQ3KH80l1DTPLYjwE9WXUZ82pzrF301cjHkgYXBpYtAD0BoQ4tRQNCmBzoGK+0A09O7QArZwWMeFnPpA0qJK12TTQF1A/fehHDepwtYrBfHJzGchqhFObWlxZc8Jnm1PR5kzGZXsIHCJk0HsnVaxEMVK/JN4G1hnnAZFrgDLsTh2WJLZvRG5lgZEgOEP0456Dqn3pFxNLaAOHy2tbJCCK2DH5waPr65t5Hklq1p3Vk0VImLT5IEJjlKNZ0xAulmlTbchFD3b9OIMYRO7mx5OU2wowaQkcwvF0jSxN8KPLmGaxRM3kE458Ck5wAigJxkBKuOF4F+xa4R9nIr7P443cmBrLmpPk28qDZtrNy15Gq1h3r+0T+wq9yTisprGxdfpwIYXxH7GEEUz5FjVte6CmaACbukfBd3ic8vGrb+r5subLgo/ewT4iZ89ulH2jrMERQCs0ZsDvnNuGmtcNrr2O8=","tokens":78},"timestamp":1774364157156},{"response":"","toolCalls":[{"id":"call_iLeFTZEsKWcVLYbZkMRwic1P__vscode-1774363162448","name":"grep_search","arguments":"{\"query\":\"top-down 2D roguelike|GameplayTest.unity|MainMenu.unity|Current Phase|Last Updated|Unity 6.3 LTS\",\"isRegexp\":true,\"includePattern\":\"README.md\",\"maxResults\":50}"},{"id":"call_39l4kQSR2QiyJ786y8gVMzXF__vscode-1774363162449","name":"grep_search","arguments":"{\"query\":\"Unity 6000.3.3f1|GameplayTest.unity|Input System|InputSystem\",\"isRegexp\":true,\"includePattern\":\"GEMINI.md\",\"maxResults\":50}"},{"id":"call_XuvM23cd7ZzFNwGzA9oCtLbV__vscode-1774363162450","name":"grep_search","arguments":"{\"query\":\"Current Unity Version|Primary Scene|Windows Standalone|No test assemblies\",\"isRegexp\":true,\"includePattern\":\"AGENTS.md\",\"maxResults\":50}"}],"toolInputRetry":0,"id":"eee3fbf3-548a-45a5-9446-c1e3ba0513ac","statefulMarker":"G2UZamL4U80KHDs3WwJ2q5RurdK7qHRaVE0mtcYJdhUAEZ3E200RG8+gF2XhDLJXSAY6hhIJNqxVpn+oQyY46ylT6GCWm4Fmym68+wiNQeqpsD3PXCkOsFwBnUmaCaApCQuhC6nxJMYXowu079M9akvCVIwU5JWK+FOm1PfZSFhWWfdOgmHx5QYOgSeuHX0KqT0OwLRBFZVojY0L3uI4qUvSGxKrEzuaZUDDPqDU4/Fn4gosxe8q6AJBe5NTQeooHSnMZ3GllrS2iJVQ+72o+RlOkQl669FQI/MPPdOlVbEBKuHScUw2xdYE7iIBtZNYExVimgllMuZ8kAHXX0mQcyAzBS2HgiLbhVwWQkKJ3Tx0Yc6xeRqa/Vl0J2Xa54hi8oFpCrVUhshAombuCe5TPktV+G9mWS+U","thinking":{"id":"2cTpqi14A19DDH0C7jYHOJxKBwF17/cUsl3mOJzdOkZQidEvJu/kNNvT7vlC1vr2FqCPTA1akHJ7qSd4xYSMvIXVUc2agAHw04V8mdBZcW91EoY6XLV3RygNV6BmHg9ukEQXMvS+JDiqdd8uteSjXrlJtYzMpWZaix0YeGlb3s1YcNQN/AB3UymwwVSsbFGxZopavsZe1MDhQx3V/jUhsUSRPD9sI7o8bhC0bwSHSiBWfd6yIEx9yzXeVi2ffPkncXAunqkf6ybgBiRXC+zgr9QEbsrDxx8Nv4NARQgcJ8CVbdi+tsiD1n0gnR9baiDETp2dYabrbqukTJk1f8v3dpRcdVkc5MQoqo5ww5+G322z8RM1+kzmeAz00cUfOI3aVASWzL+Vpr+ud7K7ayjXI79jDLWI4w==","text":[],"encrypted":"8VlB9GeBGLilSlbuIL6lTp0RuuZf8Cewq+g6Sshd1l86lzGEYvx8la1dhCV/Dthdv7FSF6itkynr9gSY+Lug7x8A+Lc0JJobIOXkb8XzSaZ3k9s8Gk/Fx+mLdf+zPdmHCRtIa5PgQSIDNBD7GtjVomNlaJoTcEhpqA5zxRiXDFy5xX/K4wc3j/h0UDAj9oZ72ZTWXSRMCT6vbCgZXDeWvzxlPXgJGgcB0+3QXsH/a+HwiCt7bb8K7szAL70LCLdPFNK1FKz0DejSTQaWos5Cmmd7js9RMyc/bTKZHqtEFdtnepd/rAo6AdB1Y2t1OiOVxZs4SZvBEBnw+2T3SkGMPuMiTSuAm2wz23lHDIZAlX2O9xWO0RpFHyaDrBh/lYoM67riWqX/+W1vJ6z0mZj3nnp718mgGKyLHH3FnJuDqH0UCtO/5SxaX82j7Vz5TVnUariOrGr8ctHmkxBMaG32cNCkUHg9Wscw58FGI0VSymD5xpP7CRypqW1g7QjnOqOxAcD33tbmg7l8MNubyv2iiMLR5hnFaojKdRF5Q6JKQn+76CP9Ws4JCebZnLvgBdG88af8L2g1yFecB5/OwVHaV5OoF22lI9Ulaz8G5dkT2iHtimaNcf7ndY1mWhciHKPiqkFvVC2fksfwrAE1lNCZbx53UoycZ5ZbXqqgPJwyj4y2RAzggxJUytq3kfB92bO5GqMHlgDgtd2Q9P5htjrPQopVrpTE2evqTJkZDkgbt64u5ph61yo0kv2+dIvGtREXk3IhpGQp0Xmm5YFS2PNYdKR3tup5MX8ME75gN/H1yUGyDFuKrj06+A70VfXkkHgjsYxutcbyo04Aja40gQnqLxO4CiSFGVaozgbJ0PmIexIZUjR320WAVrlS5eQVY4MpOwNfRIMa7hbnxX89ca7Q0NYilyF/e4DdyzyWsNYLOXGwgvguMh2kc9fKy88mlEXlu6RPnzuz5rd6PO8Ix/Q/JkKr+v8bUeAWxtW9aAZ5LdU9hN/tUBpBabX4qE7+B9j/zYLyKxV9oF+vMnxHnw1x53CkLMlJ0UhEyeMtvKhW5GoglHeJlIbnStzz1gtH8SKUi5RjhLCyUz1hcKIYq1tAQfVquiaIvUo3L+XeOIudfMVsUjsGmK03aIe3j31f++qnCy8AiraJ9bkG90Ys3NITVONtckfcxsHtTIETt/oG0YPhdGBoonu9as091Z2XvMozmd3LzfTspeobZb/nDzKOiAB4Kccy4IQQCgoD6o0cBQCRG8HUoorNL/cSJWesHk6ea3VxEx6sYon7GrqVJIQMg/7vMU5+jRX7Ace7hLRer5yML+Zcu/U983TP8JtzMD7bKwe/tKExGxSnDdULZ1WJ+O5Xyec0oDfzT9Z2aEby6/c53DBe0VjKaJ2bgtgmqfssEkaW+U/O7x8lB/Z2/XeMrW4dZFpM9x55/pldJWdhtSx1MHXpU6v6eHhXbO76vsCESpfkz4/Gdn6aNdMXKOc8RyaX8LXHUF2kbQMe/t90novJQGXGu0IwKzhdyOUw8/hllaGkX4q4OXvN+dYS9OMORVXbgtueyYUXYDQAaUk3fJRZpW4Hy9Rcm0hWOYkKYsXcmnbcDilt8agU5JK72XteVEJ992toBOMEJsJPyEVH3CWcItjQdBe6QhxYdmL7yEr+U0fRHAyjaT7rXsneNzhBCmKZ5Z9mmVQqb9ikK+LtnwMxhIiJIOBNXAxNn6Rcl3JAVlunbYasN1fGgGO9evI7mq36Ce6cKHiwiTzYqziu50iwZgq+eiu4TyoL+N5O6hTNAxbMOVIMBzBIoke9WBQHLNmPlqS9u0StbCfPdv6pifZ7/QFcBnjtVj+Q0KvODwj5KWfhXRAWFl52ONEGsvyRGlyyRnOWTZhwG/EAJIRiECyF2gswGFEAmN1RTcEDNlvd/25mR0AnTGdnurGNLNvx/WlDhxhcEpwyrZgmXxDXmE9XfR8kuSDhX1F52oe+yMtE41qWoh4s8KYHJH44W1iKTZhzZT+UAYdWVD+ov7317NU8yYPc4ydYRbWsDefOMd9oAaja51WV32TJHOAn/Rbkwj9hGQCXbWT2lZ1+dSup7nS2HOn6qkM+FUDDWqLdPMpO1/N96/RkGk10frWNXmGmeZPhooz4VOIiCC5chIwpZQx6kT/73aOlFXnx1VY48SyUJxYKJ/cavY46wSAurJkAtLQpwajwq8AklhXQRbdU5OtDBWE9yc3j8+0/qz6QIPhoz/2/u4a+G/6yzVxrwTnlIsAyHsGxkmeXYovmxlE+3t+Pr3FC9oDyUmr7/yPlf0YU97g3NVhb5ppWp6YBtA/7zSAWC6NHIuok6228yyG8J1mOgGhdipQUCoOYkOczxbY96R8QZf1YzH+pk/XyCt+OUuZXjUm2ocpHBpoZ0FEhpIhhdgC0cMSWE9BfTBkmGNpqYv4ciwfmiCBFk4BkHjQsm285KTWj11jHYsUPS2fqpD8Ar54rQAGp/NNrABSYELBcb7sqL7X/onapgLfdP37lWQGNqfftUZKGDg/T/JAkbEG9ZKzRQEbHdeQv7YynPjzSojkBuPCr1neUEWKOuEpVYlPK/3RoS3Me7Ez6r7S8NhkJyQ9z9wqbaQk7jw+ZVI+GLdN2myklhKSnmP3IH7HwYfZrWrDUfMUMN14CpQMxZO/OQkBYoFhKn/GJ0xgbACubvA2YO0ag/vkT0rRfTKE7RwkLL8No02uAVmTnJW5PY73eKaQrcO5Tunb/LteEQChXUgmaqjHCqp5px6dbyUimjaPJVyeAFzIkaJwoQE0QW/E5Lc78e5V9Qdha1jv6Hp+2kdZrBIEe4sHUh/pKNSMivzFp4FyuQlg0NKZCM2yzcAlFgaWB1UtigPWA2h9eyLQo9xCT7UaOOoABH5z2QCNePL5K4Nx8dfdvq+/DZ8XAZXkUQwLDUghkuH0wAxwFlq6L/Tw2XugqJiFGjwzGqtbvIro51OBl0F+tWa0sMCstD+vk0qexCqGqE4NsbWOS+Q+7p4wc7p+XZQQih8JXgPjVAuSdgmzjDQ+PX5hEtzI9P8RO6OWgZG5aNSExgywPPase4nTg0TnjB86QrqVZicg54Iuoq4fiNXkUbA7WEKT63L5Sv+giqhz82F/B4u+phfMJQwvGeUo/BZK2xGkaAsZLsB9QkW5Z7+GL1L9VIXUxchyVCIDD4XyDcOhV1D7NV1jP0UsUvygv/wM4MZCIol4HErqgXwFUK23DJ5Zq13GrSgjE9XMAeZ0ikomM+9w/QSK6FKVREsgjo/QgkFWouI1x2End/lDhFLnmtBdf5CdZYrzRpFyo","tokens":196},"timestamp":1774364165318},{"response":"","toolCalls":[{"id":"call_1L3Vu6eWIS2b07enLPNMWADg__vscode-1774363162451","name":"grep_search","arguments":"{\"query\":\"public class RoomManager|public class UpgradeUI|public class AudioManager|public class EventListener|using Unity.VectorGraphics|FindFirstObjectByType|Invoke\\\\(nameof\\\\(InitializeUI\\\\), 0.1f\\\\)|EnemyData data = enemy.EnemyData\",\"isRegexp\":true,\"includePattern\":\"Assets/_Project/Scripts/**/*.cs\",\"maxResults\":200}"},{"id":"call_w85qdeNy77MMlWsNXlTNjrUa__vscode-1774363162452","name":"grep_search","arguments":"{\"query\":\"OnStatusEffectRemoved\\\\?\\\\.Invoke|OnStatusEffectApplied\\\\?\\\\.Invoke\",\"isRegexp\":true,\"includePattern\":\"Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs\",\"maxResults\":20}"},{"id":"call_Pr611DQek2l5IG6uCRaYRxC9__vscode-1774363162453","name":"grep_search","arguments":"{\"query\":\"OnHealthChanged = null|OnPlayerMovementInput|ClearAllListeners\",\"isRegexp\":true,\"includePattern\":\"Assets/_Project/Scripts/Events/GameEvents.cs\",\"maxResults\":80}"}],"toolInputRetry":0,"id":"7273671e-c89d-4ea9-a0fa-f61254b54e6b","statefulMarker":"7HRwrGORmL8pGQhf/E/mYtnUZdgbyN4j/8G2IWlO2cr48ml7F59qrC1a7CiiXZ3c1+D286RW0ocZQ7jGGJSoZHyQ9o5G9GqxMA57UNenJTXyxL6ycT+hJw8cHIfvYCyTL3RN5e8oMTBPpSV8vqUqPRwbNUoB6Pcw9xFdtvcYykYcO/zhdGcv10008m+AAdI8+GMZ3pa5bVI4azvIOhsk2VseFhJigVvHcMXAufCY7rjBKBTcV+aOys9oYUNkqUi+sHk3rOVmulIRqzOnaXQTrU+1jKnjpV4L2uFtJQes1mUIew1lcJoXHfuagkl0xO0yk/Hwr0Xd+ClExuoONw7hKGx9zzQqS3okCtlalU0icSBjScoj1mUWrPmtSDPcwYkrv9D7US0Mwk97g8Cm4NTcv3zrlheLfFBv","thinking":{"id":"nHl5Wmsx4iVIWPzsPG3SXJvGvukbUkP9+slOKaOzDDyPwwy5oUyaebvtOrkL0F67nxXlZUW96JHQEhTiFVEs0ianfoAV4+5IB6getlybVy3fwaGNl6Efyxa7GA4cWL8ak9mYoCsuSEwRtyXC/znPHBTTNZeYfeqlodZ+V1UDCVs5O6umVSQ+bVunEfJXcGbf2BfmLcnmGrw4ag4wwCYcjxI1Y0UuZW2b5/QFMrv+n03L2TfK+SnFnPz0QZmXKeo8aFR44RWMcB8huw2ZPRauDbTgD+c/TxGGsyQXza34z6RPs7GU0Enl1MMLWmD3aHJrvnlc3yP6h0RY/UfdnwZP4J2s/q0TyaDZ7mExRMYd2RSO7jNC9BT2qgkuFoyWXkkCWx2n5E0f7KSgf92omNXmDh6ErqLFzg==","text":[],"encrypted":"crwJehVFSpoWa/16G3MdOGAkJ4S2lZ25wb9iI7RXi+NoEb/qQAMlnhmHEcng6b53pKIvtv3tMGkDzgXYvrotSzBpNbApW2cxeJLOcSlmpvbzfZcZY/8FjAd7w9XWaSbfGGVRbCkgxkHkvQjL1cS+PBX4HUkcY/z94A7I4kynKPI9HA7Onvv4ddGWTA2INxLvhOCbw74sUqcriLCxvsVY8Tf2SpYFa0GVXxWPlcgjCmqPvvOJkTzNJScLxUSrLESz5auMK6lm4KXZgofHNlLDaw6zK7roizZ5wTpkN1V0HomzPnTCWLHUdFBpxZ7fM5R39uebNcZO9RMof328rCZI6wn71PDKrjdq+qb9y2XAdAREzM7XqDBSevaSyqmLvFM9a8F7/LJpLanfnlPROpJHtFVcCgt97R+dG0xa/cqyrm4NXZgn2OogyZjZSpGeVqWqIGUdyGTvjSC+14D8QuzbSuQBQBxyqdHFwUsGNgjp7OyylSHmufRYFo4seaABmC7qHYi1LaJGmpfXEq5oRdMshDyyTmWSPwcYxOXyscjUetdbLYic7xAV7CKcw1Wh02hNara0PFOcUAORGJWymrbyLr0x4v0lJq4593XOtsPxvMTTaMwEb5Bktgmx/4qAgmRHFx0Za0nH0Frb4+cM2qAIDuvWIgxPncjP+L92F8fCeZt4WhshrS8UkQCk1FGWCNKIQ9eNdozrs8l4Uj9SC7sxjy8hvmdJ5VJUjdBUlhIwZ0t93/NWsRaWdhT4riaY1rOUojhBAWpw9C6F5+CGU9+Ptu8AMz2N4U3kb4CjU4uKefUBJP+dTCB5hZxMSOkWyw1GzX4mSvs+eGUZAQv0R7Y1yvy7GqgD4eIwoxAu/YkozoS1Dchxt3ibZ3MzfE1fLXQ4WHWcun0fBH9F5/ThvjNCm+cfdlkpVjewxuOEnKkVld/WFheXPeZhqDV8URi7kHDShoPfoijONZQu3ytYlhw3P9Fe58llZd6qWv7U66hqe5YebeoldSveTvKcTiolnD+VflsEr+ThEtUVnN5Sh/FLyEi3/CXVnm0xLZbVPAlBwAgZgbv2VDAvcrkjEoP5hVagMtrXKYZ5tnsQRzF+4q7MTWVXoawbnirkyEIXve12yOphKCHrwywaU43e5qfcTrjo575rXY6XkJyREi0+jKwS/5i7b8HRIWlyLwCzzpXW8T9VLDMhg7gKjWAgw6j119r04euA3E8/9quYaHmBSmDkSLbVqY8BmkDafPbQlweqhkFtUQUBY9N4wKGE77gsZxlngGMljOMzp0C9UnxJnfnn56++OO67b/2gCZAY5vQEbQbYsl2iyhE+1TlJn86jYTMVoaa1glX5hkYjPnv0PKuc0edjM6/oL4gHPwrETFd7zPxLe8NN1/M7m0z7pL6CpBrqiboYnm1/37ydr2sA6KXT/YXb9Lxx49GQNq6khlrlnVZR2Axsxk9yn/JSzzgjkXTDTho8b9dfbU0Pn0Po4Dnuo02dxjSAglGtEdV1BW89MT/80r1v2TvOHlBXTjwCUSVqFKLLX4CqF9sYzepGHate4Hm3zOUMvbQHMUwy0RqHxCfSB/ZXJ9HiwytkvkNSKY22V12+b5erGeCG53cF2qqBd7C9kGh53K3AAW0zjieJpHYeitOYwiNw9HMB85Nw5YxZF/sejUSKZkaI3PqAGe4e3Fb693Y=","tokens":24},"timestamp":1774364171981}],"toolCallResults":{"call_D5w1VZqxi5jDnKRbfflBqlwz__vscode-1774363162390":{"$mid":20,"content":[{"$mid":21,"value":"Successfully wrote todo list\n\nWarning: Did you mean to update so many todos at the same time? Consider working on them one by one."}]},"call_P4RXp8Cw4AArxqOlgWz0umKT__vscode-1774363162391":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"dFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Data/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Data.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Effects.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Enemies/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Enemies.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Events/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Events.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Managers/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Managers.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Player/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Player.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Shared/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Shared.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Systems/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Systems.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"UI/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"UI.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Upgrades.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Utilities/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Utilities.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_fF1gzmbRgtFlEURyedQpMTBf__vscode-1774363162392":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"Rwe","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"52 total results","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/Attack%20Types/FlamethrowerAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerControls.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerControls.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerControls.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerControls.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerMovement.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerMovement.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerMovement.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerMovement.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAttack.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAttack.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Utilities/DebugDude.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Utilities/DebugDude.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Utilities/DebugDude.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Utilities/DebugDude.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Utilities/UpgradeDebug.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Utilities/UpgradeDebug.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Utilities/UpgradeDebug.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Utilities/UpgradeDebug.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Utilities/PerformanceUtils.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Utilities/PerformanceUtils.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Utilities/PerformanceUtils.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Utilities/PerformanceUtils.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DebugManager.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DebugManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/DebugManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DebugManager.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/AudioManager.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/AudioManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/AudioManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/AudioManager.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/RoomManager.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/RoomManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/RoomManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/RoomManager.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IWeaponAttack.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IWeaponAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/IWeaponAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IWeaponAttack.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Enemy.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Enemy.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Enemy.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Enemy.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IMovementModifiable.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IMovementModifiable.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/IMovementModifiable.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IMovementModifiable.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IDebugFunction.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IDebugFunction.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/IDebugFunction.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IDebugFunction.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IDamageable.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IDamageable.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/IDamageable.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/IDamageable.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/Health.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/Health.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/Health.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/Health.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/Destructible.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/Destructible.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/Destructible.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/Destructible.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/StatusResistanceData.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/StatusResistanceData.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/StatusResistanceData.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/StatusResistanceData.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/StatusEffectData.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/StatusEffectData.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/StatusEffectData.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/StatusEffectData.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Attack/ContactDamage.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Attack/ContactDamage.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Attack/ContactDamage.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Attack/ContactDamage.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/UpgradeData.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/UpgradeData.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/UpgradeData.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/UpgradeData.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/PlayerStats.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/PlayerStats.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/PlayerStats.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/PlayerStats.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/EnemyData.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/EnemyData.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/EnemyData.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/EnemyData.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/WeaponData.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/WeaponData.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/WeaponData.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/WeaponData.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/ActiveStatusEffect.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/ActiveStatusEffect.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/ActiveStatusEffect.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/ActiveStatusEffect.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/IMovementBehavior.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/IMovementBehavior.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/IMovementBehavior.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/IMovementBehavior.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectVFX.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectVFX.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectVFX.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectVFX.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/IAttackBehaviour.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/IAttackBehaviour.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/IAttackBehaviour.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/IAttackBehaviour.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]}],"props":{},"references":[]}}}]},"call_oL3mkcnYgeaLxiBed9nnS87r__vscode-1774363162393":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"Rwe","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"7 total results","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/LORE.md","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/LORE.md","external":"file:///home/breadway/Documents/Hazard%20Pay/LORE.md","path":"/home/breadway/Documents/Hazard Pay/LORE.md","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/README.md","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/PERFORMANCE.md","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/PERFORMANCE.md","external":"file:///home/breadway/Documents/Hazard%20Pay/PERFORMANCE.md","path":"/home/breadway/Documents/Hazard Pay/PERFORMANCE.md","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/GEMINI.md","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/GEMINI.md","external":"file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md","path":"/home/breadway/Documents/Hazard Pay/GEMINI.md","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/GAMEDESIGN.md","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/GAMEDESIGN.md","external":"file:///home/breadway/Documents/Hazard%20Pay/GAMEDESIGN.md","path":"/home/breadway/Documents/Hazard Pay/GAMEDESIGN.md","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/AGENTS.md","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DEBUG_SYSTEM_README.md","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DEBUG_SYSTEM_README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/DEBUG_SYSTEM_README.md","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DEBUG_SYSTEM_README.md","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":10},"references":[]}],"props":{},"references":[]}}}]},"call_7yW21u1rF3sZd4tOwFxS4rT3__vscode-1774363162394":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":2,"priority":9007199254740991,"text":"File: `","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"/home/breadway/Documents/Hazard Pay/README.md","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"`. Lines ","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"1","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":" to ","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"260","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":" (","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"548","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":" lines total): ","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false},{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":262,"text":"````markdown\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":262},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":261,"text":"# 🪲 Hazard Pay (Working Title)\n","references":[],"lineBreakBefore":true}],"props":{"priority":261},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":260,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":260},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":259,"text":"> A top-down 2D roguelike where you play as pest exterminators clearing bug infestations. Think Enter the Gungeon meets Vampire Survivors with a darkly comedic twist.\n","references":[],"lineBreakBefore":true}],"props":{"priority":259},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":258,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":258},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":257,"text":"[![Unity Version](https://img.shields.io/badge/Unity-6.3_LTS-black.svg?style=flat&logo=unity)](https://unity.com/)\n","references":[],"lineBreakBefore":true}],"props":{"priority":257},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":256,"text":"[![License](https://img.shields.io/badge/License-Proprietary-red.svg)](LICENSE)\n","references":[],"lineBreakBefore":true}],"props":{"priority":256},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":255,"text":"[![Development Phase](https://img.shields.io/badge/Phase-2_Core_Loop_&_2D_Refactor-blue.svg)](#development-roadmap)\n","references":[],"lineBreakBefore":true}],"props":{"priority":255},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":254,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":254},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":253,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":253},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":252,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":252},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":251,"text":"## 📋 Navigation\n","references":[],"lineBreakBefore":true}],"props":{"priority":251},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":250,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":250},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":249,"text":"**For Players/Game Design**: [Overview](#-game-overview) • [Features](#-game-features) • [How to Play](#how-to-play) • [Status](#-playable-status)\n","references":[],"lineBreakBefore":true}],"props":{"priority":249},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":248,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":248},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":247,"text":"**For Developers**: [Getting Started](#-getting-started) • [Development](#-development-section) • [Tech Stack](#-technical-stack) • [Architecture](#-architecture--code-standards) • [Contributing](#-contributing)\n","references":[],"lineBreakBefore":true}],"props":{"priority":247},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":246,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":246},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":245,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":245},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":244,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":244},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":243,"text":"## 🎮 Game Overview\n","references":[],"lineBreakBefore":true}],"props":{"priority":243},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":242,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":242},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":241,"text":"**Hazard Pay** is a top-down 2D pixel-art roguelike featuring \"intentionally broken\" character progression. Players choose from 4-5 unlockable exterminators, each with overpowered mechanics balanced by meaningful constraints, to clear procedurally arranged industrial sectors.\n","references":[],"lineBreakBefore":true}],"props":{"priority":241},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":240,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":240},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":239,"text":"### How to Play\n","references":[],"lineBreakBefore":true}],"props":{"priority":239},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":238,"text":"1. **Navigate** through 25 procedurally arranged rooms (Sectors) with branching paths\n","references":[],"lineBreakBefore":true}],"props":{"priority":238},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":237,"text":"2. **Fight** increasingly challenging bug infestations using tactical fire spread and crowd control\n","references":[],"lineBreakBefore":true}],"props":{"priority":237},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":236,"text":"3. **Choose** 1 of 3 upgrades (Performance Reviews) after each room\n","references":[],"lineBreakBefore":true}],"props":{"priority":236},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":235,"text":"4. **Level up** to unlock path abilities at levels 10, 20, 30\n","references":[],"lineBreakBefore":true}],"props":{"priority":235},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":234,"text":"5. **Defeat** mid-boss (Sector ~12) and final boss (Sector 25)\n","references":[],"lineBreakBefore":true}],"props":{"priority":234},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":233,"text":"6. **Unlock** Overtime Mode (Endless) for infinite scaling challenge\n","references":[],"lineBreakBefore":true}],"props":{"priority":233},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":232,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":232},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":231,"text":"### Core Philosophy\n","references":[],"lineBreakBefore":true}],"props":{"priority":231},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":230,"text":"| Pillar | What It Means |\n","references":[],"lineBreakBefore":true}],"props":{"priority":230},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":229,"text":"|--------|---------|\n","references":[],"lineBreakBefore":true}],"props":{"priority":229},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":228,"text":"| **Systemic Variation** | Each room forces tactical adaptation, not just higher numbers |\n","references":[],"lineBreakBefore":true}],"props":{"priority":228},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":227,"text":"| **Enemies as Teachers** | Every bug type teaches a specific mechanic |\n","references":[],"lineBreakBefore":true}],"props":{"priority":227},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":226,"text":"| **Intentionally Broken** | Overpowered abilities balanced by meaningful constraints |\n","references":[],"lineBreakBefore":true}],"props":{"priority":226},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":225,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":225},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":224,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":224},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":223,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":223},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":222,"text":"## 🎮 Game Features\n","references":[],"lineBreakBefore":true}],"props":{"priority":222},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":221,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":221},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":220,"text":"### Characters (4-5 Unlockable Exterminators)\n","references":[],"lineBreakBefore":true}],"props":{"priority":220},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":219,"text":"Each character has one overpowered mechanic balanced by a constraint:\n","references":[],"lineBreakBefore":true}],"props":{"priority":219},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":218,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":218},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":217,"text":"| Character | Power | Constraint |\n","references":[],"lineBreakBefore":true}],"props":{"priority":217},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":216,"text":"|-----------|-------|-----------|\n","references":[],"lineBreakBefore":true}],"props":{"priority":216},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":215,"text":"| **Flamethrower** | Fire spreads infinitely between enemies | Takes damage in own flames |\n","references":[],"lineBreakBefore":true}],"props":{"priority":215},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":214,"text":"| **Beekeeper** | Dead bugs become allies | Cannot deal direct damage |\n","references":[],"lineBreakBefore":true}],"props":{"priority":214},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":213,"text":"| **Cryo-Tech** | Frozen enemies shatter and chain-freeze | Cannot damage unfrozen enemies |\n","references":[],"lineBreakBefore":true}],"props":{"priority":213},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":212,"text":"| **Swatter** | Melee specialist with execute mechanic | Close-range only |\n","references":[],"lineBreakBefore":true}],"props":{"priority":212},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":211,"text":"| **Sprayer** | Chemical DOT with poison immunity | Damage over time (no burst) |\n","references":[],"lineBreakBefore":true}],"props":{"priority":211},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":210,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":210},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":209,"text":"### Progression Systems\n","references":[],"lineBreakBefore":true}],"props":{"priority":209},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":208,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":208},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":207,"text":"**1. Room Upgrades (Per-Run)**\n","references":[],"lineBreakBefore":true}],"props":{"priority":207},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":206,"text":"- Choose 1 of 3 after each room clear\n","references":[],"lineBreakBefore":true}],"props":{"priority":206},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":205,"text":"- Categories: Power (damage/weapons), Defense (HP/resistances), Utility (speed/cooldowns)\n","references":[],"lineBreakBefore":true}],"props":{"priority":205},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":204,"text":"- ~25 upgrade choices per full run\n","references":[],"lineBreakBefore":true}],"props":{"priority":204},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":203,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":203},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":202,"text":"**2. Level-Up Path System (Per-Run)**\n","references":[],"lineBreakBefore":true}],"props":{"priority":202},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":201,"text":"- **Every Level**: Auto-heal X% HP\n","references":[],"lineBreakBefore":true}],"props":{"priority":201},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":200,"text":"- **Level 10**: Choose 1 of 3 major path branches (significant power spike)\n","references":[],"lineBreakBefore":true}],"props":{"priority":200},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":199,"text":"- **Level 20**: Choose 1 of 2 options based on Level 10 choice\n","references":[],"lineBreakBefore":true}],"props":{"priority":199},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":198,"text":"- **Level 30**: Final path choice (Endless Mode only, massive power spike)\n","references":[],"lineBreakBefore":true}],"props":{"priority":198},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":197,"text":"- **Level 31+**: Permanent character-specific buffs each level (Endless only)\n","references":[],"lineBreakBefore":true}],"props":{"priority":197},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":196,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":196},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":195,"text":"**3. Meta-Progression (Persistent)**\n","references":[],"lineBreakBefore":true}],"props":{"priority":195},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":194,"text":"- Earn currency from runs\n","references":[],"lineBreakBefore":true}],"props":{"priority":194},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":193,"text":"- Unlock new characters (after milestone achievements)\n","references":[],"lineBreakBefore":true}],"props":{"priority":193},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":192,"text":"- Unlock additional character path trees\n","references":[],"lineBreakBefore":true}],"props":{"priority":192},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":191,"text":"- Small meaningful upgrades\n","references":[],"lineBreakBefore":true}],"props":{"priority":191},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":190,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":190},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":189,"text":"### Map Structure\n","references":[],"lineBreakBefore":true}],"props":{"priority":189},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":188,"text":"- **25 rooms total** with Slay the Spire-style branching paths\n","references":[],"lineBreakBefore":true}],"props":{"priority":188},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":187,"text":"- **Room Types**: Combat, Shop, Elite, \"Unknown\" (random modifiers/events)\n","references":[],"lineBreakBefore":true}],"props":{"priority":187},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":186,"text":"- **Bosses**: Mid-boss (~room 12), Final boss (room 25)\n","references":[],"lineBreakBefore":true}],"props":{"priority":186},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":185,"text":"- **Endless Mode**: Unlocked after beating final boss, separate mode per map\n","references":[],"lineBreakBefore":true}],"props":{"priority":185},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":184,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":184},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":183,"text":"### Enemy Types\n","references":[],"lineBreakBefore":true}],"props":{"priority":183},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":182,"text":"\"Enemies as teachers\" - each type exists to teach a specific mechanic:\n","references":[],"lineBreakBefore":true}],"props":{"priority":182},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":181,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":181},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":180,"text":"- **Roaches**: Swarm tactics (teaches AOE value)\n","references":[],"lineBreakBefore":true}],"props":{"priority":180},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":179,"text":"- **Spiders**: Web traps, ceiling walkers (teaches awareness)\n","references":[],"lineBreakBefore":true}],"props":{"priority":179},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":178,"text":"- **Wasps**: Flying, ranged (teaches target priority)\n","references":[],"lineBreakBefore":true}],"props":{"priority":178},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":177,"text":"- **Beetles**: Armored (teaches armor-piercing value)\n","references":[],"lineBreakBefore":true}],"props":{"priority":177},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":176,"text":"- **Larvae**: Evolve if not killed quickly (teaches tempo)\n","references":[],"lineBreakBefore":true}],"props":{"priority":176},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":175,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":175},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":174,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":174},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":173,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":173},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":172,"text":"## � Playable Status\n","references":[],"lineBreakBefore":true}],"props":{"priority":172},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":171,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":171},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":170,"text":"### What's Done (Phase 1 ✅)\n","references":[],"lineBreakBefore":true}],"props":{"priority":170},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":169,"text":"- ✅ Combat system (move, aim, shoot, damage)\n","references":[],"lineBreakBefore":true}],"props":{"priority":169},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":168,"text":"- ✅ Enemy AI and spawning\n","references":[],"lineBreakBefore":true}],"props":{"priority":168},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":167,"text":"- ✅ Health system with visual feedback\n","references":[],"lineBreakBefore":true}],"props":{"priority":167},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":166,"text":"- ✅ XP and leveling system\n","references":[],"lineBreakBefore":true}],"props":{"priority":166},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":165,"text":"- ✅ Basic UI (health bar, XP bar, level-up screen)\n","references":[],"lineBreakBefore":true}],"props":{"priority":165},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":164,"text":"- ✅ **Object pooling system** (2000+ enemy capacity)\n","references":[],"lineBreakBefore":true}],"props":{"priority":164},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":163,"text":"- ✅ **Status effect system** with visual effects\n","references":[],"lineBreakBefore":true}],"props":{"priority":163},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":162,"text":"- ✅ **Fire spread mechanics** working at scale\n","references":[],"lineBreakBefore":true}],"props":{"priority":162},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":161,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":161},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":160,"text":"### Performance Achievement 🚀\n","references":[],"lineBreakBefore":true}],"props":{"priority":160},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":159,"text":"- **2000+ simultaneous enemies** at stable 60 FPS\n","references":[],"lineBreakBefore":true}],"props":{"priority":159},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":158,"text":"- **Zero GC allocations** during gameplay (after pool warmup)\n","references":[],"lineBreakBefore":true}],"props":{"priority":158},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":157,"text":"- **Status effects with VFX** working on all enemies\n","references":[],"lineBreakBefore":true}],"props":{"priority":157},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":156,"text":"- True \"horde extermination\" gameplay enabled\n","references":[],"lineBreakBefore":true}],"props":{"priority":156},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":155,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":155},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":154,"text":"*See [PERFORMANCE.md](PERFORMANCE.md) for detailed metrics and optimizations.*\n","references":[],"lineBreakBefore":true}],"props":{"priority":154},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":153,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":153},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":152,"text":"### What's Next (Phase 2 ⬅️ IN PROGRESS)\n","references":[],"lineBreakBefore":true}],"props":{"priority":152},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"- [ ] Room clearing and transitions\n","references":[],"lineBreakBefore":true}],"props":{"priority":151},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":150,"text":"- [ ] Upgrade selection UI (pick 1 of 3)\n","references":[],"lineBreakBefore":true}],"props":{"priority":150},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":149,"text":"- [ ] Path branches at levels 10/20\n","references":[],"lineBreakBefore":true}],"props":{"priority":149},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":148,"text":"- [ ] 15-20 varied room designs\n","references":[],"lineBreakBefore":true}],"props":{"priority":148},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":147,"text":"- [ ] First boss encounter\n","references":[],"lineBreakBefore":true}],"props":{"priority":147},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":146,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":146},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":145,"text":"### TBD Questions\n","references":[],"lineBreakBefore":true}],"props":{"priority":145},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":144,"text":"- Movement speed tuning\n","references":[],"lineBreakBefore":true}],"props":{"priority":144},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":143,"text":"- Dodge mechanic (dash/roll/i-frames?)\n","references":[],"lineBreakBefore":true}],"props":{"priority":143},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":142,"text":"- Damage feedback visuals (screen shake, particles)\n","references":[],"lineBreakBefore":true}],"props":{"priority":142},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":141,"text":"- Heal percentage on level-up\n","references":[],"lineBreakBefore":true}],"props":{"priority":141},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":140,"text":"- Character-specific attack patterns\n","references":[],"lineBreakBefore":true}],"props":{"priority":140},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":139,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":139},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":138,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":138},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":137,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":137},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"## 🚀 Getting Started\n","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"### Prerequisites\n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"- Unity 6.3 LTS or later\n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"- Git installed\n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"- GitHub account with repo access\n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"- Code editor (VS, Rider, or VS Code)\n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"### First-Time Setup\n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"1. **Clone the repository**\n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"   ```bash\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"   git clone https://github.com/[your-username]/exterminator-game.git\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"   cd exterminator-game\n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"   ```\n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"2. **Open in Unity**\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"   - Open Unity Hub\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"   - Click \"Add\" → select cloned folder\n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"   - Unity automatically imports assets\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"3. **Test the setup**\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"   - Open `Scenes/GameplayTest.unity`\n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"   - Press Play\n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"   - Controls: WASD to move, mouse to aim\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"   - Should see player capsule moving smoothly\n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"4. **Create a feature branch**\n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"   ```bash\n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"   git checkout dev\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"   git pull origin dev\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"   git checkout -b feature/your-feature-name\n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"   ```\n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"# 📋 Development Section\n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"*For developers working on the project. Game designers and players can skip to the end.*\n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"## 🛠 Technical Stack\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"| Component | Technology |\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"|-----------|-----------|\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"| **Engine** | Unity 6.3 LTS |\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"| **Rendering** | Universal Render Pipeline (URP) |\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"| **Perspective** | 2D (top-down orthographic camera) |\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"| **Physics** | Unity 2D Physics (Rigidbody2D, Collider2D) |\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"| **Language** | C# (.NET Standard 2.1) |\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"| **Version Control** | Git + GitHub |\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"| **Project Management** | JIRA |\n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"### Architecture Approach\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"- **Component-based**: Modular MonoBehaviours with single responsibilities\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"- **Event-driven**: Centralized `GameEvents.cs` for system communication\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"- **Data-driven**: ScriptableObjects for all configuration (upgrades, enemies, weapons)\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"- **Manager orchestration**: Sparse use of singleton managers to coordinate systems\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"## 📁 Project Structure\n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"Assets/\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"└── _Project/\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"    ├── Scenes/\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"    │   ├── MainMenu.unity\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"    │   ├── GameplayTest.unity\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"    │   └── Endless.unity\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"    │\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"    ├── Scripts/\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"    │   ├── Managers/          # Singleton-style orchestrators\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"    │   │   ├── GameManager.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"    │   │   ├── RoomManager.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"    │   │   ├── XPManager.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"    │   │   ├── UpgradeManager.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"    │   │   └── AudioManager.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"    │   │\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"    │   ├── Player/            # Player-specific components\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"    │   │   ├── PlayerController.cs      # Orchestrator\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"    │   │   ├── PlayerMovement.cs        # Movement logic\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"    │   │   ├── PlayerAiming.cs          # Aiming logic\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"    │   │   ├── PlayerAttack.cs          # Attack logic\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"    │   │   └── PlayerStats.cs           # Data class\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"    │   │\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"    │   ├── Enemies/           # Enemy components\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"    │   │   ├── Enemy.cs                 # Base enemy orchestrator\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"    │   │   ├── EnemyMovement.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"    │   │   ├── EnemyAttack.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"    │   │   └── Types/\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"    │   │       ├── Roach.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"    │   │       ├── Spider.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"    │   │       └── Wasp.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"    │   │\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"    │   ├── Shared/            # Universal components\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"    │   │   ├── Health.cs                # Universal health system\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"    │   │   ├── IDamageable.cs           # Damage interface\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"    │   │   └── Destructible.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"    │   │\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"    │   ├── Systems/           # Non-MonoBehaviour logic\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"    │   │   ├── SpawnSystem.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"    │   │   ├── CombatCalculator.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"    │   │   └── PoolingSystem.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"    │   │\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"    │   ├── Data/              # ScriptableObject definitions\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"    │   │   ├── UpgradeData.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"    │   │   ├── EnemyData.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"    │   │   └── WeaponData.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"    │   │\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"    │   ├── Events/            # Event system\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"    │   │   └── GameEvents.cs            # Centralized event hub\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"    │   │\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"    │   └── UI/                # UI components\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"    │       ├── HealthBarUI.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"    │       ├── UpgradeUI.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"    │       └── XPBarUI.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"    │\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"    ├── Prefabs/               # Reusable GameObjects\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"    │   ├── Player/\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"    │   ├── Enemies/\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"    │   ├── Projectiles/\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"    │   └── UI/\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"    │\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"    ├── Data/                  # ScriptableObject .asset files\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"    │   ├── Upgrades/\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"    │   ├── Enemies/\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"    │   └── Weapons/\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"    │\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"    ├── Art/                   # Visual assets\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"    ├── Audio/                 # Sound/music\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"    └── Materials/             # Unity materials\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":262,"text":"````","references":[],"lineBreakBefore":true}],"props":{"priority":262},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_JcM9qa1rdsgNjoqRt34kGRPX__vscode-1774363162395":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"````markdown\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/GEMINI.md","external":"file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md","path":"/home/breadway/Documents/Hazard Pay/GEMINI.md","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"# GEMINI.md - Context & Instructions for Exterminator Game\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"## 1. Project Overview\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"**Exterminator** is a top-down 3D roguelike developed in **Unity 6 (6000.3.3f1)** using the **Universal Render Pipeline (URP)**. The game features Hades-style combat, procedural room generation, and unique character progression mechanics.\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"**Core Pillars:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"*   **Systemic Variation:** Rooms force tactical adaptation.\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"*   **Enemies as Teachers:** Each enemy type teaches a specific mechanic.\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"*   **Intentionally Broken Characters:** Overpowered mechanics balanced by meaningful constraints.\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"## 2. Technical Stack\n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"*   **Engine:** Unity 6000.3.3f1 (LTS)\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"*   **Language:** C# (.NET Standard 2.1)\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"*   **Pipeline:** URP 17.3.0\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"*   **Key Packages:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"    *   `com.unity.inputsystem` (New Input System)\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"    *   `com.unity.cinemachine`\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"    *   `com.unity.ai.navigation`\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"## 3. Architecture & Patterns\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"Strictly adhere to these architectural patterns when modifying code.\n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"### A. Component-Based Modularity\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"*   **Single Responsibility:** Each script handles ONE logical unit (e.g., `PlayerMovement` handles moving, `PlayerAiming` handles rotation).\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"*   **Orchestrators:** Use a main controller (e.g., `PlayerController`) to initialize and coordinate components, but delegate actual logic to them.\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"*   **Dependencies:** Use `[RequireComponent(typeof(T))]` to enforce dependencies.\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"### B. Event-Driven Communication (`GameEvents.cs`)\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"*   **Decoupling:** Systems must NOT reference each other directly if possible. Use `GameEvents` static actions.\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"*   **Pattern:** `Source System` -> `GameEvents.Invoke()` -> `Target System(s)`\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"*   **Safety:** Always check for null before invoking (`?.Invoke()`).\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"*   **Lifecycle:** **ALWAYS** unsubscribe from events in `OnDisable()` to prevent memory leaks.\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"### C. Data-Driven Design (ScriptableObjects)\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"*   **Configuration:** Use `ScriptableObject` for all game data (Enemies, Weapons, Upgrades).\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"*   **Avoid Hardcoding:** Do not hardcode values in scripts. Expose them as `[SerializeField]` or load from data assets.\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"*   **Location:** Store data assets in `Assets/_Project/Data/`.\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"### D. Managers (Singletons)\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"*   **Role:** Only use Managers for high-level state orchestration (e.g., `GameManager`, `RoomManager`).\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"*   **Restriction:** Managers should delegate work, not perform heavy logic.\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"## 4. Directory Structure\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"All custom project files reside in `Assets/_Project/`. Do not modify root `Assets/` unless installing third-party tools.\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"```text\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"Assets/_Project/\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"├── Scripts/\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"│   ├── Managers/          # High-level orchestrators (Singleton-ish)\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"│   ├── Player/            # Player logic (Controller, Movement, etc.)\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"│   ├── Enemies/           # Enemy logic\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"│   ├── Shared/            # Interfaces, Utilities (Health, IDamageable)\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"│   ├── Events/            # GameEvents.cs\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"│   ├── Data/              # ScriptableObject definitions (classes)\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"│   └── UI/                # UI scripts\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"├── Prefabs/               # GameObjects\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"├── Data/                  # .asset files (instances of ScriptableObjects)\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"├── Art/                   # Models, Textures, Materials\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"└── Scenes/                # Unity Scenes\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"## 5. Coding Standards & Conventions\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"*   **Naming:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"    *   Classes/Methods/Public Fields: `PascalCase`\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"    *   Private Fields/Variables: `camelCase`\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"    *   Constants: `UPPER_CASE`\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"*   **Serialization:** Prefer `[SerializeField] private` over `public` for Inspector exposure.\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"*   **Headers:** Use `[Header(\"Category\")]` to organize Inspector fields.\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"*   **Comments:** Focus on *WHY*, not *WHAT*. Document complex algorithms or event flows.\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"## 6. Common Workflows\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"### Adding a New Game Event\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"1.  Define the `Action` or `Action<T>` in `GameEvents.cs`.\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"2.  Add a static helper method (optional but recommended) for safe invocation with error handling (try-catch).\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"3.  Add the `ClearAllListeners` cleanup logic in `GameEvents.ClearAllListeners()`.\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"### creating a New Enemy\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"1.  Create a new script in `Scripts/Enemies/Types/` inheriting from `Enemy`.\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"2.  Create a `ScriptableObject` data class in `Scripts/Data/` if needed (or reuse `EnemyData`).\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"3.  Create the prefab in `Prefabs/Enemies/`.\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"## 7. Version Control (Git)\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"*   **Branching:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"    *   `main`: Stable releases only.\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"    *   `dev`: Integration branch.\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"    *   `feature/*`: Active development.\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"*   **Commit Messages:** Imperative mood, descriptive (e.g., \"Add enemy spawn system\", not \"update\").\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"## 8. Build & Run\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"*   **Editor:** Open `Scenes/GameplayTest.unity` to test core mechanics.\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"*   **Build:** Standard Unity Build Settings (Target Platform: Windows/PC).\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"````","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_HrmKYzWpEjhHPfgxhIiZpojy__vscode-1774363162396":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":2,"priority":9007199254740991,"text":"File: `","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"/home/breadway/Documents/Hazard Pay/PERFORMANCE.md","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"`. Lines ","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"1","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":" to ","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"260","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":" (","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"338","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":" lines total): ","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false},{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":262,"text":"````markdown\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/PERFORMANCE.md","external":"file:///home/breadway/Documents/Hazard%20Pay/PERFORMANCE.md","path":"/home/breadway/Documents/Hazard Pay/PERFORMANCE.md","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":262},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":261,"text":"# Performance Achievements & Optimizations\n","references":[],"lineBreakBefore":true}],"props":{"priority":261},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":260,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":260},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":259,"text":"## 🎯 Current Performance Metrics\n","references":[],"lineBreakBefore":true}],"props":{"priority":259},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":258,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":258},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":257,"text":"**Date Achieved:** January 31, 2026\n","references":[],"lineBreakBefore":true}],"props":{"priority":257},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":256,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":256},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":255,"text":"### Enemy Count Capacity\n","references":[],"lineBreakBefore":true}],"props":{"priority":255},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":254,"text":"- ✅ **2000+ simultaneous enemies** with stable performance\n","references":[],"lineBreakBefore":true}],"props":{"priority":254},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":253,"text":"- ✅ **Status effects working** on all enemies with VFX pooling\n","references":[],"lineBreakBefore":true}],"props":{"priority":253},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":252,"text":"- ✅ **Zero GC allocations** after pool warmup\n","references":[],"lineBreakBefore":true}],"props":{"priority":252},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":251,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":251},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":250,"text":"This represents a ~40x improvement over typical Unity projects handling 50-100 enemies.\n","references":[],"lineBreakBefore":true}],"props":{"priority":250},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":249,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":249},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":248,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":248},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":247,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":247},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":246,"text":"## 🚀 Key Optimizations Implemented\n","references":[],"lineBreakBefore":true}],"props":{"priority":246},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":245,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":245},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":244,"text":"### 1. Object Pooling System\n","references":[],"lineBreakBefore":true}],"props":{"priority":244},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":243,"text":"**Location:** `Assets/_Project/Scripts/Systems/PoolingSystem.cs`\n","references":[],"lineBreakBefore":true}],"props":{"priority":243},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":242,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":242},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":241,"text":"**What it does:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":241},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":240,"text":"- Pre-instantiates GameObjects during startup\n","references":[],"lineBreakBefore":true}],"props":{"priority":240},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":239,"text":"- Reuses objects instead of Instantiate/Destroy\n","references":[],"lineBreakBefore":true}],"props":{"priority":239},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":238,"text":"- Eliminates GC allocations during gameplay\n","references":[],"lineBreakBefore":true}],"props":{"priority":238},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":237,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":237},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":236,"text":"**Impact:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":236},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":235,"text":"- ~10x faster spawn/despawn vs Instantiate/Destroy\n","references":[],"lineBreakBefore":true}],"props":{"priority":235},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":234,"text":"- Zero GC pressure during combat\n","references":[],"lineBreakBefore":true}],"props":{"priority":234},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":233,"text":"- Handles 2000+ active objects smoothly\n","references":[],"lineBreakBefore":true}],"props":{"priority":233},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":232,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":232},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":231,"text":"**Pooled Objects:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":231},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":230,"text":"- Enemies (all types)\n","references":[],"lineBreakBefore":true}],"props":{"priority":230},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":229,"text":"- Status effect VFX (fire, poison, ice, etc.)\n","references":[],"lineBreakBefore":true}],"props":{"priority":229},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":228,"text":"- Projectiles\n","references":[],"lineBreakBefore":true}],"props":{"priority":228},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":227,"text":"- Hit effects\n","references":[],"lineBreakBefore":true}],"props":{"priority":227},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":226,"text":"- Other frequently spawned objects\n","references":[],"lineBreakBefore":true}],"props":{"priority":226},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":225,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":225},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":224,"text":"### 2. Status Effect VFX Pooling\n","references":[],"lineBreakBefore":true}],"props":{"priority":224},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":223,"text":"**Location:** `Assets/_Project/Scripts/Systems/StatusEffects/`\n","references":[],"lineBreakBefore":true}],"props":{"priority":223},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":222,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":222},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":221,"text":"**What it does:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":221},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":220,"text":"- Status effect visuals use the pooling system\n","references":[],"lineBreakBefore":true}],"props":{"priority":220},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":219,"text":"- VFX follows enemies without parenting (Update-based positioning)\n","references":[],"lineBreakBefore":true}],"props":{"priority":219},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":218,"text":"- Proper cleanup on effect expire/enemy death\n","references":[],"lineBreakBefore":true}],"props":{"priority":218},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":217,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":217},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":216,"text":"**Impact:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":216},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":215,"text":"- Can apply 100+ status effects simultaneously\n","references":[],"lineBreakBefore":true}],"props":{"priority":215},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":214,"text":"- No stuttering when many enemies catch fire\n","references":[],"lineBreakBefore":true}],"props":{"priority":214},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":213,"text":"- Seamless visual effects at scale\n","references":[],"lineBreakBefore":true}],"props":{"priority":213},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":212,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":212},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":211,"text":"**Key Components:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":211},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":210,"text":"- `StatusEffectController.cs` - Manages effects per entity\n","references":[],"lineBreakBefore":true}],"props":{"priority":210},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":209,"text":"- `StatusEffectVFX.cs` - Poolable VFX with follow behavior\n","references":[],"lineBreakBefore":true}],"props":{"priority":209},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":208,"text":"- `ActiveStatusEffect.cs` - Lightweight data structure\n","references":[],"lineBreakBefore":true}],"props":{"priority":208},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":207,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":207},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":206,"text":"### 3. Flamethrower Optimization\n","references":[],"lineBreakBefore":true}],"props":{"priority":206},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":205,"text":"**Location:** `Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs`\n","references":[],"lineBreakBefore":true}],"props":{"priority":205},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":204,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":204},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":203,"text":"**What it does:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":203},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":202,"text":"- Pre-allocated hit buffers (no allocations per frame)\n","references":[],"lineBreakBefore":true}],"props":{"priority":202},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":201,"text":"- Cached component lookups (Dictionary-based)\n","references":[],"lineBreakBefore":true}],"props":{"priority":201},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":200,"text":"- Contact filters configured once\n","references":[],"lineBreakBefore":true}],"props":{"priority":200},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":199,"text":"- Fast inverse square root for distance checks\n","references":[],"lineBreakBefore":true}],"props":{"priority":199},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":198,"text":"- Throttled debug logging\n","references":[],"lineBreakBefore":true}],"props":{"priority":198},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":197,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":197},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":196,"text":"**Impact:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":196},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":195,"text":"- Cone detection handles 100+ enemies per frame\n","references":[],"lineBreakBefore":true}],"props":{"priority":195},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":194,"text":"- Zero allocations during continuous fire\n","references":[],"lineBreakBefore":true}],"props":{"priority":194},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":193,"text":"- Maintains 60 FPS with 2000+ enemies in range\n","references":[],"lineBreakBefore":true}],"props":{"priority":193},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":192,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":192},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":191,"text":"**Key Optimizations:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":191},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":190,"text":"```csharp\n","references":[],"lineBreakBefore":true}],"props":{"priority":190},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":189,"text":"- Collider2D[] hitBuffer (pre-allocated)\n","references":[],"lineBreakBefore":true}],"props":{"priority":189},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":188,"text":"- Dictionary<int, IDamageable> damageableCache\n","references":[],"lineBreakBefore":true}],"props":{"priority":188},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":187,"text":"- Dictionary<int, StatusEffectController> statusEffectControllerCache\n","references":[],"lineBreakBefore":true}],"props":{"priority":187},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":186,"text":"- ContactFilter2D cached\n","references":[],"lineBreakBefore":true}],"props":{"priority":186},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":185,"text":"- FastInvSqrt() for quick distance checks\n","references":[],"lineBreakBefore":true}],"props":{"priority":185},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":184,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":184},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":183,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":183},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":182,"text":"### 4. Collection Safety\n","references":[],"lineBreakBefore":true}],"props":{"priority":182},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":181,"text":"**Location:** Various controllers\n","references":[],"lineBreakBefore":true}],"props":{"priority":181},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":180,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":180},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":179,"text":"**What it does:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":179},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":178,"text":"- Two-pass updates (collect, then modify)\n","references":[],"lineBreakBefore":true}],"props":{"priority":178},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":177,"text":"- Avoids modifying collections during iteration\n","references":[],"lineBreakBefore":true}],"props":{"priority":177},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":176,"text":"- Pre-allocated removal lists\n","references":[],"lineBreakBefore":true}],"props":{"priority":176},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":175,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":175},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":174,"text":"**Impact:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":174},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":173,"text":"- No \"Collection was modified\" exceptions\n","references":[],"lineBreakBefore":true}],"props":{"priority":173},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":172,"text":"- Stable at any enemy count\n","references":[],"lineBreakBefore":true}],"props":{"priority":172},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":171,"text":"- Predictable performance\n","references":[],"lineBreakBefore":true}],"props":{"priority":171},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":170,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":170},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":169,"text":"### 5. Enemy Pooling\n","references":[],"lineBreakBefore":true}],"props":{"priority":169},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":168,"text":"**Location:** `Assets/_Project/Scripts/Enemies/Enemy.cs`\n","references":[],"lineBreakBefore":true}],"props":{"priority":168},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":167,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":167},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":166,"text":"**What it does:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":166},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":165,"text":"- Implements `IPoolable` interface\n","references":[],"lineBreakBefore":true}],"props":{"priority":165},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":164,"text":"- Resets state on spawn from pool\n","references":[],"lineBreakBefore":true}],"props":{"priority":164},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":163,"text":"- Cleans up on return to pool\n","references":[],"lineBreakBefore":true}],"props":{"priority":163},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":162,"text":"- Returns to pool on death instead of Destroy()\n","references":[],"lineBreakBefore":true}],"props":{"priority":162},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":161,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":161},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":160,"text":"**Impact:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":160},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":159,"text":"- Spawn/despawn 100+ enemies per second\n","references":[],"lineBreakBefore":true}],"props":{"priority":159},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":158,"text":"- No GC spikes when clearing rooms\n","references":[],"lineBreakBefore":true}],"props":{"priority":158},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":157,"text":"- Instant respawn capability\n","references":[],"lineBreakBefore":true}],"props":{"priority":157},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":156,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":156},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":155,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":155},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":154,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":154},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":153,"text":"## 📊 Performance Comparison\n","references":[],"lineBreakBefore":true}],"props":{"priority":153},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":152,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":152},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"### Before Optimizations (Typical Unity Project)\n","references":[],"lineBreakBefore":true}],"props":{"priority":151},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":150,"text":"- ❌ 50-100 enemies max before lag\n","references":[],"lineBreakBefore":true}],"props":{"priority":150},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":149,"text":"- ❌ GC spikes every 2-3 seconds\n","references":[],"lineBreakBefore":true}],"props":{"priority":149},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":148,"text":"- ❌ Frame drops when enemies die\n","references":[],"lineBreakBefore":true}],"props":{"priority":148},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":147,"text":"- ❌ Status effects cause stuttering\n","references":[],"lineBreakBefore":true}],"props":{"priority":147},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":146,"text":"- ❌ Instantiate/Destroy allocations\n","references":[],"lineBreakBefore":true}],"props":{"priority":146},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":145,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":145},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":144,"text":"### After Optimizations (Current State)\n","references":[],"lineBreakBefore":true}],"props":{"priority":144},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":143,"text":"- ✅ **2000+ enemies** smooth gameplay\n","references":[],"lineBreakBefore":true}],"props":{"priority":143},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":142,"text":"- ✅ **Zero GC** during gameplay (after warmup)\n","references":[],"lineBreakBefore":true}],"props":{"priority":142},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":141,"text":"- ✅ **Stable 60 FPS** with full combat\n","references":[],"lineBreakBefore":true}],"props":{"priority":141},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":140,"text":"- ✅ **100+ status effects** simultaneously\n","references":[],"lineBreakBefore":true}],"props":{"priority":140},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":139,"text":"- ✅ **Object pooling** eliminates allocations\n","references":[],"lineBreakBefore":true}],"props":{"priority":139},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":138,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":138},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":137,"text":"### Performance Metrics at 2000 Enemies\n","references":[],"lineBreakBefore":true}],"props":{"priority":137},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"Frame Rate:     60 FPS (stable)\n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"GC Allocations: 0 bytes/frame (after warmup)\n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"Active Pools:   ~5-10 pools with 50-100 objects each\n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"Memory:         Stable (no leaks)\n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"CPU:            Well-distributed across systems\n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"## 🔧 Additional Optimization Techniques\n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"### Physics Optimization\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"- Kinematic Rigidbody2D on enemies (no physics calculations)\n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"- ContactFilter2D for targeted collision checks\n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"- Layer masks to filter irrelevant collisions\n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"### Update Loop Optimization\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"- Early exit when no work needed (`if (count == 0) return;`)\n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"- Pre-allocated buffers for frequently accessed data\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"- Cached transform references\n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"### Memory Management\n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"- Dictionary-based component caching\n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"- Pre-allocated arrays for Physics2D queries\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"- Reusable lists for temporary operations\n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"### Fire Spread Optimization\n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"- Non-allocating overlap checks\n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"- Spread cooldown timers\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"- Radius-based culling\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"## 🎮 Gameplay Impact\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"### What This Enables\n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"**Vampire Survivors-style Hordes:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"- Massive enemy waves (500-2000 enemies)\n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"- Screen-filling combat effects\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"- Dense bullet patterns without lag\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"**Fire Spread Mechanics:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"- Chain reactions through entire hordes\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"- Visual spectacle of 100+ enemies on fire\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"- Performance stable even at peak chaos\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"**Status Effect Variety:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"- Multiple effect types active simultaneously\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"- Stacking effects on individual enemies\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"- Spread effects (fire) work at scale\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"**Boss Encounters:**\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"- Bosses can summon hundreds of minions\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"- Maintain performance during climactic fights\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"- Complex attack patterns without frame drops\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"## 🔍 Profiling Notes\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"### Bottlenecks Identified & Resolved\n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"1. **Original Bottleneck:** Instantiate/Destroy\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"   - **Solution:** Object pooling\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"   - **Result:** 10x performance improvement\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"2. **Original Bottleneck:** GetComponent calls every frame\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"   - **Solution:** Dictionary-based caching\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"   - **Result:** 5x faster component access\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"3. **Original Bottleneck:** Status effect VFX spawning\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"   - **Solution:** VFX pooling with follow behavior\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"   - **Result:** Zero allocations, smooth visuals\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"4. **Original Bottleneck:** Collection modification during iteration\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"   - **Solution:** Two-pass updates\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"   - **Result:** Zero exceptions, stable performance\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"### Current Performance Profile\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"Update Loop:           ~2-3ms (at 2000 enemies)\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"Rendering:             ~5-8ms (depends on VFX count)\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"Physics:               ~1-2ms (mostly raycasts)\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"Garbage Collection:    0ms (no allocations)\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"## 💡 Best Practices Established\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"### For High Enemy Counts\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"1. **Always use object pooling** for frequently spawned objects\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"2. **Cache component references** instead of repeated GetComponent\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"3. **Pre-allocate buffers** for Physics2D queries\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"4. **Two-pass collection updates** (collect, then modify)\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"5. **Early exit** from updates when no work needed\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"6. **Contact filters** over broad collision checks\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"7. **Kinematic Rigidbody2D** when physics simulation not needed\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"### For Status Effects at Scale\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"1. **Pool VFX prefabs** instead of instantiate\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"2. **Follow via Update()** instead of parenting\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"3. **Cleanup on disable** to prevent leaks\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"4. **Validate prefab references** before spawning\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"5. **Handle destroyed objects** gracefully in pools\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"### For Flamethrower-style Weapons\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"1. **Pre-allocated hit buffers** for cone detection\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"2. **Cached transforms** to avoid repeated access\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"3. **Fast math approximations** where accuracy isn't critical\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"4. **Throttled debug logging** to avoid string allocations\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"5. **Layer masks** to filter targets early\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"## 🎯 Future Optimization Opportunities\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"### If Performance Becomes an Issue Again\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"1. **ECS (Entity Component System)**\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"   - Could push to 5000+ enemies\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"   - Requires major refactor\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"   - Unity DOTS/ECS package\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"2. **Job System for Flamethrower**\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"   - Multi-threaded cone detection\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"   - Parallel damage application\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"   - Requires C# Job System\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"3. **GPU Instancing for Enemies**\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":262,"text":"````","references":[],"lineBreakBefore":true}],"props":{"priority":262},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_DYaOZ0jL5CNlXJbw9WvyZKsR__vscode-1774363162397":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":165,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":165},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":164,"text":"using System;\n","references":[],"lineBreakBefore":true}],"props":{"priority":164},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":163,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":163},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":162,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":162},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":161,"text":"/// Central controller for the player character.\n","references":[],"lineBreakBefore":true}],"props":{"priority":161},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":160,"text":"/// Responsibilities:\n","references":[],"lineBreakBefore":true}],"props":{"priority":160},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":159,"text":"/// - Initialize and hold references to player components (movement, aiming, shooting, health, stats, etc)\n","references":[],"lineBreakBefore":true}],"props":{"priority":159},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":158,"text":"/// - Orchestrate interactions between components\n","references":[],"lineBreakBefore":true}],"props":{"priority":158},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":157,"text":"/// - Handle player-specific events (damage reactions, death behavior, level up effects, etc)\n","references":[],"lineBreakBefore":true}],"props":{"priority":157},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":156,"text":"/// - Expose public API for other systems to interact with the player\n","references":[],"lineBreakBefore":true}],"props":{"priority":156},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":155,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":155},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":154,"text":"/// \n","references":[],"lineBreakBefore":true}],"props":{"priority":154},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":153,"text":"[RequireComponent(typeof(Health))]\n","references":[],"lineBreakBefore":true}],"props":{"priority":153},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":152,"text":"[RequireComponent(typeof(PlayerMovement))]\n","references":[],"lineBreakBefore":true}],"props":{"priority":152},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"[RequireComponent(typeof(PlayerAiming))]\n","references":[],"lineBreakBefore":true}],"props":{"priority":151},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":150,"text":"[RequireComponent(typeof(PlayerAttack))]\n","references":[],"lineBreakBefore":true}],"props":{"priority":150},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":149,"text":"public class PlayerController : MonoBehaviour {\n","references":[],"lineBreakBefore":true}],"props":{"priority":149},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":148,"text":"    [Header(\"Components\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":148},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":147,"text":"    [SerializeField] private Health health;\n","references":[],"lineBreakBefore":true}],"props":{"priority":147},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":146,"text":"    private PlayerMovement movement;\n","references":[],"lineBreakBefore":true}],"props":{"priority":146},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":145,"text":"    private PlayerAiming aiming;\n","references":[],"lineBreakBefore":true}],"props":{"priority":145},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":144,"text":"    private PlayerAttack shooting;\n","references":[],"lineBreakBefore":true}],"props":{"priority":144},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":143,"text":"    // Add more as needed\n","references":[],"lineBreakBefore":true}],"props":{"priority":143},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":142,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":142},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":141,"text":"    [Header(\"Stats\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":141},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":140,"text":"    public PlayerStats stats { get; private set; }\n","references":[],"lineBreakBefore":true}],"props":{"priority":140},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":139,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":139},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":138,"text":"    [Header(\"References\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":138},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":137,"text":"    public static PlayerController Instance { get; private set; } // Singleton for easy access\n","references":[],"lineBreakBefore":true}],"props":{"priority":137},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"    void Awake() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"        // Singleton setup\n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"        if (Instance == null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"            Instance = this;\n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"        } else {\n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"            Destroy(gameObject);\n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"        // Get components\n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"        health = GetComponent<Health>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"        movement = GetComponent<PlayerMovement>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"        aiming = GetComponent<PlayerAiming>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"        shooting = GetComponent<PlayerAttack>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"        // Initialize stats\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"        stats = new PlayerStats();\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"        // Apply stats to health\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"        health.SetMaxHP(stats.currentMaxHP);\n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"    public void GetHealth(out Health outHealth) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"        outHealth = health;\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"    void OnEnable() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"        // Subscribe to health events\n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"        health.OnDamaged += HandleDamaged;\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"        health.OnHealed += HandleHealed;\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"        health.OnDied += HandleDeath;\n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"        // Subscribe to game events\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"        GameEvents.OnLevelUp += OnLevelUp;\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"    void OnDisable() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"        // ALWAYS unsubscribe\n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"        health.OnDamaged -= HandleDamaged;\n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"        health.OnHealed -= HandleHealed;\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"        health.OnDied -= HandleDeath;\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"        GameEvents.OnLevelUp -= OnLevelUp;\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"    void FixedUpdate() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"        // Orchestrate movement\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"    void Update() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"        // Orchestrate attacks\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"    // === DAMAGE HANDLING ===\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"    void HandleDamaged(float amount, Vector2 hitPoint, Vector2 hitDirection) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"        // Player-specific damage reactions\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"        // Screen effects\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"        // CameraShake or ScreenFlash component handles this via events\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"        // Audio\n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"        // AudioManager listens to health.OnDamaged\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"        // Knockback\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"        movement.ApplyKnockback(hitDirection);\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"        // Fire game event for other systems\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"        GameEvents.OnPlayerDamaged?.Invoke(amount, health.CurrentHP, health.MaxHP);\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"        GameEvents.PlayerHealthChanged(health.CurrentHP, health.MaxHP);\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"    void HandleHealed(float amount) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"        // Fire event for UI/audio\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"        GameEvents.PlayerHealed(amount);\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"        GameEvents.PlayerHealthChanged(health.CurrentHP, health.MaxHP);\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"    void HandleDeath() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"        // Player-specific death behavior\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"        // Disable input\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"        movement.enabled = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"        shooting.enabled = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"        // Play death animation\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"        // animator.SetTrigger(\"Death\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"        // Fire game event\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"        GameEvents.PlayerDied();\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"        GameEvents.EndRun(false); // Player lost\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"        Destroy(gameObject);\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"        // GameManager listens to OnPlayerDied and shows game over screen\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"    // === PROGRESSION ===\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"    void OnLevelUp(int newLevel) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"        // Heal % on level up (from your GDD)\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"        float healAmount = health.MaxHP * 0.2f; // 20% (adjust as needed)\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"        health.Heal(healAmount);\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"        // Visual feedback\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"        // Spawn level-up particles, play sound, etc.\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"        // (These are handled by systems listening to GameEvents.OnLevelUp)\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"    void ApplyUpgrade(UpgradeData upgrade) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"        // Apply upgrade to stats\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"        stats.ApplyUpgrade(upgrade);\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"        // Update health if max HP changed\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"        if (upgrade.healthBonus > 0) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"            health.SetMaxHP(stats.currentMaxHP);\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"            health.Heal(upgrade.healthBonus); // Heal the bonus amount\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"        // Update movement speed\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"        if (upgrade.speedMultiplier != 1f) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"            movement.UpdateSpeed(stats.currentSpeed);\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"        // Fire event for UI updates\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"        GameEvents.PlayerStatsChanged(stats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"    // === PUBLIC API (for other systems to call) ===\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"    public void TakeDamageFromGameEvent(float amount) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"        // If you want GameManager to directly call damage\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"        // (Though I recommend using IDamageable instead)\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"        health.TakeDamage(amount, transform.position, Vector2.zero);\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":165,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":165},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_V0ERG90ZXNqqcm6B3nT9AN7I__vscode-1774363162398":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":2,"priority":9007199254740991,"text":"File: `","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerMovement.cs","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"`. Lines ","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"1","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":" to ","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"260","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":" (","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"270","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":" lines total): ","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false},{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":262,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerMovement.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerMovement.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerMovement.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":262},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":261,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":261},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":260,"text":"using UnityEngine.InputSystem;\n","references":[],"lineBreakBefore":true}],"props":{"priority":260},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":259,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":259},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":258,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":258},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":257,"text":"/// Handles player movement via Rigidbody2D.\n","references":[],"lineBreakBefore":true}],"props":{"priority":257},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":256,"text":"/// Responsibility: Read input → Calculate velocity → Move via physics\n","references":[],"lineBreakBefore":true}],"props":{"priority":256},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":255,"text":"/// Fires movement events for other systems to react to (animation, sfx, etc).\n","references":[],"lineBreakBefore":true}],"props":{"priority":255},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":254,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":254},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":253,"text":"public class PlayerMovement : MonoBehaviour, IMovementModifiable\n","references":[],"lineBreakBefore":true}],"props":{"priority":253},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":252,"text":"{\n","references":[],"lineBreakBefore":true}],"props":{"priority":252},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":251,"text":"    [Header(\"Movement Settings\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":251},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":250,"text":"    [SerializeField] private float moveSpeed = 8f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":250},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":249,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":249},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":248,"text":"    [Header(\"Dash Settings\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":248},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":247,"text":"    [SerializeField] private float dashSpeed = 20f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":247},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":246,"text":"    [SerializeField] private float dashDuration = 0.15f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":246},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":245,"text":"    [SerializeField] private float dashCooldown = 0.8f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":245},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":244,"text":"    [SerializeField] private float dashRecoveryTime = 0.1f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":244},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":243,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":243},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":242,"text":"    [Header(\"Knockback Settings\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":242},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":241,"text":"    [SerializeField] private float knockbackSpeed = 8f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":241},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":240,"text":"    [SerializeField] private float knockbackDuration = 0.2f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":240},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":239,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":239},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":238,"text":"    private Rigidbody2D rb;\n","references":[],"lineBreakBefore":true}],"props":{"priority":238},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":237,"text":"    private PlayerControls controls;\n","references":[],"lineBreakBefore":true}],"props":{"priority":237},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":236,"text":"    private PlayerStats stats;\n","references":[],"lineBreakBefore":true}],"props":{"priority":236},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":235,"text":"    private Vector2 moveInput;\n","references":[],"lineBreakBefore":true}],"props":{"priority":235},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":234,"text":"    private Vector2 dashDirection;\n","references":[],"lineBreakBefore":true}],"props":{"priority":234},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":233,"text":"    private bool isInitialized = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":233},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":232,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":232},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":231,"text":"    private float lastDashTime = -Mathf.Infinity;\n","references":[],"lineBreakBefore":true}],"props":{"priority":231},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":230,"text":"    private float dashEndTime = 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":230},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":229,"text":"    private bool isDashing = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":229},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":228,"text":"    private bool isRecovering = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":228},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":227,"text":"    private float recoveryEndTime = 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":227},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":226,"text":"    private Vector2 recoveryStartVelocity;\n","references":[],"lineBreakBefore":true}],"props":{"priority":226},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":225,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":225},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":224,"text":"    private float knockbackEndTime = 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":224},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":223,"text":"    private Vector2 knockbackVelocity;\n","references":[],"lineBreakBefore":true}],"props":{"priority":223},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":222,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":222},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":221,"text":"    [Header(\"Collision\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":221},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":220,"text":"    [SerializeField] private LayerMask obstacleMask = ~0;\n","references":[],"lineBreakBefore":true}],"props":{"priority":220},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":219,"text":"    [SerializeField] private float skinWidth = 0.05f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":219},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":218,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":218},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":217,"text":"    [Header(\"References\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":217},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":216,"text":"    [SerializeField] private Transform cameraTransform;\n","references":[],"lineBreakBefore":true}],"props":{"priority":216},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":215,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":215},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":214,"text":"    private Collider2D col;\n","references":[],"lineBreakBefore":true}],"props":{"priority":214},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":213,"text":"    private bool isCapsule = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":213},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":212,"text":"    private float capsuleRadius = 0.5f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":212},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":211,"text":"    private float capsuleHeight = 2f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":211},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":210,"text":"    private float speedMultiplier = 1f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":210},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":209,"text":"    private float currentSpeed;\n","references":[],"lineBreakBefore":true}],"props":{"priority":209},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":208,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":208},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":207,"text":"    private void Awake()\n","references":[],"lineBreakBefore":true}],"props":{"priority":207},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":206,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":206},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":205,"text":"        rb = GetComponent<Rigidbody2D>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":205},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":204,"text":"        col = GetComponent<Collider2D>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":204},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":203,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":203},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":202,"text":"        // Get PlayerStats from PlayerController\n","references":[],"lineBreakBefore":true}],"props":{"priority":202},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":201,"text":"        var playerController = GetComponent<PlayerController>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":201},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":200,"text":"        if (playerController != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":200},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":199,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":199},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":198,"text":"            stats = playerController.stats;\n","references":[],"lineBreakBefore":true}],"props":{"priority":198},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":197,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":197},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":196,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":196},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":195,"text":"        var cap = GetComponent<CapsuleCollider2D>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":195},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":194,"text":"        if (cap != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":194},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":193,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":193},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":192,"text":"            isCapsule = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":192},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":191,"text":"            capsuleRadius = Mathf.Max(cap.size.x * 0.5f * Mathf.Max(transform.localScale.x, transform.localScale.y), 0.01f);\n","references":[],"lineBreakBefore":true}],"props":{"priority":191},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":190,"text":"            capsuleHeight = Mathf.Max(cap.size.y * transform.localScale.y, 0.01f);\n","references":[],"lineBreakBefore":true}],"props":{"priority":190},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":189,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":189},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":188,"text":"        else if (col != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":188},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":187,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":187},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":186,"text":"            // approximate radius/height from bounds\n","references":[],"lineBreakBefore":true}],"props":{"priority":186},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":185,"text":"            capsuleRadius = Mathf.Max(col.bounds.extents.x, col.bounds.extents.y);\n","references":[],"lineBreakBefore":true}],"props":{"priority":185},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":184,"text":"            capsuleHeight = Mathf.Max(col.bounds.size.y, 0.01f);\n","references":[],"lineBreakBefore":true}],"props":{"priority":184},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":183,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":183},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":182,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":182},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":181,"text":"        rb.gravityScale = 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":181},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":180,"text":"        rb.freezeRotation = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":180},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":179,"text":"        rb.collisionDetectionMode = CollisionDetectionMode2D.Continuous; // Smoother collision handling\n","references":[],"lineBreakBefore":true}],"props":{"priority":179},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":178,"text":"        rb.interpolation = RigidbodyInterpolation2D.Interpolate; // Smoother visual movement\n","references":[],"lineBreakBefore":true}],"props":{"priority":178},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":177,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":177},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":176,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":176},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":175,"text":"    private void OnEnable()\n","references":[],"lineBreakBefore":true}],"props":{"priority":175},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":174,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":174},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":173,"text":"        if (!isInitialized)\n","references":[],"lineBreakBefore":true}],"props":{"priority":173},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":172,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":172},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":171,"text":"            controls = new PlayerControls();\n","references":[],"lineBreakBefore":true}],"props":{"priority":171},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":170,"text":"            isInitialized = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":170},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":169,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":169},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":168,"text":"        controls.Player.Move.Enable();\n","references":[],"lineBreakBefore":true}],"props":{"priority":168},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":167,"text":"        controls.Player.Move.performed += OnMoveInput;\n","references":[],"lineBreakBefore":true}],"props":{"priority":167},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":166,"text":"        controls.Player.Move.canceled += OnMoveInput;\n","references":[],"lineBreakBefore":true}],"props":{"priority":166},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":165,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":165},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":164,"text":"        controls.Player.Dash.Enable();\n","references":[],"lineBreakBefore":true}],"props":{"priority":164},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":163,"text":"        controls.Player.Dash.performed += OnDashInput;\n","references":[],"lineBreakBefore":true}],"props":{"priority":163},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":162,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":162},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":161,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":161},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":160,"text":"    private void OnDisable()\n","references":[],"lineBreakBefore":true}],"props":{"priority":160},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":159,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":159},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":158,"text":"        if (controls != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":158},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":157,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":157},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":156,"text":"            controls.Player.Move.performed -= OnMoveInput;\n","references":[],"lineBreakBefore":true}],"props":{"priority":156},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":155,"text":"            controls.Player.Move.canceled -= OnMoveInput;\n","references":[],"lineBreakBefore":true}],"props":{"priority":155},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":154,"text":"            controls.Player.Move.Disable();\n","references":[],"lineBreakBefore":true}],"props":{"priority":154},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":153,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":153},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":152,"text":"            controls.Player.Dash.performed -= OnDashInput;\n","references":[],"lineBreakBefore":true}],"props":{"priority":152},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"            controls.Player.Dash.Disable();\n","references":[],"lineBreakBefore":true}],"props":{"priority":151},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":150,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":150},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":149,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":149},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":148,"text":"    private void OnMoveInput(InputAction.CallbackContext context)\n","references":[],"lineBreakBefore":true}],"props":{"priority":148},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":147,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":147},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":146,"text":"        moveInput = context.ReadValue<Vector2>().normalized;\n","references":[],"lineBreakBefore":true}],"props":{"priority":146},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":145,"text":"        GameEvents.OnPlayerMovementInput?.Invoke(moveInput);\n","references":[],"lineBreakBefore":true}],"props":{"priority":145},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":144,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":144},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":143,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":143},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":142,"text":"    public void UpdateSpeed(float newSpeed)\n","references":[],"lineBreakBefore":true}],"props":{"priority":142},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":141,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":141},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":140,"text":"        moveSpeed = newSpeed;\n","references":[],"lineBreakBefore":true}],"props":{"priority":140},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":139,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":139},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":138,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":138},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":137,"text":"    private void OnDashInput(InputAction.CallbackContext context)\n","references":[],"lineBreakBefore":true}],"props":{"priority":137},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"        // Use PlayerStats dash cooldown if available, otherwise fall back to serialized value\n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"        float currentDashCooldown = stats != null ? stats.currentDashCooldown : dashCooldown;\n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"        if (Time.time >= lastDashTime + currentDashCooldown)\n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"            PerformDash();\n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"    private void PerformDash()\n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"        // Use input direction for dash when input exists, otherwise player's forward (up in 2D)\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"        if (moveInput.sqrMagnitude > 0.0001f)\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"            dashDirection = moveInput.normalized;\n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"        else\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"            dashDirection = transform.up;\n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"        lastDashTime = Time.time;\n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"        dashEndTime = Time.time + dashDuration;\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"        isDashing = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"        GameEvents.OnPlayerDash?.Invoke(dashDirection);\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"    private void FixedUpdate()\n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"        if (Time.time < knockbackEndTime)\n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"            rb.linearVelocity = knockbackVelocity;\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"        if (isDashing)\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"            if (Time.time < dashEndTime)\n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"            {\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"                rb.linearVelocity = dashDirection * dashSpeed;\n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"            else\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"            {\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"                isDashing = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"                isRecovering = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"                recoveryStartVelocity = rb.linearVelocity;\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"                recoveryEndTime = Time.time + dashRecoveryTime;\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"        if (isRecovering)\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"            float t = Mathf.Clamp01(1f - (recoveryEndTime - Time.time) / dashRecoveryTime);\n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"            Vector2 target = Vector2.zero;\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"            rb.linearVelocity = Vector2.Lerp(recoveryStartVelocity, target, t);\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"            if (Time.time >= recoveryEndTime)\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"            {\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"                isRecovering = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"                rb.linearVelocity = Vector2.zero;\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"        Move();\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"    public void ApplyKnockback(Vector2 direction)\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"        if (direction.sqrMagnitude < 0.0001f)\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"        Vector2 flatDir = direction.normalized;\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"        knockbackVelocity = flatDir * knockbackSpeed;\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"        knockbackEndTime = Time.time + knockbackDuration;\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"        isDashing = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"        isRecovering = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"    private void Move()\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"        // Normal movement via velocity to ensure collision response\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"        // Use PlayerStats speed if available, otherwise fall back to serialized value\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"        currentSpeed = stats != null ? stats.currentSpeed : moveSpeed;\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"        currentSpeed *= speedMultiplier;\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"        Vector2 desiredVelocity = moveInput * currentSpeed;\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"        // If no input, zero velocity\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"        if (desiredVelocity.sqrMagnitude < 0.0001f)\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"            rb.linearVelocity = Vector2.zero;\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"        Vector2 dir = desiredVelocity.normalized;\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"        float checkDistance = desiredVelocity.magnitude * Time.fixedDeltaTime + skinWidth;\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"        RaycastHit2D hit;\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"        bool blocked = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"        // Use the collider's current position for casting\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"        Vector2 castOrigin = (Vector2)transform.position;\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"        if (isCapsule)\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"            hit = Physics2D.CapsuleCast(castOrigin, new Vector2(capsuleRadius * 2f, capsuleHeight),\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"                CapsuleDirection2D.Vertical, 0f, dir, checkDistance, obstacleMask);\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"            blocked = hit.collider != null && hit.distance > 0f; // Only block if we're not already overlapping\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"        else\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"            hit = Physics2D.CircleCast(castOrigin, capsuleRadius, dir, checkDistance, obstacleMask);\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"            blocked = hit.collider != null && hit.distance > 0f; // Only block if we're not already overlapping\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"        if (blocked && hit.collider != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"            // Slide along surface instead of penetrating\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"            // Calculate the component of velocity parallel to the surface\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"            Vector2 slideDir = Vector2.Perpendicular(hit.normal);\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"            float slideMagnitude = Vector2.Dot(desiredVelocity, slideDir);\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"            desiredVelocity = slideDir * slideMagnitude;\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"        // Let the Rigidbody2D handle the actual collision resolution\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"        // by setting velocity and allowing physics to do its job\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"        rb.linearVelocity = desiredVelocity;\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"    public void SetSpeedMultiplier(float multiplier)\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"        speedMultiplier = multiplier;\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":262,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":262},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_uOwNHFevhaW8U4XrWknDpC8D__vscode-1774363162399":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAttack.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"using System;\n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"using UnityEngine.InputSystem;\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"public class PlayerAttack : MonoBehaviour {\n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"    [Header(\"Components\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"    [SerializeField] private PlayerController playerController;\n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"    [SerializeField] private PlayerAiming aiming;\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"    [SerializeField] private Health health;\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"    [SerializeField] private float baseFireRate = 0.5f; // shots per second (fallback)\n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"    [SerializeField] private Transform firePoint;\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"    private PlayerControls controls;\n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"    private PlayerStats stats;\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"    private bool isInitialized = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"    private bool isFiring = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"    private float nextFireTime = 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"    private IWeaponAttack currentWeapon;\n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"    void Awake()\n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"        playerController = GetComponent<PlayerController>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"        aiming = GetComponent<PlayerAiming>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"        health = GetComponent<Health>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"        // Get PlayerStats from PlayerController\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"        if (playerController != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"            stats = playerController.stats;\n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"        // Try to find any component that implements IWeaponAttack safely\n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"        currentWeapon = GetComponent<IWeaponAttack>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"        if (currentWeapon == null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"            // Try non-generic lookup and cast (covers some Unity versions)\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"            var comp = GetComponent(typeof(IWeaponAttack));\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"            if (comp is IWeaponAttack casted) currentWeapon = casted;\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"        if (currentWeapon == null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"            // Try children as a fallback\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"            currentWeapon = GetComponentInChildren<IWeaponAttack>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"        // Initialize weapon with player stats for damage calculations\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"        if (currentWeapon != null && stats != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"            currentWeapon.Initialize(stats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"    void OnEnable()\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"        // Only create controls once to avoid multiple input listeners\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"        if (!isInitialized)\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"            controls = new PlayerControls();\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"            isInitialized = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"        // Reset firing state when enabled to prevent stuck attacking\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"        isFiring = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"        controls.Player.Attack.Enable();\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"        controls.Player.Attack.started += OnAttackStarted;\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"        controls.Player.Attack.canceled += OnAttackCanceled;\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"    void OnDisable()\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"        // Stop any active attack when disabled\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"        isFiring = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"        if (currentWeapon != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"            currentWeapon.StopAttack();\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"        if (controls != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"            controls.Player.Attack.started -= OnAttackStarted;\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"            controls.Player.Attack.canceled -= OnAttackCanceled;\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"            controls.Player.Attack.Disable();\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"    void Update()\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"        // Handle simple auto-fire behavior when holding the attack\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"        if (isFiring && Time.time >= nextFireTime)\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"            // Use PlayerStats attack speed if available, otherwise fall back to serialized value\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"            float attackSpeed = stats != null ? stats.currentAttackSpeed : baseFireRate;\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"            nextFireTime = Time.time + (attackSpeed > 0f ? 1f / attackSpeed : 0.5f);\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"            if (currentWeapon != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"            {\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"                currentWeapon.Attack();\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"            else\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"            {\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"                // Safe fallback: no weapon component found — record attempt\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"                GameEvents.DebugLog(\"PlayerAttack: attack attempted (no weapon found)\", DebugCategory.Input);\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"    void OnAttackStarted(InputAction.CallbackContext context)\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"        isFiring = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"        if (currentWeapon != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"            currentWeapon.Attack();\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"        else\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"            GameEvents.DebugLog(\"PlayerAttack: Attack started (no weapon found)\", DebugCategory.Input);\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"    void OnAttackCanceled(InputAction.CallbackContext context)\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"        isFiring = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"        if (currentWeapon != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"            currentWeapon.StopAttack();\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_CI2ErptAaV46MQAOclyum9if__vscode-1774363162400":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":2,"priority":9007199254740991,"text":"File: `","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"`. Lines ","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"1","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":" to ","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"340","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":" (","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"593","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":" lines total): ","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false},{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":342,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":342},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":341,"text":"using System;\n","references":[],"lineBreakBefore":true}],"props":{"priority":341},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":340,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":340},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":339,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":339},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":338,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":338},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":337,"text":"/// Centralized event system for cross-system communication.\n","references":[],"lineBreakBefore":true}],"props":{"priority":337},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":336,"text":"/// Decouples systems so they don't need direct references to each other.\n","references":[],"lineBreakBefore":true}],"props":{"priority":336},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":335,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":335},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":334,"text":"public static class GameEvents\n","references":[],"lineBreakBefore":true}],"props":{"priority":334},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":333,"text":"{\n","references":[],"lineBreakBefore":true}],"props":{"priority":333},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":332,"text":"    // ========== PLAYER EVENTS ==========\n","references":[],"lineBreakBefore":true}],"props":{"priority":332},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":331,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":331},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":330,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":330},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":329,"text":"    /// Fired when player movement input changes.\n","references":[],"lineBreakBefore":true}],"props":{"priority":329},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":328,"text":"    /// Allows systems to react to movement input independently (animation, sfx, etc).\n","references":[],"lineBreakBefore":true}],"props":{"priority":328},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":327,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":327},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":326,"text":"    public static Action<Vector2> OnPlayerMovementInput;\n","references":[],"lineBreakBefore":true}],"props":{"priority":326},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":325,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":325},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":324,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":324},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":323,"text":"    /// Fired when player rotation/aiming changes.\n","references":[],"lineBreakBefore":true}],"props":{"priority":323},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":322,"text":"    /// Allows systems to react to aim updates (animation, UI, etc).\n","references":[],"lineBreakBefore":true}],"props":{"priority":322},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":321,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":321},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":320,"text":"    public static Action<Vector2> OnPlayerAimDirectionChanged;\n","references":[],"lineBreakBefore":true}],"props":{"priority":320},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":319,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":319},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":318,"text":"    public static Action<Vector2> OnPlayerDash;\n","references":[],"lineBreakBefore":true}],"props":{"priority":318},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":317,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":317},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":316,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":316},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":315,"text":"    /// Fired when player selects an upgrade from the upgrade choice UI.   \n","references":[],"lineBreakBefore":true}],"props":{"priority":315},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":314,"text":"    /// Parameters: chosen UpgradeData\n","references":[],"lineBreakBefore":true}],"props":{"priority":314},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":313,"text":"    /// Listeners: Player (apply upgrade), UI (close upgrade panel), AudioManager (play selection sound)\n","references":[],"lineBreakBefore":true}],"props":{"priority":313},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":312,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":312},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":311,"text":"    public static Action<UpgradeData> OnPlayerUpgradeApplied;\n","references":[],"lineBreakBefore":true}],"props":{"priority":311},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":310,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":310},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":309,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":309},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":308,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":308},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":307,"text":"    // COMBAT EVENTS\n","references":[],"lineBreakBefore":true}],"props":{"priority":307},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":306,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":306},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":305,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":305},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":304,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":304},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":303,"text":"    /// Fired when an enemy is killed. Passes the enemy that died.\n","references":[],"lineBreakBefore":true}],"props":{"priority":303},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":302,"text":"    /// Listeners: XPManager (award XP), RoomManager (check room clear), AudioManager (death sound), UI (kill counter)\n","references":[],"lineBreakBefore":true}],"props":{"priority":302},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":301,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":301},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":300,"text":"    public static Action<Enemy> OnEnemyKilled;\n","references":[],"lineBreakBefore":true}],"props":{"priority":300},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":299,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":299},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":298,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":298},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":297,"text":"    /// Fired when an enemy takes damage (non-fatal).\n","references":[],"lineBreakBefore":true}],"props":{"priority":297},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":296,"text":"    /// Parameters: damage amount, hit position, hit direction\n","references":[],"lineBreakBefore":true}],"props":{"priority":296},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":295,"text":"    /// Listeners: VFXManager (spawn damage numbers), AudioManager (hit sound)\n","references":[],"lineBreakBefore":true}],"props":{"priority":295},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":294,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":294},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":293,"text":"    public static event Action<float, Vector2, Vector2> OnEnemyDamaged;\n","references":[],"lineBreakBefore":true}],"props":{"priority":293},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":292,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":292},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":291,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":291},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":290,"text":"    /// Fired when player takes damage.\n","references":[],"lineBreakBefore":true}],"props":{"priority":290},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":289,"text":"    /// Parameters: damage amount, current HP, max HP\n","references":[],"lineBreakBefore":true}],"props":{"priority":289},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":288,"text":"    /// Listeners: HealthBarUI (update bar), ScreenEffects (flash red), AudioManager (hurt sound)\n","references":[],"lineBreakBefore":true}],"props":{"priority":288},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":287,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":287},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":286,"text":"    public static Action<float, float, float> OnPlayerDamaged;\n","references":[],"lineBreakBefore":true}],"props":{"priority":286},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":285,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":285},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":284,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":284},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":283,"text":"    /// Fired when player is healed.\n","references":[],"lineBreakBefore":true}],"props":{"priority":283},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":282,"text":"    /// Parameters: heal amount\n","references":[],"lineBreakBefore":true}],"props":{"priority":282},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":281,"text":"    /// Listeners: HealthBarUI (update bar), VFXManager (heal particles), AudioManager (heal sound)\n","references":[],"lineBreakBefore":true}],"props":{"priority":281},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":280,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":280},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":279,"text":"    public static event Action<float> OnPlayerHealed;\n","references":[],"lineBreakBefore":true}],"props":{"priority":279},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":278,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":278},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":277,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":277},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":276,"text":"    /// Fired when player dies.\n","references":[],"lineBreakBefore":true}],"props":{"priority":276},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":275,"text":"    /// Listeners: GameManager (game over screen), AudioManager (death sound), InputManager (disable input)\n","references":[],"lineBreakBefore":true}],"props":{"priority":275},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":274,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":274},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":273,"text":"    public static event Action OnPlayerDied;\n","references":[],"lineBreakBefore":true}],"props":{"priority":273},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":272,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":272},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":271,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":271},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":270,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":270},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":269,"text":"    // STATUS EFFECT EVENTS\n","references":[],"lineBreakBefore":true}],"props":{"priority":269},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":268,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":268},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":267,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":267},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":266,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":266},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":265,"text":"    /// Fired when a status effect is applied to an entity.\n","references":[],"lineBreakBefore":true}],"props":{"priority":265},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":264,"text":"    /// Parameters: affected GameObject, effect data\n","references":[],"lineBreakBefore":true}],"props":{"priority":264},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":263,"text":"    /// Listeners: VFXManager (spawn effect visuals), AudioManager (play effect sound), UI (show status icon)\n","references":[],"lineBreakBefore":true}],"props":{"priority":263},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":262,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":262},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":261,"text":"    public static Action<GameObject, StatusEffectData> OnStatusEffectApplied;\n","references":[],"lineBreakBefore":true}],"props":{"priority":261},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":260,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":260},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":259,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":259},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":258,"text":"    /// Fired when a status effect is removed from an entity.\n","references":[],"lineBreakBefore":true}],"props":{"priority":258},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":257,"text":"    /// Parameters: affected GameObject, effect data\n","references":[],"lineBreakBefore":true}],"props":{"priority":257},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":256,"text":"    /// Listeners: VFXManager (clean up visuals), UI (remove status icon)\n","references":[],"lineBreakBefore":true}],"props":{"priority":256},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":255,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":255},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":254,"text":"    public static Action<GameObject, StatusEffectData> OnStatusEffectRemoved;\n","references":[],"lineBreakBefore":true}],"props":{"priority":254},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":253,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":253},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":252,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":252},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":251,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":251},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":250,"text":"    // PROGRESSION EVENTS\n","references":[],"lineBreakBefore":true}],"props":{"priority":250},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":249,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":249},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":248,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":248},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":247,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":247},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":246,"text":"    /// Fired when player gains XP.\n","references":[],"lineBreakBefore":true}],"props":{"priority":246},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":245,"text":"    /// Parameters: XP amount gained\n","references":[],"lineBreakBefore":true}],"props":{"priority":245},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":244,"text":"    /// Listeners: XPBarUI (update bar), VFXManager (XP gain popup)\n","references":[],"lineBreakBefore":true}],"props":{"priority":244},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":243,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":243},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":242,"text":"    public static System.Action<int, int> OnXPChanged; // (currentXP, xpRequired)\n","references":[],"lineBreakBefore":true}],"props":{"priority":242},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":241,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":241},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":240,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":240},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":239,"text":"    /// Fired when player levels up.\n","references":[],"lineBreakBefore":true}],"props":{"priority":239},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":238,"text":"    /// Parameters: new level\n","references":[],"lineBreakBefore":true}],"props":{"priority":238},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":237,"text":"    /// Listeners: Player (heal on level up), UI (level up popup), PathSystem (check for path unlock at 10/20/30)\n","references":[],"lineBreakBefore":true}],"props":{"priority":237},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":236,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":236},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":235,"text":"    public static System.Action<int> OnLevelUp; // (newLevel)\n","references":[],"lineBreakBefore":true}],"props":{"priority":235},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":234,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":234},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":233,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":233},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":232,"text":"    /// Fired when upgrade choices are offered to player.\n","references":[],"lineBreakBefore":true}],"props":{"priority":232},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":231,"text":"    /// Parameters: current level, array of 3 upgrade options\n","references":[],"lineBreakBefore":true}],"props":{"priority":231},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":230,"text":"    /// Listeners: UpgradeUI (display choices)\n","references":[],"lineBreakBefore":true}],"props":{"priority":230},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":229,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":229},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":228,"text":"    public static event Action<int, UpgradeData[]> OnUpgradeOffered;\n","references":[],"lineBreakBefore":true}],"props":{"priority":228},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":227,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":227},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":226,"text":"    public static event Action<float, float> OnHealthChanged; // (currentHP, maxHP)\n","references":[],"lineBreakBefore":true}],"props":{"priority":226},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":225,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":225},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":224,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":224},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":223,"text":"    /// Fired when player's stats change (from upgrades, buffs, debuffs).\n","references":[],"lineBreakBefore":true}],"props":{"priority":223},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":222,"text":"    /// Parameters: updated PlayerStats\n","references":[],"lineBreakBefore":true}],"props":{"priority":222},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":221,"text":"    /// Listeners: CharacterSheetUI (update display), SaveManager (track current stats)\n","references":[],"lineBreakBefore":true}],"props":{"priority":221},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":220,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":220},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":219,"text":"    public static event Action<PlayerStats> OnPlayerStatsChanged;\n","references":[],"lineBreakBefore":true}],"props":{"priority":219},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":218,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":218},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":217,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":217},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":216,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":216},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":215,"text":"    // ROOM EVENTS\n","references":[],"lineBreakBefore":true}],"props":{"priority":215},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":214,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":214},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":213,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":213},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":212,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":212},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":211,"text":"    /// Fired when player enters a new room.\n","references":[],"lineBreakBefore":true}],"props":{"priority":211},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":210,"text":"    /// Parameters: room index (0-24)\n","references":[],"lineBreakBefore":true}],"props":{"priority":210},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":209,"text":"    /// Listeners: RoomManager (spawn enemies), UI (update room counter), MusicManager (change music)\n","references":[],"lineBreakBefore":true}],"props":{"priority":209},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":208,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":208},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":207,"text":"    public static event Action<int> OnRoomEntered;\n","references":[],"lineBreakBefore":true}],"props":{"priority":207},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":206,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":206},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":205,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":205},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":204,"text":"    /// Fired when all enemies in a room are cleared.\n","references":[],"lineBreakBefore":true}],"props":{"priority":204},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":203,"text":"    /// Parameters: room index\n","references":[],"lineBreakBefore":true}],"props":{"priority":203},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":202,"text":"    /// Listeners: UpgradeManager (show upgrade choices), DoorController (unlock doors), SaveManager (save progress)\n","references":[],"lineBreakBefore":true}],"props":{"priority":202},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":201,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":201},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":200,"text":"    public static event Action<int> OnRoomCleared;\n","references":[],"lineBreakBefore":true}],"props":{"priority":200},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":199,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":199},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":198,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":198},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":197,"text":"    /// Fired when player enters the boss room.\n","references":[],"lineBreakBefore":true}],"props":{"priority":197},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":196,"text":"    /// Listeners: MusicManager (boss music), UI (boss health bar), CameraController (zoom out)\n","references":[],"lineBreakBefore":true}],"props":{"priority":196},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":195,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":195},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":194,"text":"    public static event Action OnBossRoomEntered;\n","references":[],"lineBreakBefore":true}],"props":{"priority":194},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":193,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":193},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":192,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":192},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":191,"text":"    /// Fired when a boss is defeated.\n","references":[],"lineBreakBefore":true}],"props":{"priority":191},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":190,"text":"    /// Parameters: boss identifier (mid-boss or final boss)\n","references":[],"lineBreakBefore":true}],"props":{"priority":190},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":189,"text":"    /// Listeners: GameManager (check win condition), UI (victory screen), SaveManager (unlock endless mode)\n","references":[],"lineBreakBefore":true}],"props":{"priority":189},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":188,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":188},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":187,"text":"    public static event Action<string> OnBossDefeated;\n","references":[],"lineBreakBefore":true}],"props":{"priority":187},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":186,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":186},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":185,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":185},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":184,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":184},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":183,"text":"    // GAME STATE EVENTS\n","references":[],"lineBreakBefore":true}],"props":{"priority":183},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":182,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":182},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":181,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":181},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":180,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":180},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":179,"text":"    /// Fired when game state changes (menu, playing, paused, game over, etc.).\n","references":[],"lineBreakBefore":true}],"props":{"priority":179},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":178,"text":"    /// Parameters: new game state\n","references":[],"lineBreakBefore":true}],"props":{"priority":178},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":177,"text":"    /// Listeners: UI (show/hide panels), AudioManager (pause music), InputManager (enable/disable input)\n","references":[],"lineBreakBefore":true}],"props":{"priority":177},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":176,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":176},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":175,"text":"    public static event Action<GameState> OnGameStateChanged;\n","references":[],"lineBreakBefore":true}],"props":{"priority":175},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":174,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":174},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":173,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":173},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":172,"text":"    /// Fired when a new run starts.\n","references":[],"lineBreakBefore":true}],"props":{"priority":172},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":171,"text":"    /// Listeners: All managers (reset state), SaveManager (create new run data), UI (reset displays)\n","references":[],"lineBreakBefore":true}],"props":{"priority":171},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":170,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":170},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":169,"text":"    public static event Action OnRunStarted;\n","references":[],"lineBreakBefore":true}],"props":{"priority":169},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":168,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":168},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":167,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":167},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":166,"text":"    /// Fired when run ends (win or loss).\n","references":[],"lineBreakBefore":true}],"props":{"priority":166},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":165,"text":"    /// Parameters: was victory (true = won, false = died)\n","references":[],"lineBreakBefore":true}],"props":{"priority":165},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":164,"text":"    /// Listeners: GameManager (show results screen), SaveManager (record run stats), MetaProgression (award currency)\n","references":[],"lineBreakBefore":true}],"props":{"priority":164},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":163,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":163},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":162,"text":"    public static event Action<bool> OnRunEnded;\n","references":[],"lineBreakBefore":true}],"props":{"priority":162},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":161,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":161},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":160,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":160},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":159,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":159},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":158,"text":"    // UI EVENTS\n","references":[],"lineBreakBefore":true}],"props":{"priority":158},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":157,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":157},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":156,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":156},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":155,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":155},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":154,"text":"    /// Fired when a notification should be shown to player.\n","references":[],"lineBreakBefore":true}],"props":{"priority":154},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":153,"text":"    /// Parameters: notification text\n","references":[],"lineBreakBefore":true}],"props":{"priority":153},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":152,"text":"    /// Listeners: NotificationUI (display popup)\n","references":[],"lineBreakBefore":true}],"props":{"priority":152},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":151},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":150,"text":"    public static event Action<string> OnShowNotification;\n","references":[],"lineBreakBefore":true}],"props":{"priority":150},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":149,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":149},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":148,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":148},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":147,"text":"    /// Fired when game is paused or unpaused.\n","references":[],"lineBreakBefore":true}],"props":{"priority":147},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":146,"text":"    /// Parameters: is paused\n","references":[],"lineBreakBefore":true}],"props":{"priority":146},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":145,"text":"    /// Listeners: GameManager (set Time.timeScale), UI (show pause menu), AudioManager (pause sounds)\n","references":[],"lineBreakBefore":true}],"props":{"priority":145},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":144,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":144},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":143,"text":"    public static event Action<bool> OnGamePaused;\n","references":[],"lineBreakBefore":true}],"props":{"priority":143},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":142,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":142},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":141,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":141},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":140,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":140},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":139,"text":"    // META-PROGRESSION EVENTS (Phase 3+)\n","references":[],"lineBreakBefore":true}],"props":{"priority":139},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":138,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":138},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":137,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":137},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"    /// Fired when player earns persistent currency.\n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"    /// Parameters: currency amount\n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"    /// Listeners: MetaProgressionUI (update display), SaveManager (save currency)\n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"    public static event Action<int> OnCurrencyEarned;\n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"    /// Fired when player unlocks a new character.\n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"    /// Parameters: character ID\n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"    /// Listeners: CharacterSelectUI (enable character), SaveManager (save unlock)\n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"    public static event Action<string> OnCharacterUnlocked;\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"    /// Fired when player unlocks a new path tree for a character.\n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"    /// Parameters: character ID, path tree ID\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"    /// Listeners: PathSystemUI (show new options), SaveManager (save unlock)\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"    public static event Action<string, string> OnPathTreeUnlocked;\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"    // AUDIO EVENTS (Optional - can also subscribe directly to other events)\n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"    /// Fired when a sound effect should play.\n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"    /// Parameters: sound ID/name, position (Vector2.zero for 2D sounds)\n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"    /// Listeners: AudioManager\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"    public static event Action<string, Vector2> OnPlaySound;\n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"    /// Fired when music should change.\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"    /// Parameters: music track ID/name\n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"    /// Listeners: AudioManager\n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"    public static event Action<string> OnPlayMusic;\n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"    // DEBUG EVENTS (Development only)\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"    #if UNITY_EDITOR || DEVELOPMENT_BUILD\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"    /// Fired when debug command is executed.\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"    /// Parameters: command name, arguments\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"    /// Listeners: DebugConsole, various managers\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"    public static event Action<string, string[]> OnDebugCommand;\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"    /// Debug logging event for combat/attack debugging.\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"    /// Parameters: log message, category\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"    public static event Action<string, DebugCategory> OnDebugLog;\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"    /// Helper method for debug logging with category filtering.\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"    /// Only logs if the category is enabled in DebugManager.\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"    /// Only active in Editor and Development builds.\n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"    public static void DebugLog(string message, DebugCategory category = DebugCategory.General)\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"        // Check if DebugManager exists and category is enabled\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"        if (DebugManager.Instance == null || !DebugManager.Instance.IsCategoryEnabled(category))\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"        // Add category prefix to message for easier filtering in console\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"        string prefixedMessage = $\"{DebugManager.Instance.GetCategoryPrefix(category)} {message}\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"        Debug.Log(prefixedMessage);\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"        OnDebugLog?.Invoke(prefixedMessage, category);\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"    /// Backward compatibility: Log without category (uses General category).\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"    [System.Obsolete(\"Use DebugLog(message, category) instead for better filtering.\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"    public static void DebugLog(string message)\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"        Debug.Log(message);\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"    /// Helper method for debug warning logging with category filtering.\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"    /// Only logs if the category is enabled in DebugManager.\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"    /// Only active in Editor and Development builds.\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"    public static void DebugWarning(string message, DebugCategory category = DebugCategory.General)\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"        // Check if DebugManager exists and category is enabled\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"        if (DebugManager.Instance == null || !DebugManager.Instance.IsCategoryEnabled(category))\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"        // Add category prefix to message for easier filtering in console\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"        string prefixedMessage = $\"{DebugManager.Instance.GetCategoryPrefix(category)} {message}\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"        Debug.LogWarning(prefixedMessage);\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"        OnDebugLog?.Invoke(prefixedMessage, category);\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"    [System.Obsolete(\"Use DebugWarning(message, category) instead for better filtering.\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"    public static void DebugWarning(string message)\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"        Debug.Log(message);\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"    public static void DebugError(string message, DebugCategory category = DebugCategory.General)\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"        // Check if DebugManager exists and category is enabled\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"        if (DebugManager.Instance == null || !DebugManager.Instance.IsCategoryEnabled(category))\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"        // Add category prefix to message for easier filtering in console\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"        string prefixedMessage = $\"{DebugManager.Instance.GetCategoryPrefix(category)} {message}\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"        Debug.LogError(prefixedMessage);\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"        OnDebugLog?.Invoke(prefixedMessage, category);\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"    /// Backward compatibility: Log without category (uses General category).\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"    [System.Obsolete(\"Use DebugError(message, category) instead for better filtering.\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"    public static void DebugError(string message)\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"        Debug.LogError(message);\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":342,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":342},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_YNpQVJYiCJ0i23GDydiZmSpR__vscode-1774363162401":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"public class XPManager : MonoBehaviour {\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"    public static XPManager Instance { get; private set; }\n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"    [Header(\"XP Settings\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"    [SerializeField] private int currentXP = 0;\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"    [SerializeField] private int currentLevel = 1;\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"    [SerializeField] private int xpToNextLevel = 100;\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"    [SerializeField] private float xpMultiplier = 1.5f; // How much XP increases per level\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"    [SerializeField] private bool debugMode = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"    [Header(\"Level Up Rewards\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"    [SerializeField] private float healPercentOnLevelUp = 0.1f; // 10% heal\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"    private Health playerHealth;\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"    void Awake() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"        // Singleton pattern\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"        if (Instance != null && Instance != this) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"            Destroy(gameObject);\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"        } else {\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"            Instance = this;\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"        // Get player health reference\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"        playerHealth = FindFirstObjectByType<PlayerController>()?.GetComponent<Health>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"    void OnEnable() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"        // Subscribe to enemy killed event\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"        GameEvents.OnEnemyKilled += AwardXP;\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"    void OnDisable() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"        // Unsubscribe to prevent memory leaks\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"        GameEvents.OnEnemyKilled -= AwardXP;\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"    public void AddXP(int amount)\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"        currentXP += amount;\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"        // Fire event for UI\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"        GameEvents.OnXPChanged?.Invoke(currentXP, xpToNextLevel);\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"        // Check for level up\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"        CheckLevelUp();\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"    private void AwardXP(Enemy enemy) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"        // Get XP value from enemy's data\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"        EnemyData data = enemy.EnemyData; // You'll need to add this getter\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"        if (data == null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"            if (debugMode) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"                GameEvents.DebugWarning(\"Enemy has no data, can't award XP\", DebugCategory.XPAndLeveling);\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"        AddXP(data.XPValue);\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"    private void CheckLevelUp() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"        while (currentXP >= xpToNextLevel) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"            LevelUp();\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"    private void LevelUp() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"        currentLevel++;\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"        currentXP -= xpToNextLevel;\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"        // Calculate next level requirement (exponential curve)\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"        xpToNextLevel = Mathf.RoundToInt(xpToNextLevel * xpMultiplier);\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"        if (debugMode) GameEvents.DebugLog($\"Leveled up to {currentLevel}! Next level at {xpToNextLevel} XP.\", DebugCategory.XPAndLeveling);\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"        // Heal player\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"        HealPlayer();\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"        // Fire level up event\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"        GameEvents.OnLevelUp?.Invoke(currentLevel);\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"    private void HealPlayer() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"        if (playerHealth != null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"            float healAmount = playerHealth.MaxHP * healPercentOnLevelUp;\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"            playerHealth.Heal(healAmount);\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"            GameEvents.DebugLog($\"Healed player for {healAmount} HP on level up.\", DebugCategory.General);\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"    } \n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"    // Public getters for UI\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"    public int GetCurrentXP() => currentXP;\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"    public int GetXPToNextLevel() => xpToNextLevel;\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    public int GetCurrentLevel() => currentLevel;\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_XrJcYgpbfmHvBb2GJqPeCLaZ__vscode-1774363162402":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/RoomManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/RoomManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/RoomManager.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"public class RoomManager : MonoBehaviour {\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    // Handles room spawning and transitions\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_EJNSZQ9ESq1n7HQk4kWhYxfk__vscode-1774363162403":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":255,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":255},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":254,"text":"    #else\n","references":[],"lineBreakBefore":true}],"props":{"priority":254},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":253,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":253},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":252,"text":"    /// No-op debug logging for release builds.\n","references":[],"lineBreakBefore":true}],"props":{"priority":252},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":251,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":251},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":250,"text":"    [System.Diagnostics.Conditional(\"UNITY_EDITOR\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":250},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":249,"text":"    public static void DebugLog(string message, DebugCategory category = DebugCategory.General) { }\n","references":[],"lineBreakBefore":true}],"props":{"priority":249},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":248,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":248},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":247,"text":"    [System.Diagnostics.Conditional(\"UNITY_EDITOR\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":247},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":246,"text":"    [System.Obsolete(\"Use DebugLog(message, category) instead for better filtering.\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":246},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":245,"text":"    public static void DebugLog(string message) { }\n","references":[],"lineBreakBefore":true}],"props":{"priority":245},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":244,"text":"    #endif\n","references":[],"lineBreakBefore":true}],"props":{"priority":244},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":243,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":243},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":242,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":242},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":241,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":241},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":240,"text":"    // HELPER METHODS (Optional - for safer invocation)\n","references":[],"lineBreakBefore":true}],"props":{"priority":240},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":239,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":239},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":238,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":238},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":237,"text":"    public static void StartRun() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":237},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":236,"text":"        try {\n","references":[],"lineBreakBefore":true}],"props":{"priority":236},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":235,"text":"            OnRunStarted?.Invoke();\n","references":[],"lineBreakBefore":true}],"props":{"priority":235},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":234,"text":"        } catch (Exception e) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":234},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":233,"text":"            GameEvents.DebugError($\"Error in OnRunStarted listeners: {e.Message}\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":233},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":232,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":232},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":231,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":231},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":230,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":230},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":229,"text":"    public static void EndRun(bool wasVictory) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":229},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":228,"text":"        try {\n","references":[],"lineBreakBefore":true}],"props":{"priority":228},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":227,"text":"            OnRunEnded?.Invoke(wasVictory);\n","references":[],"lineBreakBefore":true}],"props":{"priority":227},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":226,"text":"        } catch (Exception e) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":226},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":225,"text":"            GameEvents.DebugError($\"Error in OnRunEnded listeners: {e.Message}\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":225},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":224,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":224},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":223,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":223},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":222,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":222},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":221,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":221},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":220,"text":"    /// Safely invoke OnEnemyKilled with null check and error handling.\n","references":[],"lineBreakBefore":true}],"props":{"priority":220},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":219,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":219},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":218,"text":"    public static void EnemyKilled(Enemy enemy) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":218},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":217,"text":"        try {\n","references":[],"lineBreakBefore":true}],"props":{"priority":217},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":216,"text":"            OnEnemyKilled?.Invoke(enemy);\n","references":[],"lineBreakBefore":true}],"props":{"priority":216},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":215,"text":"        } catch (Exception e) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":215},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":214,"text":"            GameEvents.DebugError($\"Error in OnEnemyKilled listeners: {e.Message}\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":214},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":213,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":213},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":212,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":212},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":211,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":211},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":210,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":210},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":209,"text":"    /// Safely invoke OnPlayerDamaged with null check and error handling.\n","references":[],"lineBreakBefore":true}],"props":{"priority":209},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":208,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":208},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":207,"text":"    public static void PlayerDamaged(float amount, float currentHP, float maxHP) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":207},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":206,"text":"        try {\n","references":[],"lineBreakBefore":true}],"props":{"priority":206},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":205,"text":"            OnPlayerDamaged?.Invoke(amount, currentHP, maxHP);\n","references":[],"lineBreakBefore":true}],"props":{"priority":205},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":204,"text":"        } catch (Exception e) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":204},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":203,"text":"            GameEvents.DebugError($\"Error in OnPlayerDamaged listeners: {e.Message}\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":203},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":202,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":202},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":201,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":201},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":200,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":200},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":199,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":199},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":198,"text":"    /// Safely invoke OnHealthChanged with null check and error handling.\n","references":[],"lineBreakBefore":true}],"props":{"priority":198},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":197,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":197},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":196,"text":"    public static void PlayerHealthChanged(float currentHP, float maxHP) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":196},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":195,"text":"        try {\n","references":[],"lineBreakBefore":true}],"props":{"priority":195},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":194,"text":"            OnHealthChanged?.Invoke(currentHP, maxHP);\n","references":[],"lineBreakBefore":true}],"props":{"priority":194},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":193,"text":"        } catch (Exception e) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":193},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":192,"text":"            GameEvents.DebugError($\"Error in OnPlayerHealthChanged listeners: {e.Message}\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":192},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":191,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":191},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":190,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":190},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":189,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":189},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":188,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":188},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":187,"text":"    /// Safely invoke OnLevelUp with null check and error handling.\n","references":[],"lineBreakBefore":true}],"props":{"priority":187},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":186,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":186},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":185,"text":"    public static void LevelUp(int newLevel) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":185},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":184,"text":"        try {\n","references":[],"lineBreakBefore":true}],"props":{"priority":184},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":183,"text":"            OnLevelUp?.Invoke(newLevel);\n","references":[],"lineBreakBefore":true}],"props":{"priority":183},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":182,"text":"        } catch (Exception e) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":182},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":181,"text":"            GameEvents.DebugError($\"Error in OnLevelUp listeners: {e.Message}\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":181},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":180,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":180},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":179,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":179},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":178,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":178},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":177,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":177},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":176,"text":"    /// Safely invoke OnRoomCleared with null check and error handling.\n","references":[],"lineBreakBefore":true}],"props":{"priority":176},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":175,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":175},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":174,"text":"    public static void RoomCleared(int roomIndex) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":174},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":173,"text":"        try {\n","references":[],"lineBreakBefore":true}],"props":{"priority":173},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":172,"text":"            OnRoomCleared?.Invoke(roomIndex);\n","references":[],"lineBreakBefore":true}],"props":{"priority":172},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":171,"text":"        } catch (Exception e) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":171},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":170,"text":"            GameEvents.DebugError($\"Error in OnRoomCleared listeners: {e.Message}\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":170},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":169,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":169},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":168,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":168},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":167,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":167},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":166,"text":"    /// Safely invoke OnPlayerHealed with null check and error handling.   \n","references":[],"lineBreakBefore":true}],"props":{"priority":166},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":165,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":165},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":164,"text":"    public static void PlayerHealed(float amount) {   // Helper method\n","references":[],"lineBreakBefore":true}],"props":{"priority":164},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":163,"text":"        try {\n","references":[],"lineBreakBefore":true}],"props":{"priority":163},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":162,"text":"            OnPlayerHealed?.Invoke(amount);\n","references":[],"lineBreakBefore":true}],"props":{"priority":162},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":161,"text":"        } catch (Exception e) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":161},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":160,"text":"            GameEvents.DebugError($\"Error in OnPlayerHealed listeners: {e.Message}\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":160},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":159,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":159},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":158,"text":"    }   \n","references":[],"lineBreakBefore":true}],"props":{"priority":158},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":157,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":157},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":156,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":156},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":155,"text":"    /// Safely invoke OnPlayerDied with null check and error handling.  \n","references":[],"lineBreakBefore":true}],"props":{"priority":155},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":154,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":154},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":153,"text":"    public static void PlayerDied() {   // Helper method\n","references":[],"lineBreakBefore":true}],"props":{"priority":153},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":152,"text":"        try {\n","references":[],"lineBreakBefore":true}],"props":{"priority":152},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"            OnPlayerDied?.Invoke();\n","references":[],"lineBreakBefore":true}],"props":{"priority":151},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":150,"text":"        } catch (Exception e) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":150},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":149,"text":"            GameEvents.DebugError($\"Error in OnPlayerDied listeners: {e.Message}\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":149},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":148,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":148},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":147,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":147},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":146,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":146},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":145,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":145},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":144,"text":"    /// Safely invoke OnPlayerStatsChanged with null check and error handling.\n","references":[],"lineBreakBefore":true}],"props":{"priority":144},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":143,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":143},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":142,"text":"    public static void PlayerStatsChanged(PlayerStats stats)\n","references":[],"lineBreakBefore":true}],"props":{"priority":142},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":141,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":141},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":140,"text":"        try {\n","references":[],"lineBreakBefore":true}],"props":{"priority":140},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":139,"text":"            OnPlayerStatsChanged?.Invoke(stats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":139},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":138,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":138},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":137,"text":"        catch (Exception e)\n","references":[],"lineBreakBefore":true}],"props":{"priority":137},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"            GameEvents.DebugError($\"Error in OnPlayerStatsChanged listeners: {e.Message}\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"    public static void XPChanged(int current, int required) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"    try {\n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"        OnXPChanged?.Invoke(current, required);\n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"    } catch (Exception e) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"        GameEvents.DebugError($\"Error in OnXPChanged listeners: {e.Message}\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"    public static void EnemyDamaged(float amount, Vector2 hitPoint, Vector2 hitDirection) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"        try {\n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"            OnEnemyDamaged?.Invoke(amount, hitPoint, hitDirection);\n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"        } catch (Exception e) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"            GameEvents.DebugError($\"Error in OnEnemyDamaged listeners: {e.Message}\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"    public static void UpgradeApplied(UpgradeData upgrade) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"        try {\n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"            OnPlayerUpgradeApplied?.Invoke(upgrade);\n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"        } catch (Exception e) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"            GameEvents.DebugError($\"Error in OnPlayerUpgradeApplied listeners: {e.Message}\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"    /// Safely invoke OnStatusEffectApplied with null check and error handling.\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"    public static void StatusEffectApplied(GameObject target, StatusEffectData effectData) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"        try {\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"            OnStatusEffectApplied?.Invoke(target, effectData);\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"        } catch (Exception e) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"            GameEvents.DebugError($\"Error in OnStatusEffectApplied listeners: {e.Message}\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"    /// Safely invoke OnStatusEffectRemoved with null check and error handling.\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"    public static void StatusEffectRemoved(GameObject target, StatusEffectData effectData) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"        try {\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"            OnStatusEffectRemoved?.Invoke(target, effectData);\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"        } catch (Exception e) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"            GameEvents.DebugError($\"Error in OnStatusEffectRemoved listeners: {e.Message}\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"    // Add more helper methods as needed for frequently used events\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"    // CLEANUP (Call on scene unload to prevent memory leaks)\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"    /// Unsubscribe all listeners. Call this when changing scenes or ending runs.\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"    /// WARNING: Only use this if you're absolutely sure you want to clear ALL listeners.\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"    /// Usually it's better to let each system manage its own subscriptions.\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"    public static void ClearAllListeners() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"        // Combat\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"        OnEnemyKilled = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"        OnEnemyDamaged = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"        OnPlayerDamaged = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"        OnPlayerHealed = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"        OnPlayerDied = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"        // Status Effects\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"        OnStatusEffectApplied = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"        OnStatusEffectRemoved = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"        // Progression\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"        OnXPChanged = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"        OnLevelUp = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"        OnPlayerUpgradeApplied = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"        OnUpgradeOffered = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"        OnPlayerStatsChanged = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"        // Room\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"        OnRoomEntered = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"        OnRoomCleared = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"        OnBossRoomEntered = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"        OnBossDefeated = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"        // Game State\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"        OnGameStateChanged = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"        OnRunStarted = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"        OnRunEnded = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"        // UI\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"        OnShowNotification = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"        OnGamePaused = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"        // Meta\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"        OnCurrencyEarned = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"        OnCharacterUnlocked = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"        OnPathTreeUnlocked = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"        // Audio\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"        OnPlaySound = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"        OnPlayMusic = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"        #if UNITY_EDITOR || DEVELOPMENT_BUILD\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"        OnDebugCommand = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"        OnDebugLog = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"        #endif\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"        GameEvents.DebugLog(\"All GameEvents listeners cleared.\", DebugCategory.General);\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"// ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"// SUPPORTING ENUMS\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"// ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"/// Possible game states. Used with OnGameStateChanged event.\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"public enum GameState {\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"    MainMenu,\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"    CharacterSelect,\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"    Playing,\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"    Paused,\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"    UpgradeChoice,\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"    GameOver,\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"    Victory,\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"    Loading\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":255,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":255},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_T6pJzSXtbIKLZYpDaLBbjXWs__vscode-1774363162404":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":185,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Enemy.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Enemy.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Enemy.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":185},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":184,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":184},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":183,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":183},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":182,"text":"[RequireComponent(typeof(Health))]\n","references":[],"lineBreakBefore":true}],"props":{"priority":182},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":181,"text":"[RequireComponent(typeof(EnemyAttack))]\n","references":[],"lineBreakBefore":true}],"props":{"priority":181},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":180,"text":"[RequireComponent(typeof(Rigidbody2D))]\n","references":[],"lineBreakBefore":true}],"props":{"priority":180},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":179,"text":"public class Enemy : MonoBehaviour, IPoolable, IMovementModifiable {\n","references":[],"lineBreakBefore":true}],"props":{"priority":179},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":178,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":178},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":177,"text":"    [Header(\"Components\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":177},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":176,"text":"    [SerializeField] protected Health health;\n","references":[],"lineBreakBefore":true}],"props":{"priority":176},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":175,"text":"    IMovementBehavior movement;\n","references":[],"lineBreakBefore":true}],"props":{"priority":175},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":174,"text":"    [SerializeField] Rigidbody2D rb;\n","references":[],"lineBreakBefore":true}],"props":{"priority":174},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":173,"text":"    EnemyAttack attack;\n","references":[],"lineBreakBefore":true}],"props":{"priority":173},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":172,"text":"    IAttackBehaviour attackBehavior;\n","references":[],"lineBreakBefore":true}],"props":{"priority":172},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":171,"text":"    [Header(\"Data\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":171},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":170,"text":"    [SerializeField] private EnemyData enemyData;\n","references":[],"lineBreakBefore":true}],"props":{"priority":170},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":169,"text":"    public EnemyData EnemyData { get => enemyData; set => enemyData = value; }\n","references":[],"lineBreakBefore":true}],"props":{"priority":169},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":168,"text":"    bool debugMode = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":168},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":167,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":167},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":166,"text":"    // Cache for pooling\n","references":[],"lineBreakBefore":true}],"props":{"priority":166},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":165,"text":"    private bool isInitialized = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":165},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":164,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":164},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":163,"text":"    void Update()\n","references":[],"lineBreakBefore":true}],"props":{"priority":163},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":162,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":162},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":161,"text":"        if (movement != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":161},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":160,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":160},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":159,"text":"            movement.UpdateMovement();\n","references":[],"lineBreakBefore":true}],"props":{"priority":159},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":158,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":158},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":157,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":157},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":156,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":156},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":155,"text":"    void Awake() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":155},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":154,"text":"        CacheComponents();\n","references":[],"lineBreakBefore":true}],"props":{"priority":154},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":153,"text":"        ConfigureRigidbody();\n","references":[],"lineBreakBefore":true}],"props":{"priority":153},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":152,"text":"        ApplyEnemyData();\n","references":[],"lineBreakBefore":true}],"props":{"priority":152},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":151},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":150,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":150},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":149,"text":"    private void ConfigureRigidbody()\n","references":[],"lineBreakBefore":true}],"props":{"priority":149},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":148,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":148},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":147,"text":"        if (rb != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":147},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":146,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":146},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":145,"text":"            // Make enemy kinematic to prevent physics-based pushing/vibration\n","references":[],"lineBreakBefore":true}],"props":{"priority":145},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":144,"text":"            // Enemy movement is handled by IMovementBehavior, not physics forces\n","references":[],"lineBreakBefore":true}],"props":{"priority":144},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":143,"text":"            rb.bodyType = RigidbodyType2D.Kinematic;\n","references":[],"lineBreakBefore":true}],"props":{"priority":143},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":142,"text":"            rb.useFullKinematicContacts = true; // Still detect collisions for damage\n","references":[],"lineBreakBefore":true}],"props":{"priority":142},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":141,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":141},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":140,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":140},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":139,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":139},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":138,"text":"    private void CacheComponents()\n","references":[],"lineBreakBefore":true}],"props":{"priority":138},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":137,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":137},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"        if (isInitialized) return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"        health = GetComponent<Health>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"        attack = GetComponent<EnemyAttack>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"        rb = GetComponent<Rigidbody2D>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"        movement = GetComponent<IMovementBehavior>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"        attackBehavior = GetComponent<IAttackBehaviour>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"        isInitialized = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"    void ApplyEnemyData()\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"        if (enemyData != null && health != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"            health.SetMaxHP(enemyData.maxHealth);\n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"    void Start()\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"        if (enemyData != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"            Initialize(enemyData);\n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"        else\n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"            GameEvents.DebugLog(\"Enemy has no EnemyData assigned.\", DebugCategory.EnemyAI);\n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"    public void Initialize(EnemyData enemyData)\n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"        this.enemyData = enemyData;\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"        if (attack == null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"            GameEvents.DebugLog(\"Enemy missing EnemyAttack component.\", DebugCategory.EnemyAI);\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"        else if (attackBehavior == null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"            GameEvents.DebugLog(\"Enemy missing IAttackBehaviour component.\", DebugCategory.EnemyAI);\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"        else\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"            attack.Initialize(this.enemyData, attackBehavior);\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"        if (movement == null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"            GameEvents.DebugLog(\"Enemy missing IMovementBehavior component.\", DebugCategory.EnemyAI);\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"        else\n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"            movement.Initialize(this.enemyData);\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"    void OnEnable() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"        health.OnDied += HandleDeath;\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"        health.OnDamaged += HandleDamage;\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"    void OnDisable() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"        health.OnDied -= HandleDeath;\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"        health.OnDamaged -= HandleDamage;\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"    void HandleDamage(float amount, Vector2 hitPoint, Vector2 hitDirection) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"        // Fire GameEvent for damage tracking, VFX, audio, etc.\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"        GameEvents.EnemyDamaged(amount, hitPoint, hitDirection);\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"        GameEvents.DebugLog($\"[Enemy] {gameObject.name} took {amount} damage. HP: {health.CurrentHP}/{health.MaxHP}\", DebugCategory.EnemyAI);\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"    void HandleDeath() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"        GameEvents.EnemyKilled(this);\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"        // Return to pool instead of destroying\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"        if (PoolingSystem.Instance != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"            PoolingSystem.Instance.Return(gameObject);\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"        else\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"            Destroy(gameObject);\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"    // IPoolable implementation for object pooling\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"    public void OnSpawnFromPool()\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"        CacheComponents();\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"        // Reset health\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"        if (health != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"            health.ResetHealth();\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"        // Re-enable Rigidbody2D\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"        if (rb != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"            rb.simulated = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"        // Re-initialize with enemy data\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"        if (enemyData != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"            Initialize(enemyData);\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"    public void SetSpeedMultiplier(float multiplier)\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"        if (movement != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"            movement.SetSpeedMultiplier(multiplier);\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"    public void OnReturnToPool()\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"        // Stop Rigidbody2D to prevent errors\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"        if (rb != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"            rb.linearVelocity = Vector2.zero;\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"        // Stop movement\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"        if (movement != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"            movement.Stop();\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":185,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":185},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_z0hHwAEGxCMcFw4NWgJ90dkW__vscode-1774363162405":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/Health.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Shared/Health.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Shared/Health.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"using System;\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"public class Health : MonoBehaviour, IDamageable {\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"    [Header(\"Health Stats\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"    [SerializeField] private float maxHP = 100f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"    private float currentHP;\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"    [Header(\"Settings\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"    [SerializeField] private bool isInvulnerable = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"    [SerializeField] private bool canHeal = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"    // Events for other systems to react to\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"    public event Action<float, float> OnHealthChanged; // current, max\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"    public event Action<float, Vector2, Vector2> OnDamaged; // amount, hitPoint, hitDirection\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"    public event Action OnDied;\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"    public event Action<float> OnHealed; // amount\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"    public bool IsAlive => currentHP > 0;\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"    public float CurrentHP => currentHP;\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"    public float MaxHP => maxHP;\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"    public float HealthPercent => currentHP / maxHP;\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"    void Awake() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"        currentHP = maxHP;\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"    /// Reset health to max (used for object pooling)\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"    public void ResetHealth()\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"        currentHP = maxHP;\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"        OnHealthChanged?.Invoke(currentHP, maxHP);\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"    // IDamageable implementation\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"    public void TakeDamage(float amount, Vector2 hitPoint, Vector2 hitDirection) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"        if (!IsAlive || isInvulnerable) return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"        currentHP -= amount;\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"        currentHP = Mathf.Max(0, currentHP);\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"        OnDamaged?.Invoke(amount, hitPoint, hitDirection);\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"        OnHealthChanged?.Invoke(currentHP, maxHP);\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"        if (currentHP <= 0) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"            Die();\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"    public void Heal(float amount) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"        if (!IsAlive || !canHeal) return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"        currentHP += amount;\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"        currentHP = Mathf.Min(currentHP, maxHP);\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"        OnHealed?.Invoke(amount);\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"        OnHealthChanged?.Invoke(currentHP, maxHP);\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"    public void SetMaxHP(float newMax) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"        maxHP = newMax;\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"        currentHP = Mathf.Min(currentHP, maxHP); // Don't exceed new max\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"        OnHealthChanged?.Invoke(currentHP, maxHP);\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"    void Die() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"        OnDied?.Invoke();\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"        // Health doesn't know HOW to die (player vs enemy vs destructible)\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"        // It just announces \"I died\" via event\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_DAnjbmQiy840CPb6g9qSW3zt__vscode-1774363162406":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":2,"priority":9007199254740991,"text":"File: `","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"`. Lines ","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"1","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":" to ","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"320","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":" (","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"347","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":" lines total): ","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false},{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":322,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":322},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":321,"text":"using System.Collections.Generic;\n","references":[],"lineBreakBefore":true}],"props":{"priority":321},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":320,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":320},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":319,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":319},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":318,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":318},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":317,"text":"/// Manages upgrade selection, validation, and application.\n","references":[],"lineBreakBefore":true}],"props":{"priority":317},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":316,"text":"/// Checks for required upgrades (prerequisites) and conflicting upgrades (mutually exclusive).\n","references":[],"lineBreakBefore":true}],"props":{"priority":316},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":315,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":315},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":314,"text":"public class UpgradeManager : MonoBehaviour {\n","references":[],"lineBreakBefore":true}],"props":{"priority":314},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":313,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":313},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":312,"text":"    [Header(\"Upgrade Pool\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":312},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":311,"text":"    [Tooltip(\"All available upgrades in the game. Assign all UpgradeData assets here.\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":311},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":310,"text":"    [SerializeField] private UpgradeData[] allUpgrades;\n","references":[],"lineBreakBefore":true}],"props":{"priority":310},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":309,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":309},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":308,"text":"    [Header(\"Settings\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":308},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":307,"text":"    [Tooltip(\"Number of upgrade choices offered to player\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":307},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":306,"text":"    [SerializeField] private int upgradeChoiceCount = 3;\n","references":[],"lineBreakBefore":true}],"props":{"priority":306},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":305,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":305},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":304,"text":"    public static UpgradeManager Instance { get; private set; }\n","references":[],"lineBreakBefore":true}],"props":{"priority":304},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":303,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":303},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":302,"text":"    void Awake() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":302},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":301,"text":"        if (Instance == null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":301},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":300,"text":"            Instance = this;\n","references":[],"lineBreakBefore":true}],"props":{"priority":300},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":299,"text":"        } else {\n","references":[],"lineBreakBefore":true}],"props":{"priority":299},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":298,"text":"            Destroy(gameObject);\n","references":[],"lineBreakBefore":true}],"props":{"priority":298},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":297,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":297},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":296,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":296},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":295,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":295},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":294,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":294},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":293,"text":"    // UPGRADE POOL SELECTION\n","references":[],"lineBreakBefore":true}],"props":{"priority":293},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":292,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":292},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":291,"text":"    public UpgradeData[] GetAllUpgrades() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":291},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":290,"text":"        return allUpgrades;\n","references":[],"lineBreakBefore":true}],"props":{"priority":290},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":289,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":289},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":288,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":288},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":287,"text":"    public List<UpgradeData> GetUpgradesByTypeAndCount(UpgradeType type, int count, List<UpgradeData> outputList) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":287},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":286,"text":"        if (outputList == null) return null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":286},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":285,"text":"        outputList.Clear();\n","references":[],"lineBreakBefore":true}],"props":{"priority":285},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":284,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":284},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":283,"text":"        if (allUpgrades == null || allUpgrades.Length == 0 || count <= 0) return outputList;\n","references":[],"lineBreakBefore":true}],"props":{"priority":283},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":282,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":282},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":281,"text":"        PlayerController player = PlayerController.Instance;\n","references":[],"lineBreakBefore":true}],"props":{"priority":281},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":280,"text":"        if (player == null || player.stats == null) return outputList;\n","references":[],"lineBreakBefore":true}],"props":{"priority":280},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":279,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":279},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":278,"text":"        // Build pool of matching type that can actually be taken\n","references":[],"lineBreakBefore":true}],"props":{"priority":278},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":277,"text":"        List<UpgradeData> pool = new List<UpgradeData>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":277},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":276,"text":"        foreach (UpgradeData u in allUpgrades) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":276},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":275,"text":"            if (u != null && u.type == type && CanTakeUpgrade(u, player.stats)) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":275},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":274,"text":"                pool.Add(u);\n","references":[],"lineBreakBefore":true}],"props":{"priority":274},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":273,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":273},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":272,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":272},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":271,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":271},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":270,"text":"        if (pool.Count == 0) return outputList;\n","references":[],"lineBreakBefore":true}],"props":{"priority":270},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":269,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":269},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":268,"text":"        // Select up to count items, weighted by rarity. Avoid duplicates unless stackable.\n","references":[],"lineBreakBefore":true}],"props":{"priority":268},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":267,"text":"        for (int i = 0; i < count && pool.Count > 0; i++) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":267},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":266,"text":"            UpgradeData selected = SelectWeightedUpgrade(pool);\n","references":[],"lineBreakBefore":true}],"props":{"priority":266},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":265,"text":"            if (selected == null) break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":265},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":264,"text":"            outputList.Add(selected);\n","references":[],"lineBreakBefore":true}],"props":{"priority":264},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":263,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":263},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":262,"text":"            // Remove non-stackable upgrades or upgrades at max stacks to prevent duplicates\n","references":[],"lineBreakBefore":true}],"props":{"priority":262},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":261,"text":"            if (selected.maxStacks <= 1) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":261},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":260,"text":"                pool.Remove(selected);\n","references":[],"lineBreakBefore":true}],"props":{"priority":260},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":259,"text":"            } else {\n","references":[],"lineBreakBefore":true}],"props":{"priority":259},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":258,"text":"                // Check if we can still take this stackable upgrade\n","references":[],"lineBreakBefore":true}],"props":{"priority":258},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":257,"text":"                int currentStacks = GetUpgradeStackCount(selected, player.stats) + 1; // +1 because we just added it\n","references":[],"lineBreakBefore":true}],"props":{"priority":257},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":256,"text":"                if (currentStacks >= selected.maxStacks) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":256},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":255,"text":"                    pool.Remove(selected);\n","references":[],"lineBreakBefore":true}],"props":{"priority":255},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":254,"text":"                }\n","references":[],"lineBreakBefore":true}],"props":{"priority":254},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":253,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":253},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":252,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":252},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":251,"text":"        return outputList;\n","references":[],"lineBreakBefore":true}],"props":{"priority":251},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":250,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":250},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":249,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":249},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":248,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":248},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":247,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":247},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":246,"text":"    // UPGRADE APPLICATION\n","references":[],"lineBreakBefore":true}],"props":{"priority":246},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":245,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":245},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":244,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":244},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":243,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":243},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":242,"text":"    /// Apply the chosen upgrade to the player after validation.\n","references":[],"lineBreakBefore":true}],"props":{"priority":242},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":241,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":241},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":240,"text":"    public void ApplyUpgrade(UpgradeData upgrade) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":240},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":239,"text":"        PlayerController player = PlayerController.Instance;\n","references":[],"lineBreakBefore":true}],"props":{"priority":239},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":238,"text":"        if (player == null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":238},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":237,"text":"            GameEvents.DebugWarning(\"PlayerController instance not found. Cannot apply upgrade.\", DebugCategory.Upgrades);\n","references":[],"lineBreakBefore":true}],"props":{"priority":237},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":236,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":236},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":235,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":235},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":234,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":234},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":233,"text":"        // Validate upgrade can be taken\n","references":[],"lineBreakBefore":true}],"props":{"priority":233},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":232,"text":"        if (!CanTakeUpgrade(upgrade, player.stats)) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":232},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":231,"text":"            GameEvents.DebugWarning($\"Cannot apply upgrade '{upgrade.upgradeName}': requirements not met.\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":231},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":230,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":230},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":229,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":229},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":228,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":228},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":227,"text":"        player.stats.ApplyUpgrade(upgrade);\n","references":[],"lineBreakBefore":true}],"props":{"priority":227},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":226,"text":"        GameEvents.UpgradeApplied(upgrade);\n","references":[],"lineBreakBefore":true}],"props":{"priority":226},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":225,"text":"        GameEvents.DebugLog($\"Applied upgrade: {upgrade.upgradeName}\", DebugCategory.Upgrades);\n","references":[],"lineBreakBefore":true}],"props":{"priority":225},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":224,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":224},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":223,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":223},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":222,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":222},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":221,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":221},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":220,"text":"    // UPGRADE VALIDATION\n","references":[],"lineBreakBefore":true}],"props":{"priority":220},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":219,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":219},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":218,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":218},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":217,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":217},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":216,"text":"    /// Check if a specific upgrade can be taken by the player.\n","references":[],"lineBreakBefore":true}],"props":{"priority":216},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":215,"text":"    /// Validates max stacks, required upgrades (prerequisites), and conflicting upgrades.\n","references":[],"lineBreakBefore":true}],"props":{"priority":215},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":214,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":214},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":213,"text":"    public bool CanTakeUpgrade(UpgradeData upgrade, PlayerStats stats) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":213},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":212,"text":"        if (upgrade == null || stats == null) return false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":212},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":211,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":211},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":210,"text":"        // Use the UpgradeData's built-in validation\n","references":[],"lineBreakBefore":true}],"props":{"priority":210},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":209,"text":"        return upgrade.CanBeTaken(stats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":209},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":208,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":208},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":207,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":207},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":206,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":206},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":205,"text":"    /// Check if required upgrades (prerequisites) are satisfied.\n","references":[],"lineBreakBefore":true}],"props":{"priority":205},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":204,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":204},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":203,"text":"    public bool HasRequiredUpgrades(UpgradeData upgrade, PlayerStats stats) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":203},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":202,"text":"        if (upgrade == null || stats == null) return false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":202},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":201,"text":"        if (upgrade.requiredUpgrades == null || upgrade.requiredUpgrades.Length == 0) return true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":201},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":200,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":200},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":199,"text":"        foreach (UpgradeData required in upgrade.requiredUpgrades) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":199},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":198,"text":"            if (required != null && !stats.HasUpgrade(required)) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":198},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":197,"text":"                return false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":197},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":196,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":196},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":195,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":195},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":194,"text":"        return true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":194},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":193,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":193},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":192,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":192},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":191,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":191},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":190,"text":"    /// Check if any conflicting upgrades have been taken.\n","references":[],"lineBreakBefore":true}],"props":{"priority":190},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":189,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":189},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":188,"text":"    public bool HasConflictingUpgrade(UpgradeData upgrade, PlayerStats stats) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":188},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":187,"text":"        if (upgrade == null || stats == null) return false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":187},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":186,"text":"        if (upgrade.conflictingUpgrades == null || upgrade.conflictingUpgrades.Length == 0) return false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":186},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":185,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":185},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":184,"text":"        foreach (UpgradeData conflict in upgrade.conflictingUpgrades) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":184},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":183,"text":"            if (conflict != null && stats.HasUpgrade(conflict)) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":183},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":182,"text":"                return true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":182},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":181,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":181},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":180,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":180},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":179,"text":"        return false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":179},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":178,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":178},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":177,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":177},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":176,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":176},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":175,"text":"    /// Get the reason why an upgrade cannot be taken (for UI display).\n","references":[],"lineBreakBefore":true}],"props":{"priority":175},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":174,"text":"    /// Returns null if upgrade can be taken.\n","references":[],"lineBreakBefore":true}],"props":{"priority":174},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":173,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":173},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":172,"text":"    public string GetUpgradeBlockedReason(UpgradeData upgrade, PlayerStats stats) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":172},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":171,"text":"        if (upgrade == null) return \"Invalid upgrade\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":171},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":170,"text":"        if (stats == null) return \"No player stats\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":170},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":169,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":169},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":168,"text":"        // Check max stacks\n","references":[],"lineBreakBefore":true}],"props":{"priority":168},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":167,"text":"        if (upgrade.maxStacks > 0) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":167},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":166,"text":"            int currentStacks = GetUpgradeStackCount(upgrade, stats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":166},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":165,"text":"            if (currentStacks >= upgrade.maxStacks) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":165},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":164,"text":"                return $\"Max stacks reached ({currentStacks}/{upgrade.maxStacks})\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":164},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":163,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":163},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":162,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":162},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":161,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":161},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":160,"text":"        // Check required upgrades\n","references":[],"lineBreakBefore":true}],"props":{"priority":160},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":159,"text":"        if (upgrade.requiredUpgrades != null && upgrade.requiredUpgrades.Length > 0) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":159},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":158,"text":"            List<string> missingUpgrades = new List<string>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":158},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":157,"text":"            foreach (UpgradeData required in upgrade.requiredUpgrades) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":157},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":156,"text":"                if (required != null && !stats.HasUpgrade(required)) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":156},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":155,"text":"                    missingUpgrades.Add(required.upgradeName);\n","references":[],"lineBreakBefore":true}],"props":{"priority":155},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":154,"text":"                }\n","references":[],"lineBreakBefore":true}],"props":{"priority":154},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":153,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":153},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":152,"text":"            if (missingUpgrades.Count > 0) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":152},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"                return $\"Requires: {string.Join(\", \", missingUpgrades)}\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":151},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":150,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":150},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":149,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":149},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":148,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":148},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":147,"text":"        // Check conflicting upgrades\n","references":[],"lineBreakBefore":true}],"props":{"priority":147},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":146,"text":"        if (upgrade.conflictingUpgrades != null && upgrade.conflictingUpgrades.Length > 0) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":146},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":145,"text":"            foreach (UpgradeData conflict in upgrade.conflictingUpgrades) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":145},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":144,"text":"                if (conflict != null && stats.HasUpgrade(conflict)) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":144},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":143,"text":"                    return $\"Conflicts with: {conflict.upgradeName}\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":143},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":142,"text":"                }\n","references":[],"lineBreakBefore":true}],"props":{"priority":142},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":141,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":141},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":140,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":140},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":139,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":139},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":138,"text":"        return null; // No issues, upgrade can be taken\n","references":[],"lineBreakBefore":true}],"props":{"priority":138},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":137,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":137},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"    /// Get how many times the player has taken a specific upgrade.\n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"    public int GetUpgradeStackCount(UpgradeData upgrade, PlayerStats stats) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"        if (upgrade == null || stats == null) return 0;\n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"        int count = 0;\n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"        foreach (UpgradeData applied in stats.AppliedUpgrades) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"            if (applied == upgrade) count++;\n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"        return count;\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"    // UPGRADE SELECTION / OFFERING\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"    /// Get all upgrades that can currently be taken by the player.\n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"    /// Filters out upgrades blocked by requirements, conflicts, or max stacks.\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"    public List<UpgradeData> GetAvailableUpgrades(PlayerStats stats) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"        List<UpgradeData> available = new List<UpgradeData>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"        if (allUpgrades == null || stats == null) return available;\n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"        foreach (UpgradeData upgrade in allUpgrades) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"            if (upgrade != null && CanTakeUpgrade(upgrade, stats)) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"                available.Add(upgrade);\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"        return available;\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"    /// Get available upgrades filtered by type (Power, Defense, Utility).\n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"    public List<UpgradeData> GetAvailableUpgradesByType(PlayerStats stats, UpgradeType type) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"        List<UpgradeData> available = GetAvailableUpgrades(stats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"        available.RemoveAll(u => u.type != type);\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"        return available;\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"    /// Get available upgrades filtered by rarity.\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"    public List<UpgradeData> GetAvailableUpgradesByRarity(PlayerStats stats, UpgradeRarity rarity) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"        List<UpgradeData> available = GetAvailableUpgrades(stats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"        available.RemoveAll(u => u.rarity != rarity);\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"        return available;\n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"    /// Offer random upgrade choices to the player.\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"    /// Respects rarity weights: Common (70%), Rare (25%), Epic (5%).\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"    public UpgradeData[] GetRandomUpgradeChoices(PlayerStats stats) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"        List<UpgradeData> available = GetAvailableUpgrades(stats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"        List<UpgradeData> choices = new List<UpgradeData>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"        if (available.Count == 0) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"            GameEvents.DebugWarning(\"No available upgrades to offer!\", DebugCategory.Upgrades);\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"            return choices.ToArray();\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"        // Select random upgrades (weighted by rarity)\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"        for (int i = 0; i < upgradeChoiceCount && available.Count > 0; i++) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"            UpgradeData selected = SelectWeightedUpgrade(available);\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"            if (selected != null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"                choices.Add(selected);\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"                \n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"                // Remove from pool to avoid duplicates (unless stackable)\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"                if (selected.maxStacks <= 1) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"                    available.Remove(selected);\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"                }\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"        return choices.ToArray();\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"    /// Select a random upgrade weighted by rarity.\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"    /// Common: 70%, Rare: 25%, Epic: 5%\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"    private UpgradeData SelectWeightedUpgrade(List<UpgradeData> upgrades) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"        if (upgrades == null || upgrades.Count == 0) return null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"        // Build weighted list\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"        List<(UpgradeData upgrade, float weight)> weighted = new List<(UpgradeData, float)>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"        float totalWeight = 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"        foreach (UpgradeData upgrade in upgrades) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"            float weight = GetRarityWeight(upgrade.rarity);\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"            weighted.Add((upgrade, weight));\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"            totalWeight += weight;\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"        // Random selection\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"        float roll = Random.Range(0f, totalWeight);\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"        float cumulative = 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"        foreach (var (upgrade, weight) in weighted) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"            cumulative += weight;\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"            if (roll <= cumulative) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"                return upgrade;\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"        // Fallback (shouldn't happen)\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"        return upgrades[Random.Range(0, upgrades.Count)];\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"    /// Get spawn weight for a rarity tier.\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"    private float GetRarityWeight(UpgradeRarity rarity) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"        return rarity switch {\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"            UpgradeRarity.Common => 70f,\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"            UpgradeRarity.Rare => 25f,\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"            UpgradeRarity.Epic => 5f,\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"            _ => 50f\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"        };\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"    // DEBUG / UTILITY\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"    /// Log all available upgrades and their status for debugging.\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":322,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":322},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_Ki3dZxk8QTrc75dY39uD3jg3__vscode-1774363162407":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"    [ContextMenu(\"Debug: Log Upgrade Status\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"    public void DebugLogUpgradeStatus() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"        PlayerController player = PlayerController.Instance;\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"        if (player == null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"            GameEvents.DebugWarning(\"No player found for upgrade status check.\", DebugCategory.Upgrades);\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"        GameEvents.DebugLog(\"=== UPGRADE STATUS ===\", DebugCategory.Upgrades);\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"        if (allUpgrades == null || allUpgrades.Length == 0) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"            GameEvents.DebugLog(\"No upgrades in pool!\", DebugCategory.Upgrades);\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"        foreach (UpgradeData upgrade in allUpgrades) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"            if (upgrade == null) continue;\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"            bool canTake = CanTakeUpgrade(upgrade, player.stats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"            string reason = GetUpgradeBlockedReason(upgrade, player.stats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"            string status = canTake ? \"AVAILABLE\" : $\"BLOCKED - {reason}\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"            GameEvents.DebugLog($\"[{upgrade.rarity}] {upgrade.upgradeName}: {status}\", DebugCategory.Upgrades   );\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_rhH5Pi8lPchjk0ONQJR33wm7__vscode-1774363162408":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"dFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"GameScene/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"GameScene.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"GameScene.unity","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"GameScene.unity.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"TestScene/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"TestScene.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"TestScene.unity","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"TestScene.unity.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_doHQiWn4S3Vox2FVoGeRr9k4__vscode-1774363162409":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"iFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"23 matches (maxResults capped at 200)","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs\" line=19>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":372},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnPlayerDied += onPlayerDiedHandler;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":[{"line":18,"character":8},{"line":18,"character":34}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":372},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs\" line=20>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":373},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnEnemyKilled += onEnemyKilledHandler;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":[{"line":19,"character":8},{"line":19,"character":35}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":373},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs\" line=21>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":374},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnLevelUp += onLevelUpHandler;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":[{"line":20,"character":8},{"line":20,"character":31}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":374},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs\" line=22>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":375},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnXPChanged += onXPChangedHandler;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":[{"line":21,"character":8},{"line":21,"character":33}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":375},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs\" line=76>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":376},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnEnemyKilled += OnEnemyDied;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","scheme":"file"},"range":[{"line":75,"character":8},{"line":75,"character":35}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":376},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs\" line=22>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":377},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnRunEnded += ShowGameOver;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","scheme":"file"},"range":[{"line":21,"character":8},{"line":21,"character":32}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":377},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs\" line=11>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":378},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnHealthChanged += UpdateHealthBar;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","scheme":"file"},"range":[{"line":10,"character":8},{"line":10,"character":37}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":378},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs\" line=9>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":379},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnLevelUp += UpdateLevelDisplay;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","scheme":"file"},"range":[{"line":8,"character":8},{"line":8,"character":31}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":379},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs\" line=11>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":380},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnXPChanged += UpdateXPBar;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","scheme":"file"},"range":[{"line":10,"character":8},{"line":10,"character":33}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":380},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs\" line=63>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":381},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnLevelUp += OnLevelUp;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"},"range":[{"line":62,"character":8},{"line":62,"character":31}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":381},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs\" line=71>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":382},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnHealthChanged += UpdateHealth;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":[{"line":70,"character":8},{"line":70,"character":37}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":382},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs\" line=72>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":383},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnXPChanged += UpdateXP;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":[{"line":71,"character":8},{"line":71,"character":33}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":383},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs\" line=73>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":384},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnLevelUp += UpdateLevel;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":[{"line":72,"character":8},{"line":72,"character":31}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":384},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs\" line=74>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":385},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnRoomEntered += UpdateRoom;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":[{"line":73,"character":8},{"line":73,"character":35}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":385},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs\" line=75>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":386},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnRoomCleared += OnRoomCleared;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":[{"line":74,"character":8},{"line":74,"character":35}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":386},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs\" line=76>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":387},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnEnemyKilled += OnEnemyKilled;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":[{"line":75,"character":8},{"line":75,"character":35}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":387},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs\" line=70>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":388},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnPlayerMovementInput += HandleMovementInput;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":[{"line":69,"character":8},{"line":69,"character":43}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":388},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs\" line=71>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":389},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnPlayerAimDirectionChanged += HandleAimDirectionChanged;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":[{"line":70,"character":8},{"line":70,"character":49}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":389},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs\" line=198>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":390},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnEnemyDamaged += HandleEnemyDamaged;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/Attack%20Types/FlamethrowerAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","scheme":"file"},"range":[{"line":197,"character":8},{"line":197,"character":36}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":390},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs\" line=199>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":391},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnEnemyKilled += HandleEnemyKilled;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/Attack%20Types/FlamethrowerAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","scheme":"file"},"range":[{"line":198,"character":8},{"line":198,"character":35}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":391},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs\" line=16>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":392},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnRunEnded += HandleRunEnded;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},"range":[{"line":15,"character":8},{"line":15,"character":32}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":392},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs\" line=17>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":393},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnRunStarted += HandleRunStarted;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},"range":[{"line":16,"character":8},{"line":16,"character":34}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":393},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs\" line=33>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":394},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnEnemyKilled += AwardXP;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"},"range":[{"line":32,"character":8},{"line":32,"character":35}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":394},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4}],"props":{},"references":[]}}}]},"call_kAQyUrAxNqC1RFW1YO2YavNC__vscode-1774363162410":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"iFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"23 matches (maxResults capped at 200)","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs\" line=15>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":441},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnXPChanged -= UpdateXPBar;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/XPBarUI.cs","scheme":"file"},"range":[{"line":14,"character":8},{"line":14,"character":33}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":441},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs\" line=13>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":442},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnLevelUp -= UpdateLevelDisplay;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/LevelDisplayUI.cs","scheme":"file"},"range":[{"line":12,"character":8},{"line":12,"character":31}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":442},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs\" line=82>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":443},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnHealthChanged -= UpdateHealth;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":[{"line":81,"character":8},{"line":81,"character":37}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":443},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs\" line=83>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":444},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnXPChanged -= UpdateXP;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":[{"line":82,"character":8},{"line":82,"character":33}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":444},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs\" line=84>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":445},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnLevelUp -= UpdateLevel;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":[{"line":83,"character":8},{"line":83,"character":31}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":445},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs\" line=85>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":446},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnRoomEntered -= UpdateRoom;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":[{"line":84,"character":8},{"line":84,"character":35}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":446},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs\" line=86>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":447},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnRoomCleared -= OnRoomCleared;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":[{"line":85,"character":8},{"line":85,"character":35}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":447},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs\" line=87>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":448},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnEnemyKilled -= OnEnemyKilled;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":[{"line":86,"character":8},{"line":86,"character":35}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":448},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs\" line=15>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":449},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnHealthChanged -= UpdateHealthBar;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","scheme":"file"},"range":[{"line":14,"character":8},{"line":14,"character":37}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":449},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs\" line=34>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":450},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnRunEnded -= ShowGameOver;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameOverUI.cs","scheme":"file"},"range":[{"line":33,"character":8},{"line":33,"character":32}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":450},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs\" line=82>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":451},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnEnemyKilled -= OnEnemyDied;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","scheme":"file"},"range":[{"line":81,"character":8},{"line":81,"character":35}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":451},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs\" line=21>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":452},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnRunEnded -= HandleRunEnded;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},"range":[{"line":20,"character":8},{"line":20,"character":32}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":452},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs\" line=22>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":453},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnRunStarted -= HandleRunStarted;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},"range":[{"line":21,"character":8},{"line":21,"character":34}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":453},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs\" line=72>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":454},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnLevelUp -= OnLevelUp;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"},"range":[{"line":71,"character":8},{"line":71,"character":31}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":454},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs\" line=38>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":455},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnEnemyKilled -= AwardXP;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"},"range":[{"line":37,"character":8},{"line":37,"character":35}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":455},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs\" line=27>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":456},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnPlayerDied -= onPlayerDiedHandler;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":[{"line":26,"character":8},{"line":26,"character":34}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":456},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs\" line=28>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":457},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnEnemyKilled -= onEnemyKilledHandler;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":[{"line":27,"character":8},{"line":27,"character":35}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":457},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs\" line=29>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":458},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnLevelUp -= onLevelUpHandler;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":[{"line":28,"character":8},{"line":28,"character":31}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":458},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs\" line=30>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":459},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnXPChanged -= onXPChangedHandler;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":[{"line":29,"character":8},{"line":29,"character":33}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":459},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs\" line=76>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":460},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnPlayerMovementInput -= HandleMovementInput;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":[{"line":75,"character":8},{"line":75,"character":43}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":460},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs\" line=77>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":461},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnPlayerAimDirectionChanged -= HandleAimDirectionChanged;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":[{"line":76,"character":8},{"line":76,"character":49}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":461},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs\" line=204>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":462},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnEnemyDamaged -= HandleEnemyDamaged;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/Attack%20Types/FlamethrowerAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","scheme":"file"},"range":[{"line":203,"character":8},{"line":203,"character":36}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":462},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs\" line=205>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":463},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.OnEnemyKilled -= HandleEnemyKilled;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/Attack%20Types/FlamethrowerAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/Attack Types/FlamethrowerAttack.cs","scheme":"file"},"range":[{"line":204,"character":8},{"line":204,"character":35}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":463},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4}],"props":{},"references":[]}}}]},"call_dj0MaHsQIx2EA2JGLaZ4OEdl__vscode-1774363162411":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"iFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"8 matches","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs\" line=343>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":510},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        var spawner = FindFirstObjectByType<WaveSpawner>();","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"range":[{"line":342,"character":22},{"line":342,"character":43}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":510},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs\" line=401>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":511},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        var xpManager = FindFirstObjectByType<XPManager>(); // Assuming it exists","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"range":[{"line":400,"character":24},{"line":400,"character":45}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":511},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs\" line=523>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":512},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        var spawner = FindFirstObjectByType<WaveSpawner>();","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"range":[{"line":522,"character":22},{"line":522,"character":43}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":512},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs\" line=59>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":513},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"            var playerController = FindFirstObjectByType<PlayerController>();","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","scheme":"file"},"range":[{"line":58,"character":35},{"line":58,"character":56}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":513},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs\" line=48>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":514},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"            var player = UnityEngine.Object.FindFirstObjectByType<PlayerController>();","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","scheme":"file"},"range":[{"line":47,"character":44},{"line":47,"character":65}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":514},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs\" line=28>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":515},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        playerHealth = FindFirstObjectByType<PlayerController>()?.GetComponent<Health>();","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"},"range":[{"line":27,"character":23},{"line":27,"character":44}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":515},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs\" line=91>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":516},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"            var enemy = FindFirstObjectByType<Enemy>();","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","scheme":"file"},"range":[{"line":90,"character":24},{"line":90,"character":45}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":516},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs\" line=47>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":517},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"            var player = UnityEngine.Object.FindFirstObjectByType<PlayerController>();","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","scheme":"file"},"range":[{"line":46,"character":44},{"line":46,"character":65}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":517},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4}],"props":{},"references":[]}}}]},"call_03ywX3STzm8spgR72s6MYwXn__vscode-1774363162412":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"mU","children":[{"type":2,"priority":9007199254740991,"text":"No errors found.","lineBreakBefore":false}],"props":{},"references":[]}}}]},"call_6kgFuSlsZSWudYKxDXbmydi7__vscode-1774363162413":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"using Unity.VectorGraphics;\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"using UnityEngine.SceneManagement;\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"public class GameManager : MonoBehaviour {\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"    public GameState gameState;\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"    [SerializeField] private string gameSceneName = \"TestScene\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"    void Awake()\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"        // Do not reload scene here to avoid infinite loop\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"        gameState = GameState.Playing;\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"    void OnEnable()\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"        GameEvents.OnRunEnded += HandleRunEnded;\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"        GameEvents.OnRunStarted += HandleRunStarted;\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"    void OnDisable()\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"        GameEvents.OnRunEnded -= HandleRunEnded;\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"        GameEvents.OnRunStarted -= HandleRunStarted;\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"    void HandleRunStarted()\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"        // Handle run start logic here\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"        Time.timeScale = 1f; // Resume the game\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"        gameState = GameState.Playing;\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"        SceneManager.LoadScene(SceneManager.GetActiveScene().name);\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"    void HandleRunEnded(bool isVictory)\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"        // Handle game over logic here\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"        Time.timeScale = 0f; // Pause the game\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"        if (!isVictory)\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"            GameEvents.DebugLog(\"Game Over! Displaying Game Over Screen...\", DebugCategory.General);\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"            Time.timeScale = 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"            // Show Game Over UI\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"            gameState = GameState.GameOver;\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"        else\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"            GameEvents.DebugLog(\"Run Completed! Displaying Victory Screen...\", DebugCategory.General);\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"            // Show Victory UI\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"            gameState = GameState.Victory;\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_j1WqhQl11XI0r9E54s4IOJXq__vscode-1774363162414":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":255,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":255},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":254,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":254},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":253,"text":"using System.Collections;\n","references":[],"lineBreakBefore":true}],"props":{"priority":253},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":252,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":252},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":251,"text":"public class WaveSpawner : MonoBehaviour {\n","references":[],"lineBreakBefore":true}],"props":{"priority":251},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":250,"text":"    [Header(\"Wave Settings\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":250},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":249,"text":"    [SerializeField] private GameObject scorpionPrefab;\n","references":[],"lineBreakBefore":true}],"props":{"priority":249},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":248,"text":"    // add other enemy prefabs here\n","references":[],"lineBreakBefore":true}],"props":{"priority":248},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":247,"text":"    [SerializeField] private int baseEnemiesPerWave = 4;\n","references":[],"lineBreakBefore":true}],"props":{"priority":247},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":246,"text":"    [SerializeField] private float enemyIncreasePerWave = 1.3f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":246},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":245,"text":"    [SerializeField] private float timeBetweenWaves = 3f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":245},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":244,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":244},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":243,"text":"    [Header(\"Spawn Area\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":243},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":242,"text":"    [SerializeField] private float spawnRadius = 12f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":242},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":241,"text":"    [SerializeField] private float minSpawnDistance = 6f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":241},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":240,"text":"    [SerializeField] private Vector2 arenaSize = new Vector2(25f, 20f);\n","references":[],"lineBreakBefore":true}],"props":{"priority":240},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":239,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":239},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":238,"text":"    [Header(\"Spawn Patterns\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":238},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":237,"text":"    [Tooltip(\"How much of the circle around player is blocked for spawning (0-1). 0.5 = enemies spawn in 180° arc\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":237},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":236,"text":"    [SerializeField] [Range(0.2f, 0.8f)] private float safeArcRatio = 0.35f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":236},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":235,"text":"    [Tooltip(\"Chance to spawn from arena edges instead of around player\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":235},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":234,"text":"    [SerializeField] [Range(0f, 1f)] private float edgeSpawnChance = 0.6f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":234},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":233,"text":"    [Tooltip(\"Chance to spawn enemies in clusters\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":233},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":232,"text":"    [SerializeField] [Range(0f, 1f)] private float clusterChance = 0.25f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":232},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":231,"text":"    [SerializeField] private float clusterRadius = 2f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":231},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":230,"text":"    [SerializeField] private int clusterSize = 3;\n","references":[],"lineBreakBefore":true}],"props":{"priority":230},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":229,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":229},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":228,"text":"    [Header(\"Pooling\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":228},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":227,"text":"    [SerializeField] private int initialPoolSize = 50;\n","references":[],"lineBreakBefore":true}],"props":{"priority":227},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":226,"text":"    [SerializeField] private int maxPoolSize = 200;\n","references":[],"lineBreakBefore":true}],"props":{"priority":226},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":225,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":225},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":224,"text":"    [Header(\"References\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":224},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":223,"text":"    [SerializeField] private Transform player;\n","references":[],"lineBreakBefore":true}],"props":{"priority":223},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":222,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":222},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":221,"text":"    private int currentWave = 0;\n","references":[],"lineBreakBefore":true}],"props":{"priority":221},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":220,"text":"    private int enemiesAlive = 0;\n","references":[],"lineBreakBefore":true}],"props":{"priority":220},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":219,"text":"    private bool waveInProgress = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":219},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":218,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":218},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":217,"text":"    // Cached values to avoid allocations\n","references":[],"lineBreakBefore":true}],"props":{"priority":217},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":216,"text":"    private WaitForSeconds waveWait;\n","references":[],"lineBreakBefore":true}],"props":{"priority":216},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":215,"text":"    private string poolId;\n","references":[],"lineBreakBefore":true}],"props":{"priority":215},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":214,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":214},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":213,"text":"    // Spawn pattern state\n","references":[],"lineBreakBefore":true}],"props":{"priority":213},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":212,"text":"    private float currentSafeAngle; // Direction player is facing/moving - we spawn AWAY from this\n","references":[],"lineBreakBefore":true}],"props":{"priority":212},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":211,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":211},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":210,"text":"    // Public Accessors for Debug UI\n","references":[],"lineBreakBefore":true}],"props":{"priority":210},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":209,"text":"    public int CurrentWave => currentWave;\n","references":[],"lineBreakBefore":true}],"props":{"priority":209},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":208,"text":"    public int EnemiesAlive => enemiesAlive;\n","references":[],"lineBreakBefore":true}],"props":{"priority":208},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":207,"text":"    public bool WaveInProgress => waveInProgress;\n","references":[],"lineBreakBefore":true}],"props":{"priority":207},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":206,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":206},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":205,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":205},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":204,"text":"    /// Debug setter for the debug menu.\n","references":[],"lineBreakBefore":true}],"props":{"priority":204},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":203,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":203},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":202,"text":"    public void DebugSetWave(int wave) => currentWave = Mathf.Max(0, wave);\n","references":[],"lineBreakBefore":true}],"props":{"priority":202},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":201,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":201},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":200,"text":"    void Start()\n","references":[],"lineBreakBefore":true}],"props":{"priority":200},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":199,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":199},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":198,"text":"        if (player == null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":198},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":197,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":197},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":196,"text":"            var playerController = FindFirstObjectByType<PlayerController>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":196},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":195,"text":"            if (playerController != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":195},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":194,"text":"            {\n","references":[],"lineBreakBefore":true}],"props":{"priority":194},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":193,"text":"                player = playerController.transform;\n","references":[],"lineBreakBefore":true}],"props":{"priority":193},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":192,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":192},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":191,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":191},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":190,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":190},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":189,"text":"        // Pre-cache wait to avoid GC allocation each wave\n","references":[],"lineBreakBefore":true}],"props":{"priority":189},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":188,"text":"        waveWait = new WaitForSeconds(timeBetweenWaves);\n","references":[],"lineBreakBefore":true}],"props":{"priority":188},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":187,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":187},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":186,"text":"        // Initialize enemy pool\n","references":[],"lineBreakBefore":true}],"props":{"priority":186},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":185,"text":"        if (scorpionPrefab != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":185},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":184,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":184},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":183,"text":"            poolId = scorpionPrefab.name;\n","references":[],"lineBreakBefore":true}],"props":{"priority":183},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":182,"text":"            PoolingSystem.Instance?.CreatePool(scorpionPrefab, initialPoolSize, true, maxPoolSize);\n","references":[],"lineBreakBefore":true}],"props":{"priority":182},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":181,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":181},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":180,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":180},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":179,"text":"        GameEvents.OnEnemyKilled += OnEnemyDied;\n","references":[],"lineBreakBefore":true}],"props":{"priority":179},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":178,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":178},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":177,"text":"        StartCoroutine(WaveController());\n","references":[],"lineBreakBefore":true}],"props":{"priority":177},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":176,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":176},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":175,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":175},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":174,"text":"    void OnDestroy() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":174},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":173,"text":"        GameEvents.OnEnemyKilled -= OnEnemyDied;\n","references":[],"lineBreakBefore":true}],"props":{"priority":173},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":172,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":172},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":171,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":171},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":170,"text":"    private IEnumerator WaveController() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":170},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":169,"text":"        while (true) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":169},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":168,"text":"            // Wait between waves (uses cached WaitForSeconds)\n","references":[],"lineBreakBefore":true}],"props":{"priority":168},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":167,"text":"            yield return waveWait;\n","references":[],"lineBreakBefore":true}],"props":{"priority":167},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":166,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":166},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":165,"text":"            // Start new wave\n","references":[],"lineBreakBefore":true}],"props":{"priority":165},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":164,"text":"            currentWave++;\n","references":[],"lineBreakBefore":true}],"props":{"priority":164},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":163,"text":"            SpawnWave();\n","references":[],"lineBreakBefore":true}],"props":{"priority":163},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":162,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":162},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":161,"text":"            // Wait for wave to be cleared\n","references":[],"lineBreakBefore":true}],"props":{"priority":161},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":160,"text":"            while (waveInProgress) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":160},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":159,"text":"                yield return null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":159},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":158,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":158},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":157,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":157},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":156,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":156},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":155,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":155},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":154,"text":"    private void SpawnWave() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":154},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":153,"text":"        int enemiesToSpawn = Mathf.RoundToInt(baseEnemiesPerWave * Mathf.Pow(enemyIncreasePerWave, currentWave - 1));\n","references":[],"lineBreakBefore":true}],"props":{"priority":153},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":152,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":152},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"        #if UNITY_EDITOR || DEVELOPMENT_BUILD\n","references":[],"lineBreakBefore":true}],"props":{"priority":151},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":150,"text":"        GameEvents.DebugLog($\"Starting Wave {currentWave}: {enemiesToSpawn} enemies\", DebugCategory.EnemyAI);\n","references":[],"lineBreakBefore":true}],"props":{"priority":150},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":149,"text":"        #endif\n","references":[],"lineBreakBefore":true}],"props":{"priority":149},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":148,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":148},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":147,"text":"        waveInProgress = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":147},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":146,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":146},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":145,"text":"        // Update safe angle based on player's facing direction\n","references":[],"lineBreakBefore":true}],"props":{"priority":145},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":144,"text":"        UpdateSafeAngle();\n","references":[],"lineBreakBefore":true}],"props":{"priority":144},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":143,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":143},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":142,"text":"        int i = 0;\n","references":[],"lineBreakBefore":true}],"props":{"priority":142},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":141,"text":"        while (i < enemiesToSpawn)\n","references":[],"lineBreakBefore":true}],"props":{"priority":141},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":140,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":140},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":139,"text":"            // Decide spawn pattern\n","references":[],"lineBreakBefore":true}],"props":{"priority":139},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":138,"text":"            float roll = Random.value;\n","references":[],"lineBreakBefore":true}],"props":{"priority":138},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":137,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":137},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"            if (roll < clusterChance && i + clusterSize <= enemiesToSpawn)\n","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"            {\n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"                // Spawn a cluster\n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"                Vector2 clusterCenter = GetSpawnPosition();\n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"                int actualClusterSize = Random.Range(clusterSize / 2, clusterSize + 1);\n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"                \n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"                for (int j = 0; j < actualClusterSize && i < enemiesToSpawn; j++)\n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"                {\n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"                    Vector2 offset = Random.insideUnitCircle * clusterRadius;\n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"                    Vector2 spawnPos = clusterCenter + offset;\n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"                    SpawnEnemy(spawnPos);\n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"                    i++;\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"                }\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"            else\n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"            {\n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"                // Spawn individual enemy\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"                Vector2 spawnPos = GetSpawnPosition();\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"                SpawnEnemy(spawnPos);\n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"                i++;\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"    private void SpawnEnemy(Vector2 position)\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"        // Use pooling system instead of Instantiate\n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"        GameObject enemy = PoolingSystem.Instance?.Get(poolId, position, Quaternion.identity);\n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"        // Fallback to Instantiate if pooling not available\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"        if (enemy == null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"            GameEvents.DebugLog(\"Pooling system not available or pool empty, instantiating enemy directly.\", DebugCategory.EnemyAI);\n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"            Instantiate(scorpionPrefab, (Vector3)position, Quaternion.identity);\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"        enemiesAlive++;\n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"    private void UpdateSafeAngle()\n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"        // Try to get player's movement direction or facing direction\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"        var playerRb = player.GetComponent<Rigidbody2D>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"        if (playerRb != null && playerRb.linearVelocity.sqrMagnitude > 0.1f)\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"            // Player is moving - keep their path clear\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"            currentSafeAngle = Mathf.Atan2(playerRb.linearVelocity.y, playerRb.linearVelocity.x) * Mathf.Rad2Deg;\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"        else\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"            // Player is stationary - pick a random safe direction\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"            currentSafeAngle = Random.Range(0f, 360f);\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"    private Vector2 GetSpawnPosition()\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"        if (Random.value < edgeSpawnChance)\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"            return GetEdgeSpawnPosition();\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"        else\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"            return GetArcSpawnPosition();\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"    /// Spawn from arena edges (not surrounding player).\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"    private Vector2 GetEdgeSpawnPosition()\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"        Vector2 arenaCenter = player != null ? (Vector2)player.position : Vector2.zero;\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"        // Pick a random edge (0=top, 1=right, 2=bottom, 3=left)\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"        int edge = Random.Range(0, 4);\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"        float t = Random.value; // Position along edge (0-1)\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"        Vector2 spawnPos;\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"        float halfWidth = arenaSize.x * 0.5f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"        float halfHeight = arenaSize.y * 0.5f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"        switch (edge)\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"            case 0: // Top\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"                spawnPos = new Vector2(Mathf.Lerp(-halfWidth, halfWidth, t), halfHeight);\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"                break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"            case 1: // Right\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"                spawnPos = new Vector2(halfWidth, Mathf.Lerp(-halfHeight, halfHeight, t));\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"                break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"            case 2: // Bottom\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"                spawnPos = new Vector2(Mathf.Lerp(-halfWidth, halfWidth, t), -halfHeight);\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"                break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"            default: // Left\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"                spawnPos = new Vector2(-halfWidth, Mathf.Lerp(-halfHeight, halfHeight, t));\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"                break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"        return arenaCenter + spawnPos;\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"    /// Spawn in an arc AWAY from player's safe direction (leaves escape route).\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"    private Vector2 GetArcSpawnPosition()\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"        // Calculate spawn arc (opposite of safe direction)\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"        float spawnArcCenter = currentSafeAngle + 180f; // Opposite direction\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"        float arcHalfWidth = (1f - safeArcRatio) * 180f; // How wide the spawn arc is\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"        // Random angle within the spawn arc\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"        float angle = spawnArcCenter + Random.Range(-arcHalfWidth, arcHalfWidth);\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"        angle *= Mathf.Deg2Rad;\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"        float distance = Random.Range(minSpawnDistance, spawnRadius);\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"        Vector2 offset = new Vector2(\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"            Mathf.Cos(angle) * distance,\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"            Mathf.Sin(angle) * distance\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"        );\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"        return (Vector2)player.position + offset;\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"    private void OnEnemyDied(Enemy enemy) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"        enemiesAlive--;\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"        if (enemiesAlive <= 0) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"            waveInProgress = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"            #if UNITY_EDITOR || DEVELOPMENT_BUILD\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"            GameEvents.DebugLog($\"Wave {currentWave} cleared!\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"            #endif\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":255,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":255},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_LITtlPj8YcnxOaYApWyBOfn7__vscode-1774363162415":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":331,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/PlayerStats.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/PlayerStats.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/PlayerStats.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":331},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":330,"text":"using System;\n","references":[],"lineBreakBefore":true}],"props":{"priority":330},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":329,"text":"using System.Collections.Generic;\n","references":[],"lineBreakBefore":true}],"props":{"priority":329},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":328,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":328},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":327,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":327},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":326,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":326},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":325,"text":"/// Pure C# class that manages all player statistics.\n","references":[],"lineBreakBefore":true}],"props":{"priority":325},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":324,"text":"/// Handles base stats, modifiers from upgrades, and recalculation.\n","references":[],"lineBreakBefore":true}],"props":{"priority":324},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":323,"text":"/// NOT a MonoBehaviour - PlayerController holds an instance of this.\n","references":[],"lineBreakBefore":true}],"props":{"priority":323},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":322,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":322},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":321,"text":"[System.Serializable]\n","references":[],"lineBreakBefore":true}],"props":{"priority":321},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":320,"text":"public class PlayerStats {\n","references":[],"lineBreakBefore":true}],"props":{"priority":320},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":319,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":319},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":318,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":318},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":317,"text":"    // BASE STATS (Never change after init)\n","references":[],"lineBreakBefore":true}],"props":{"priority":317},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":316,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":316},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":315,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":315},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":314,"text":"    [Header(\"Base Stats\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":314},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":313,"text":"    [SerializeField] private float baseMaxHP = 100f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":313},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":312,"text":"    [SerializeField] private float baseDamage = 5f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":312},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":311,"text":"    [SerializeField] private float baseSpeed = 15f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":311},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":310,"text":"    [SerializeField] private float baseAttackSpeed = 1.2f; // Attacks per second\n","references":[],"lineBreakBefore":true}],"props":{"priority":310},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":309,"text":"    [SerializeField] private float baseCritChance = 0.08f; // 8%\n","references":[],"lineBreakBefore":true}],"props":{"priority":309},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":308,"text":"    [SerializeField] private float baseCritMultiplier = 1.5f; // 1.5x damage\n","references":[],"lineBreakBefore":true}],"props":{"priority":308},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":307,"text":"    [SerializeField] private float baseArmor = 5f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":307},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":306,"text":"    [SerializeField] private bool debugMode = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":306},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":305,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":305},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":304,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":304},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":303,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":303},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":302,"text":"    // CURRENT STATS (Recalculated when upgrades applied)\n","references":[],"lineBreakBefore":true}],"props":{"priority":302},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":301,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":301},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":300,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":300},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":299,"text":"    // Health\n","references":[],"lineBreakBefore":true}],"props":{"priority":299},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":298,"text":"    public float currentMaxHP { get; private set; }\n","references":[],"lineBreakBefore":true}],"props":{"priority":298},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":297,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":297},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":296,"text":"    // Damage\n","references":[],"lineBreakBefore":true}],"props":{"priority":296},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":295,"text":"    public float currentDamage { get; private set; }\n","references":[],"lineBreakBefore":true}],"props":{"priority":295},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":294,"text":"    public float currentCritChance { get; private set; }\n","references":[],"lineBreakBefore":true}],"props":{"priority":294},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":293,"text":"    public float currentCritMultiplier { get; private set; }\n","references":[],"lineBreakBefore":true}],"props":{"priority":293},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":292,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":292},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":291,"text":"    // Speed\n","references":[],"lineBreakBefore":true}],"props":{"priority":291},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":290,"text":"    public float currentSpeed { get; private set; }\n","references":[],"lineBreakBefore":true}],"props":{"priority":290},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":289,"text":"    public float currentAttackSpeed { get; private set; }\n","references":[],"lineBreakBefore":true}],"props":{"priority":289},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":288,"text":"    public float currentDashCooldown { get; private set; }\n","references":[],"lineBreakBefore":true}],"props":{"priority":288},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":287,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":287},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":286,"text":"    // Defense\n","references":[],"lineBreakBefore":true}],"props":{"priority":286},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":285,"text":"    public float currentArmor { get; private set; }\n","references":[],"lineBreakBefore":true}],"props":{"priority":285},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":284,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":284},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":283,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":283},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":282,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":282},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":281,"text":"    // UPGRADE TRACKING\n","references":[],"lineBreakBefore":true}],"props":{"priority":281},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":280,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":280},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":279,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":279},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":278,"text":"    private List<UpgradeData> appliedUpgrades = new List<UpgradeData>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":278},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":277,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":277},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":276,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":276},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":275,"text":"    /// Get read-only list of all upgrades applied this run.\n","references":[],"lineBreakBefore":true}],"props":{"priority":275},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":274,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":274},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":273,"text":"    public IReadOnlyList<UpgradeData> AppliedUpgrades => appliedUpgrades.AsReadOnly();\n","references":[],"lineBreakBefore":true}],"props":{"priority":273},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":272,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":272},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":271,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":271},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":270,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":270},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":269,"text":"    // CONSTRUCTOR\n","references":[],"lineBreakBefore":true}],"props":{"priority":269},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":268,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":268},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":267,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":267},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":266,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":266},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":265,"text":"    /// Initialize stats with default base values.\n","references":[],"lineBreakBefore":true}],"props":{"priority":265},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":264,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":264},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":263,"text":"    public PlayerStats() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":263},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":262,"text":"        // Use default base values\n","references":[],"lineBreakBefore":true}],"props":{"priority":262},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":261,"text":"        RecalculateStats();\n","references":[],"lineBreakBefore":true}],"props":{"priority":261},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":260,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":260},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":259,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":259},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":258,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":258},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":257,"text":"    /// Initialize stats with custom base values (for different characters).\n","references":[],"lineBreakBefore":true}],"props":{"priority":257},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":256,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":256},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":255,"text":"    public PlayerStats(float maxHP, float damage, float speed, float attackSpeed) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":255},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":254,"text":"        baseMaxHP = maxHP;\n","references":[],"lineBreakBefore":true}],"props":{"priority":254},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":253,"text":"        baseDamage = damage;\n","references":[],"lineBreakBefore":true}],"props":{"priority":253},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":252,"text":"        baseSpeed = speed;\n","references":[],"lineBreakBefore":true}],"props":{"priority":252},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":251,"text":"        baseAttackSpeed = attackSpeed;\n","references":[],"lineBreakBefore":true}],"props":{"priority":251},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":250,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":250},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":249,"text":"        RecalculateStats();\n","references":[],"lineBreakBefore":true}],"props":{"priority":249},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":248,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":248},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":247,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":247},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":246,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":246},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":245,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":245},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":244,"text":"    // UPGRADE SYSTEM\n","references":[],"lineBreakBefore":true}],"props":{"priority":244},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":243,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":243},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":242,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":242},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":241,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":241},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":240,"text":"    /// Apply an upgrade to the player's stats.\n","references":[],"lineBreakBefore":true}],"props":{"priority":240},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":239,"text":"    /// Automatically recalculates all current stats.\n","references":[],"lineBreakBefore":true}],"props":{"priority":239},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":238,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":238},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":237,"text":"    public void ApplyUpgrade(UpgradeData upgrade) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":237},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":236,"text":"        if (upgrade == null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":236},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":235,"text":"            GameEvents.DebugLog(\"Attempted to apply null upgrade\", DebugCategory.PlayerStats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":235},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":234,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":234},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":233,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":233},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":232,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":232},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":231,"text":"        // Capture stats before upgrade for comparison\n","references":[],"lineBreakBefore":true}],"props":{"priority":231},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":230,"text":"        string beforeStats = GetStatsDebugString();\n","references":[],"lineBreakBefore":true}],"props":{"priority":230},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":229,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":229},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":228,"text":"        appliedUpgrades.Add(upgrade);\n","references":[],"lineBreakBefore":true}],"props":{"priority":228},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":227,"text":"        RecalculateStats();\n","references":[],"lineBreakBefore":true}],"props":{"priority":227},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":226,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":226},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":225,"text":"        // Log upgrade application with before/after comparison\n","references":[],"lineBreakBefore":true}],"props":{"priority":225},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":224,"text":"        GameEvents.DebugLog($\"=== UPGRADE APPLIED ===\", DebugCategory.PlayerStats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":224},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":223,"text":"        GameEvents.DebugLog($\"Upgrade: {upgrade.upgradeName} (Type: {upgrade.type})\", DebugCategory.PlayerStats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":223},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":222,"text":"        GameEvents.DebugLog($\"Modifiers: HP+{upgrade.healthBonus} ({upgrade.healthMultiplier:F2}x), DMG+{upgrade.damageBonus} ({upgrade.damageMultiplier:F2}x)\", DebugCategory.PlayerStats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":222},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":221,"text":"        GameEvents.DebugLog($\"Speed: {upgrade.speedMultiplier:F2}x, AtkSpd: {upgrade.attackSpeedMultiplier:F2}x, CDR: {upgrade.cooldownReduction:P0}\", DebugCategory.PlayerStats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":221},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":220,"text":"        GameEvents.DebugLog($\"Crit: +{upgrade.critChanceBonus:P1} chance, +{upgrade.critDamageBonus:F2}x mult, Armor+{upgrade.armorBonus}\", DebugCategory.PlayerStats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":220},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":219,"text":"        GameEvents.DebugLog($\"BEFORE: {beforeStats}\", DebugCategory.PlayerStats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":219},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":218,"text":"        GameEvents.DebugLog($\"AFTER:  {GetStatsDebugString()}\", DebugCategory.PlayerStats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":218},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":217,"text":"        GameEvents.DebugLog($\"Total upgrades applied: {appliedUpgrades.Count}\", DebugCategory.PlayerStats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":217},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":216,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":216},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":215,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":215},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":214,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":214},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":213,"text":"    /// Recalculate all current stats based on base stats + all applied upgrades.\n","references":[],"lineBreakBefore":true}],"props":{"priority":213},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":212,"text":"    /// Call this after applying upgrades or changing base stats.\n","references":[],"lineBreakBefore":true}],"props":{"priority":212},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":211,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":211},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":210,"text":"    private void RecalculateStats() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":210},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":209,"text":"        // Start with base values\n","references":[],"lineBreakBefore":true}],"props":{"priority":209},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":208,"text":"        currentMaxHP = baseMaxHP;\n","references":[],"lineBreakBefore":true}],"props":{"priority":208},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":207,"text":"        currentDamage = baseDamage;\n","references":[],"lineBreakBefore":true}],"props":{"priority":207},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":206,"text":"        currentSpeed = baseSpeed;\n","references":[],"lineBreakBefore":true}],"props":{"priority":206},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":205,"text":"        currentAttackSpeed = baseAttackSpeed;\n","references":[],"lineBreakBefore":true}],"props":{"priority":205},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":204,"text":"        currentCritChance = baseCritChance;\n","references":[],"lineBreakBefore":true}],"props":{"priority":204},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":203,"text":"        currentCritMultiplier = baseCritMultiplier;\n","references":[],"lineBreakBefore":true}],"props":{"priority":203},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":202,"text":"        currentArmor = baseArmor;\n","references":[],"lineBreakBefore":true}],"props":{"priority":202},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":201,"text":"        currentDashCooldown = 2f; // Default dash cooldown\n","references":[],"lineBreakBefore":true}],"props":{"priority":201},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":200,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":200},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":199,"text":"        // Apply all upgrades\n","references":[],"lineBreakBefore":true}],"props":{"priority":199},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":198,"text":"        foreach (UpgradeData upgrade in appliedUpgrades) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":198},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":197,"text":"            ApplyUpgradeModifiers(upgrade);\n","references":[],"lineBreakBefore":true}],"props":{"priority":197},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":196,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":196},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":195,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":195},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":194,"text":"        // Clamp values to reasonable ranges\n","references":[],"lineBreakBefore":true}],"props":{"priority":194},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":193,"text":"        currentCritChance = Mathf.Clamp01(currentCritChance); // 0-100%\n","references":[],"lineBreakBefore":true}],"props":{"priority":193},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":192,"text":"        currentSpeed = Mathf.Max(1f, currentSpeed); // Minimum speed\n","references":[],"lineBreakBefore":true}],"props":{"priority":192},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":191,"text":"        currentAttackSpeed = Mathf.Max(0.1f, currentAttackSpeed); // Minimum attack speed\n","references":[],"lineBreakBefore":true}],"props":{"priority":191},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":190,"text":"        currentDashCooldown = Mathf.Max(0.1f, currentDashCooldown); // Minimum cooldown\n","references":[],"lineBreakBefore":true}],"props":{"priority":190},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":189,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":189},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":188,"text":"        GameEvents.DebugLog($\"Stats recalculated: {GetStatsDebugString()}\", DebugCategory.PlayerStats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":188},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":187,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":187},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":186,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":186},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":185,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":185},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":184,"text":"    /// Get a compact debug string of current stats for logging.\n","references":[],"lineBreakBefore":true}],"props":{"priority":184},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":183,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":183},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":182,"text":"    private string GetStatsDebugString() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":182},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":181,"text":"        return $\"HP:{currentMaxHP:F0} DMG:{currentDamage:F1} SPD:{currentSpeed:F1} ASPD:{currentAttackSpeed:F2} CRIT:{currentCritChance:P0}/{currentCritMultiplier:F1}x ARM:{currentArmor:F0} DASH:{currentDashCooldown:F2}s\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":181},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":180,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":180},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":179,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":179},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":178,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":178},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":177,"text":"    /// Apply a single upgrade's modifiers to current stats.\n","references":[],"lineBreakBefore":true}],"props":{"priority":177},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":176,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":176},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":175,"text":"    private void ApplyUpgradeModifiers(UpgradeData upgrade) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":175},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":174,"text":"        // Additive bonuses (flat amounts)\n","references":[],"lineBreakBefore":true}],"props":{"priority":174},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":173,"text":"        currentMaxHP += upgrade.healthBonus;\n","references":[],"lineBreakBefore":true}],"props":{"priority":173},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":172,"text":"        currentDamage += upgrade.damageBonus;\n","references":[],"lineBreakBefore":true}],"props":{"priority":172},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":171,"text":"        currentArmor += upgrade.armorBonus;\n","references":[],"lineBreakBefore":true}],"props":{"priority":171},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":170,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":170},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":169,"text":"        // Multiplicative bonuses (percentages)\n","references":[],"lineBreakBefore":true}],"props":{"priority":169},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":168,"text":"        currentDamage *= upgrade.damageMultiplier;\n","references":[],"lineBreakBefore":true}],"props":{"priority":168},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":167,"text":"        currentSpeed *= upgrade.speedMultiplier;\n","references":[],"lineBreakBefore":true}],"props":{"priority":167},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":166,"text":"        currentAttackSpeed *= upgrade.attackSpeedMultiplier;\n","references":[],"lineBreakBefore":true}],"props":{"priority":166},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":165,"text":"        currentMaxHP *= upgrade.healthMultiplier;\n","references":[],"lineBreakBefore":true}],"props":{"priority":165},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":164,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":164},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":163,"text":"        // Cooldown reduction (note: reduction, not multiplier)\n","references":[],"lineBreakBefore":true}],"props":{"priority":163},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":162,"text":"        currentDashCooldown *= (1f - upgrade.cooldownReduction);\n","references":[],"lineBreakBefore":true}],"props":{"priority":162},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":161,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":161},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":160,"text":"        // Crit stats\n","references":[],"lineBreakBefore":true}],"props":{"priority":160},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":159,"text":"        currentCritChance += upgrade.critChanceBonus;\n","references":[],"lineBreakBefore":true}],"props":{"priority":159},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":158,"text":"        currentCritMultiplier += upgrade.critDamageBonus;\n","references":[],"lineBreakBefore":true}],"props":{"priority":158},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":157,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":157},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":156,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":156},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":155,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":155},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":154,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":154},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":153,"text":"    // RESET SYSTEM (For new runs)\n","references":[],"lineBreakBefore":true}],"props":{"priority":153},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":152,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":152},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":151},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":150,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":150},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":149,"text":"    /// Reset all stats to base values (use when starting new run).\n","references":[],"lineBreakBefore":true}],"props":{"priority":149},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":148,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":148},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":147,"text":"    public void ResetStats() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":147},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":146,"text":"        int previousUpgradeCount = appliedUpgrades.Count;\n","references":[],"lineBreakBefore":true}],"props":{"priority":146},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":145,"text":"        appliedUpgrades.Clear();\n","references":[],"lineBreakBefore":true}],"props":{"priority":145},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":144,"text":"        RecalculateStats();\n","references":[],"lineBreakBefore":true}],"props":{"priority":144},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":143,"text":"        GameEvents.DebugLog($\"=== STATS RESET ===\", DebugCategory.PlayerStats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":143},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":142,"text":"        GameEvents.DebugLog($\"Cleared {previousUpgradeCount} upgrades, returned to base values\", DebugCategory.PlayerStats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":142},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":141,"text":"        GameEvents.DebugLog($\"Current: {GetStatsDebugString()}\", DebugCategory.PlayerStats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":141},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":140,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":140},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":139,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":139},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":138,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":138},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":137,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":137},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"    // UTILITY METHODS\n","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"    /// Calculate final damage for an attack, including crit chance.\n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"    public float CalculateDamage() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"        float damage = currentDamage;\n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"        // Roll for crit\n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"        if (UnityEngine.Random.value < currentCritChance) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"            damage *= currentCritMultiplier;\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"            GameEvents.DebugLog($\"CRIT! Damage: {damage}\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"        return damage;\n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"    /// Calculate damage reduction from armor.\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"    /// Formula: Damage Reduction = Armor / (Armor + 100)\n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"    /// This gives diminishing returns (100 armor = 50% reduction, 200 = 66%, etc.)\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"    public float CalculateDamageReduction() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"        return currentArmor / (currentArmor + 100f);\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"    /// Apply armor damage reduction to incoming damage.\n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"    public float ApplyArmorToDamage(float incomingDamage) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"        float reduction = CalculateDamageReduction();\n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"        float finalDamage = incomingDamage * (1f - reduction);\n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"        return Mathf.Max(1f, finalDamage); // Minimum 1 damage\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"    /// Get total number of upgrades applied this run.\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"    public int GetUpgradeCount() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"        return appliedUpgrades.Count;\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"    /// Get number of upgrades of a specific type.\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"    public int GetUpgradeCountByType(UpgradeType type) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"        int count = 0;\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"        foreach (UpgradeData upgrade in appliedUpgrades) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"            if (upgrade.type == type) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"                count++;\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"        return count;\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"    /// Check if player has a specific upgrade.\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"    public bool HasUpgrade(UpgradeData upgrade) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"        return appliedUpgrades.Contains(upgrade);\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"    // DEBUG / SERIALIZATION\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"    /// Debug setters for the debug menu. Use with caution - bypasses normal stat calculation.\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"    public void DebugSetMaxHP(float value) => currentMaxHP = Mathf.Max(1f, value);\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"    public void DebugSetDamage(float value) => currentDamage = Mathf.Max(0f, value);\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"    public void DebugSetSpeed(float value) => currentSpeed = Mathf.Max(1f, value);\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"    public void DebugSetAttackSpeed(float value) => currentAttackSpeed = Mathf.Max(0.1f, value);\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"    public void DebugSetCritChance(float value) => currentCritChance = Mathf.Clamp01(value);\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"    public void DebugSetCritMultiplier(float value) => currentCritMultiplier = Mathf.Max(1f, value);\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"    public void DebugSetArmor(float value) => currentArmor = Mathf.Max(0f, value);\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"    public void DebugSetDashCooldown(float value) => currentDashCooldown = Mathf.Max(0.1f, value);\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"    /// Get a formatted string of all current stats (for debug UI).\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"    public string GetStatsString() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"        return $\"=== PLAYER STATS ===\\n\" +\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"               $\"Max HP: {currentMaxHP:F0}\\n\" +\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"               $\"Damage: {currentDamage:F1}\\n\" +\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"               $\"Speed: {currentSpeed:F1}\\n\" +\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"               $\"Attack Speed: {currentAttackSpeed:F2} attacks/sec\\n\" +\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"               $\"Crit Chance: {currentCritChance * 100f:F1}%\\n\" +\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"               $\"Crit Multiplier: {currentCritMultiplier:F1}x\\n\" +\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"               $\"Armor: {currentArmor:F0} ({CalculateDamageReduction() * 100f:F1}% reduction)\\n\" +\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"               $\"Dash Cooldown: {currentDashCooldown:F2}s\\n\" +\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"               $\"Upgrades Applied: {appliedUpgrades.Count}\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"    /// Serialize stats for saving (returns data that can be saved to JSON).\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"    public PlayerStatsData Serialize() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"        return new PlayerStatsData {\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"            appliedUpgradeIDs = appliedUpgrades.ConvertAll(u => u.upgradeID)\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"        };\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"    /// Deserialize stats from save data (rebuild stats from saved upgrade IDs).\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"    public void Deserialize(PlayerStatsData data, List<UpgradeData> allUpgrades) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"        appliedUpgrades.Clear();\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"        // Rebuild upgrades from IDs\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"        foreach (string upgradeID in data.appliedUpgradeIDs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"            UpgradeData upgrade = allUpgrades.Find(u => u.upgradeID == upgradeID);\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"            if (upgrade != null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"                appliedUpgrades.Add(upgrade);\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"        RecalculateStats();\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"// ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"// SERIALIZATION DATA CLASS\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"// ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"/// Data structure for saving/loading player stats.\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"[System.Serializable]\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"public class PlayerStatsData {\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    public List<string> appliedUpgradeIDs = new List<string>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":331,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":331},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_UNuLGFvjRPNVhlouavyJipMJ__vscode-1774363162416":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"dFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Art/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Art.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Audio/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Audio.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Data/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Data.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Materials.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Prefabs/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Prefabs.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Scenes/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Scenes.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Scripts/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Scripts.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"UI/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"UI.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_54gfgwkVQ5DYtx4gGKF9aKdR__vscode-1774363162417":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"Rwe","children":[{"type":2,"priority":9007199254740991,"text":"No files found","lineBreakBefore":false}],"props":{},"references":[]}}}]},"call_livfOw5qGp638egdU14oA8fX__vscode-1774363162418":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"Rwe","children":[{"type":2,"priority":9007199254740991,"text":"No files found","lineBreakBefore":false}],"props":{},"references":[]}}}]},"call_49ALcudiGHzMI3EOJrwq6mgT__vscode-1774363162419":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"dFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Enemies/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Enemies.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Player.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"StatusEffects/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"StatusEffects.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Upgrades/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Upgrades.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Weapons.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_RbTxookB5UdDYnHihNC7RswP__vscode-1774363162420":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"dFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Camera/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Camera.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Enemies/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Enemies.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Player/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Player.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Projectiles.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"UI.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_tLC7h5CkdytsJnbfYVUJGGqn__vscode-1774363162421":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"dFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"GameScene/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"GameScene.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"GameScene.unity","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"GameScene.unity.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"TestScene/","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"TestScene.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"TestScene.unity","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"TestScene.unity.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_567DielUsfJrtDQ6tQ5oyoq6__vscode-1774363162422":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"dFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Scorpion.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Scorpion.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_otv1JtENxOkC2Y5ZKnzhbIjs__vscode-1774363162423":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"dFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Adrenaline Surge.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Adrenaline Surge.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Attack Damage 20%.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Attack Damage 20%.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Berserker Rage.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Berserker Rage.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Chain Lightning.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Chain Lightning.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Combat Stimulants.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Combat Stimulants.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Devastating Blows.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Devastating Blows.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Efficient Systems.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Efficient Systems.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Emergency Protocols.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Emergency Protocols.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Executioner.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Executioner.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Exoskeleton.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Exoskeleton.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Explosive Finale.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Explosive Finale.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Extended Magazine.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Extended Magazine.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Glass Cannon.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Glass Cannon.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Heavy Caliber.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Heavy Caliber.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Iron Will.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Iron Will.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Juggernaut.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Juggernaut.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Life Leech.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Life Leech.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Momentum.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Momentum.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Overcharge.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Overcharge.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Precision Strike.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Precision Strike.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Quick Step.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Quick Step.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Reinforced Suit.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Reinforced Suit.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Scavenger.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Scavenger.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Second Wind.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Second Wind.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Sharpened Claws.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Sharpened Claws.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Tactical Retreat.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Tactical Retreat.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Thick Skin.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Thick Skin.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Time Dilation Field.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Time Dilation Field.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Trigger Happy.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Trigger Happy.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Venom Rounds.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Venom Rounds.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Vitality Boost.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Vitality Boost.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_BUeIGGcq0jHH0RUlNKqj5x9u__vscode-1774363162424":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"dFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Fire.asset","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Fire.asset.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Fire.prefab","references":[],"lineBreakBefore":true}],"props":{},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9007199254740991,"text":"Fire.prefab.meta","references":[],"lineBreakBefore":true}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_AawmdzvbBVtaY13AV1OxAiZ5__vscode-1774363162425":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/EnemyData.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/EnemyData.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/EnemyData.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"public enum EnemyMovementType\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"{\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"    ChaseMovement,\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"    FlyingMovement,\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"    SwarmMovement\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"public enum EnemyAttackType\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"{\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"    Contact,\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"    Ranged\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"public enum EnemyType\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"{\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"    Roach,\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"    Ant,\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"    Spider,\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"    Fly,\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"    Scorpion\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"[CreateAssetMenu(menuName = \"Exterminator/EnemyData\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"public class EnemyData : ScriptableObject {\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"    public string enemyName;\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"    public float maxHealth;\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"    public float moveSpeed;\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"    public int XPValue;\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"    public float attackDamage;\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"    public float attackCooldown = 1f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"    public GameObject prefab;\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"    public EnemyMovementType MovementType;\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"    public EnemyAttackType AttackType;\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"/*\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"Example EnemyData:\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"Health: 50\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"Speed: 3.5\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"Damage: 10\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"XP Value: 15\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"Movement Type: \"Chase\"\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"Attack Type: \"Contact\"\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"Attack Cooldown: 1.0s\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"Detection Range: 69\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"Model Prefab: RoachModel\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"*/\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_Hx4omLVtQSFeY2vQ2cy1z09V__vscode-1774363162426":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":205,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/UpgradeData.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/UpgradeData.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/UpgradeData.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":205},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":204,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":204},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":203,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":203},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":202,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":202},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":201,"text":"/// ScriptableObject that defines an upgrade's properties.\n","references":[],"lineBreakBefore":true}],"props":{"priority":201},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":200,"text":"/// Create instances in Assets/_Project/Data/Upgrades/\n","references":[],"lineBreakBefore":true}],"props":{"priority":200},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":199,"text":"/// Right-click → Create → Game → Upgrade Data\n","references":[],"lineBreakBefore":true}],"props":{"priority":199},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":198,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":198},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":197,"text":"[CreateAssetMenu(fileName = \"New Upgrade\", menuName = \"Exterminator/Upgrade Data\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":197},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":196,"text":"public class UpgradeData : ScriptableObject {\n","references":[],"lineBreakBefore":true}],"props":{"priority":196},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":195,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":195},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":194,"text":"    [Header(\"Identification\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":194},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":193,"text":"    [Tooltip(\"Unique ID for this upgrade (used for saving/loading)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":193},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":192,"text":"    public string upgradeID;\n","references":[],"lineBreakBefore":true}],"props":{"priority":192},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":191,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":191},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":190,"text":"    [Tooltip(\"Display name shown to player\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":190},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":189,"text":"    public string upgradeName;\n","references":[],"lineBreakBefore":true}],"props":{"priority":189},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":188,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":188},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":187,"text":"    [TextArea(3, 5)]\n","references":[],"lineBreakBefore":true}],"props":{"priority":187},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":186,"text":"    [Tooltip(\"Description shown in upgrade UI\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":186},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":185,"text":"    public string description;\n","references":[],"lineBreakBefore":true}],"props":{"priority":185},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":184,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":184},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":183,"text":"    [Tooltip(\"Icon shown in upgrade UI\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":183},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":182,"text":"    public Sprite icon;\n","references":[],"lineBreakBefore":true}],"props":{"priority":182},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":181,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":181},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":180,"text":"    [Header(\"Category\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":180},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":179,"text":"    [Tooltip(\"Power, Defense, or Utility (determines which pool this upgrade appears in)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":179},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":178,"text":"    public UpgradeType type;\n","references":[],"lineBreakBefore":true}],"props":{"priority":178},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":177,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":177},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":176,"text":"    [Header(\"Rarity\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":176},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":175,"text":"    [Tooltip(\"Common, Rare, or Epic (affects spawn chance)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":175},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":174,"text":"    public UpgradeRarity rarity = UpgradeRarity.Common;\n","references":[],"lineBreakBefore":true}],"props":{"priority":174},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":173,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":173},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":172,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":172},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":171,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":171},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":170,"text":"    // STAT MODIFIERS\n","references":[],"lineBreakBefore":true}],"props":{"priority":170},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":169,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":169},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":168,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":168},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":167,"text":"    [Header(\"Health Modifiers\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":167},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":166,"text":"    [Tooltip(\"Flat HP bonus (e.g., +20 HP)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":166},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":165,"text":"    public float healthBonus = 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":165},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":164,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":164},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":163,"text":"    [Tooltip(\"Multiplicative HP bonus (e.g., 1.1 = +10% max HP)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":163},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":162,"text":"    public float healthMultiplier = 1f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":162},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":161,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":161},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":160,"text":"    [Header(\"Damage Modifiers\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":160},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":159,"text":"    [Tooltip(\"Flat damage bonus (e.g., +5 damage)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":159},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":158,"text":"    public float damageBonus = 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":158},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":157,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":157},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":156,"text":"    [Tooltip(\"Multiplicative damage bonus (e.g., 1.2 = +20% damage)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":156},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":155,"text":"    public float damageMultiplier = 1f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":155},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":154,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":154},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":153,"text":"    [Tooltip(\"Crit chance increase (e.g., 0.1 = +10% crit chance)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":153},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":152,"text":"    public float critChanceBonus = 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":152},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":151},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":150,"text":"    [Tooltip(\"Crit damage multiplier increase (e.g., 0.5 = crit does +0.5x more damage)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":150},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":149,"text":"    public float critDamageBonus = 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":149},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":148,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":148},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":147,"text":"    [Header(\"Speed Modifiers\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":147},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":146,"text":"    [Tooltip(\"Multiplicative movement speed (e.g., 1.15 = +15% speed)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":146},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":145,"text":"    public float speedMultiplier = 1f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":145},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":144,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":144},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":143,"text":"    [Tooltip(\"Multiplicative attack speed (e.g., 1.2 = +20% faster attacks)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":143},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":142,"text":"    public float attackSpeedMultiplier = 1f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":142},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":141,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":141},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":140,"text":"    [Tooltip(\"Cooldown reduction (e.g., 0.2 = -20% cooldowns)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":140},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":139,"text":"    [Range(0f, 0.5f)]\n","references":[],"lineBreakBefore":true}],"props":{"priority":139},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":138,"text":"    public float cooldownReduction = 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":138},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":137,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":137},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"    [Header(\"Defense Modifiers\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"    [Tooltip(\"Flat armor bonus (e.g., +10 armor)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"    public float armorBonus = 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"    // SPECIAL EFFECTS (Phase 2+)\n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"    [Header(\"Special Effects (Optional)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"    [Tooltip(\"Does this upgrade have a special effect beyond stat changes?\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"    public bool hasSpecialEffect = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"    [Tooltip(\"ID of special effect to apply (e.g., 'lifesteal', 'pierce', 'explode_on_kill')\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"    public string specialEffectID;\n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"    [TextArea(2, 3)]\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"    [Tooltip(\"Description of special effect (for tooltip)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"    public string specialEffectDescription;\n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"    // RESTRICTIONS (Optional)\n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"    [Header(\"Restrictions (Optional)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"    [Tooltip(\"Maximum times this upgrade can be taken in one run (0 = unlimited)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"    public int maxStacks = 0;\n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"    [Tooltip(\"Upgrades that cannot be taken with this one (mutually exclusive)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"    public UpgradeData[] conflictingUpgrades;\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"    [Tooltip(\"Upgrades required before this can appear\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"    public UpgradeData[] requiredUpgrades;\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"    // UTILITY METHODS\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"    /// Get formatted tooltip text for UI display.\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"    public string GetTooltipText() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"        string tooltip = $\"<b>{upgradeName}</b>\\n\\n{description}\\n\\n\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"        // Add stat changes\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"        if (healthBonus > 0) tooltip += $\"+{healthBonus} Max HP\\n\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"        if (healthMultiplier != 1f) tooltip += $\"+{(healthMultiplier - 1f) * 100f:F0}% Max HP\\n\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"        if (damageBonus > 0) tooltip += $\"+{damageBonus} Damage\\n\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"        if (damageMultiplier != 1f) tooltip += $\"+{(damageMultiplier - 1f) * 100f:F0}% Damage\\n\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"        if (critChanceBonus > 0) tooltip += $\"+{critChanceBonus * 100f:F0}% Crit Chance\\n\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"        if (critDamageBonus > 0) tooltip += $\"+{critDamageBonus * 100f:F0}% Crit Damage\\n\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"        if (speedMultiplier != 1f) tooltip += $\"+{(speedMultiplier - 1f) * 100f:F0}% Move Speed\\n\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"        if (attackSpeedMultiplier != 1f) tooltip += $\"+{(attackSpeedMultiplier - 1f) * 100f:F0}% Attack Speed\\n\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"        if (cooldownReduction > 0) tooltip += $\"-{cooldownReduction * 100f:F0}% Cooldowns\\n\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"        if (armorBonus > 0) tooltip += $\"+{armorBonus} Armor\\n\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"        // Add special effect description\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"        if (hasSpecialEffect && !string.IsNullOrEmpty(specialEffectDescription)) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"            tooltip += $\"\\n<i>{specialEffectDescription}</i>\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"        return tooltip;\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"    /// Check if this upgrade can be taken (based on restrictions).\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"    public bool CanBeTaken(PlayerStats stats) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"        // Check max stacks\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"        if (maxStacks > 0 && stats.HasUpgrade(this)) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"            int currentStacks = 0;\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"            foreach (UpgradeData upgrade in stats.AppliedUpgrades) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"                if (upgrade == this) currentStacks++;\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"            if (currentStacks >= maxStacks) return false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"        // Check conflicting upgrades\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"        foreach (UpgradeData conflict in conflictingUpgrades) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"            if (stats.HasUpgrade(conflict)) return false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"        // Check required upgrades\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"        foreach (UpgradeData required in requiredUpgrades) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"            if (!stats.HasUpgrade(required)) return false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"        return true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"    // VALIDATION (Editor only)\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"    #if UNITY_EDITOR\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"    void OnValidate() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"        // Auto-generate ID from name if empty\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"        if (string.IsNullOrEmpty(upgradeID)) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"            upgradeID = name.ToLower().Replace(\" \", \"_\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"        // Ensure multipliers are at least 1 (or 0 for reduction)\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"        if (damageMultiplier < 0) damageMultiplier = 1f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"        if (speedMultiplier < 0) speedMultiplier = 1f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"        if (attackSpeedMultiplier < 0) attackSpeedMultiplier = 1f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"        if (healthMultiplier < 0) healthMultiplier = 1f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"    #endif\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"// ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"// ENUMS\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"// ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"/// Upgrade category (determines when/how it appears in upgrade choices).\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"public enum UpgradeType {\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"    Power,      // Damage, attack speed, crit\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"    Defense,    // HP, armor, resistances\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"    Utility     // Movement speed, cooldowns, special effects\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"/// Upgrade rarity (affects spawn chance).\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"public enum UpgradeRarity {\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"    Common,     // 70% spawn chance\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"    Rare,       // 25% spawn chance\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    Epic        // 5% spawn chance\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":205,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":205},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_f2fPPQFnoA5Uwzs7nOBoiK79__vscode-1774363162427":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/WeaponData.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/WeaponData.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/WeaponData.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"[CreateAssetMenu(menuName = \"Exterminator/WeaponData\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"public class WeaponData : ScriptableObject {\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    public string weaponName;\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_CRoaI5yPfFLCgQCtSE4o02z7__vscode-1774363162428":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":152,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/StatusEffectData.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/StatusEffectData.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/StatusEffectData.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":152},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":151},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":150,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":150},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":149,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":149},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":148,"text":"/// Types of status effects that can be applied to entities.\n","references":[],"lineBreakBefore":true}],"props":{"priority":148},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":147,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":147},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":146,"text":"public enum StatusEffectType {\n","references":[],"lineBreakBefore":true}],"props":{"priority":146},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":145,"text":"    Fire,\n","references":[],"lineBreakBefore":true}],"props":{"priority":145},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":144,"text":"    Ice,\n","references":[],"lineBreakBefore":true}],"props":{"priority":144},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":143,"text":"    Poison,\n","references":[],"lineBreakBefore":true}],"props":{"priority":143},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":142,"text":"    Shock,\n","references":[],"lineBreakBefore":true}],"props":{"priority":142},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":141,"text":"    Bleed\n","references":[],"lineBreakBefore":true}],"props":{"priority":141},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":140,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":140},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":139,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":139},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":138,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":138},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":137,"text":"/// ScriptableObject that defines a status effect's properties.\n","references":[],"lineBreakBefore":true}],"props":{"priority":137},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"/// Create instances in Assets/_Project/Data/StatusEffects/\n","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"/// Right-click → Create → Exterminator → Status Effect Data\n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"[CreateAssetMenu(fileName = \"NewStatusEffect\", menuName = \"Exterminator/Status Effect Data\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"public class StatusEffectData : ScriptableObject {\n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"    // IDENTIFICATION\n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"    [Header(\"Identification\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"    [SerializeField]\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"    [Tooltip(\"The type of status effect\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"    private StatusEffectType effectType;\n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"    [SerializeField]\n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"    [Tooltip(\"Display name for the effect\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"    private string effectName;\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"    // TIMING\n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"    [Header(\"Timing\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"    [SerializeField]\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"    [Tooltip(\"How long the effect lasts in seconds\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"    private float duration = 5f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"    [SerializeField]\n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"    [Tooltip(\"How often the effect ticks (for DoT effects)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"    private float tickInterval = 0.5f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"    [SerializeField]\n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"    [Tooltip(\"Can this effect stack multiple times?\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"    private bool canStack = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"    [SerializeField]\n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"    [Tooltip(\"Max stacks if stacking is enabled\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"    private int maxStacks = 1;\n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"    [SerializeField]\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"    [Tooltip(\"Does applying refresh the duration?\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"    private bool refreshDurationOnReapply = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"    // DAMAGE OVER TIME\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"    [Header(\"Damage Over Time\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"    [SerializeField]\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"    [Tooltip(\"Damage dealt per tick\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"    private float damagePerTick = 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"    // MODIFIERS\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"    [Header(\"Movement Modifier\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"    [SerializeField]\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"    [Tooltip(\"Multiplier for movement speed (0.5 = 50% slower, 1.0 = no change)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"    [Range(0f, 2f)]\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"    private float moveSpeedMultiplier = 1f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"    [Header(\"Damage Modifier\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"    [SerializeField]\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"    [Tooltip(\"Multiplier for damage taken while afflicted\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"    [Range(0f, 3f)]\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"    private float damageTakenMultiplier = 1f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"    // SPREAD (Fire propagation)\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"    [Header(\"Spread (Fire propagation)\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"    [SerializeField]\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"    [Tooltip(\"Can this effect spread to nearby entities?\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"    private bool canSpread = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"    [SerializeField]\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"    [Tooltip(\"Radius to check for spread targets\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"    private float spreadRadius = 2f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"    [SerializeField]\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"    [Tooltip(\"How long after initial application before spread starts\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"    private float spreadDelay = 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"    [SerializeField]\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"    [Tooltip(\"How long the spread window lasts\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"    private float spreadDuration = 8f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"    [SerializeField]\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"    [Tooltip(\"Interval between spread attempts\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"    private float spreadInterval = 1f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"    [SerializeField]\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"    [Tooltip(\"Layer mask for spread targets\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"    private LayerMask spreadTargetMask;\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"    // VISUAL/AUDIO\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"    [Header(\"Visual/Audio\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"    [SerializeField]\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"    [Tooltip(\"VFX prefab to spawn on target when effect is applied\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"    private GameObject effectPrefab;\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"    [SerializeField]\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"    [Tooltip(\"Tint color for the visual effect\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"    private Color effectTint = Color.white;\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"    // PUBLIC ACCESSORS (Read-Only)\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"    public StatusEffectType EffectType => effectType;\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"    public string EffectName => effectName;\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"    public float Duration => duration;\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"    public float TickInterval => tickInterval;\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"    public bool CanStack => canStack;\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"    public int MaxStacks => maxStacks;\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"    public bool RefreshDurationOnReapply => refreshDurationOnReapply;\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"    public float DamagePerTick => damagePerTick;\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"    public float MoveSpeedMultiplier => moveSpeedMultiplier;\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"    public float DamageTakenMultiplier => damageTakenMultiplier;\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"    public bool CanSpread => canSpread;\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"    public float SpreadRadius => spreadRadius;\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"    public float SpreadDelay => spreadDelay;\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"    public float SpreadDuration => spreadDuration;\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"    public float SpreadInterval => spreadInterval;\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"    public LayerMask SpreadTargetMask => spreadTargetMask;\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"    public GameObject EffectPrefab => effectPrefab;\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"    public Color EffectTint => effectTint;\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":152,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":152},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_RJeSleph6eG5dfMkSRljBtgF__vscode-1774363162429":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":2,"priority":9007199254740991,"text":"File: `","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"`. Lines ","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"1","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":" to ","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"360","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":" (","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"378","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":" lines total): ","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false},{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":362,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":362},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":361,"text":"using System.Collections.Generic;\n","references":[],"lineBreakBefore":true}],"props":{"priority":361},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":360,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":360},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":359,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":359},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":358,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":358},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":357,"text":"/// Manages active status effects on an entity.\n","references":[],"lineBreakBefore":true}],"props":{"priority":357},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":356,"text":"/// Attach to any entity that can receive status effects (Player, Enemies).\n","references":[],"lineBreakBefore":true}],"props":{"priority":356},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":355,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":355},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":354,"text":"[RequireComponent(typeof(Health))]\n","references":[],"lineBreakBefore":true}],"props":{"priority":354},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":353,"text":"public class StatusEffectController : MonoBehaviour {\n","references":[],"lineBreakBefore":true}],"props":{"priority":353},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":352,"text":"    [Header(\"Configuration\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":352},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":351,"text":"    [SerializeField] private StatusResistanceData resistanceData;\n","references":[],"lineBreakBefore":true}],"props":{"priority":351},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":350,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":350},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":349,"text":"    [Header(\"Debug\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":349},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":348,"text":"    [SerializeField] private bool enableDebugLogs = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":348},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":347,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":347},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":346,"text":"    private Health health;\n","references":[],"lineBreakBefore":true}],"props":{"priority":346},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":345,"text":"    private readonly Dictionary<StatusEffectType, ActiveStatusEffect> activeEffects = new Dictionary<StatusEffectType, ActiveStatusEffect>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":345},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":344,"text":"    private readonly List<StatusEffectType> effectsToRemove = new List<StatusEffectType>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":344},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":343,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":343},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":342,"text":"    // Cached component references for modifiers\n","references":[],"lineBreakBefore":true}],"props":{"priority":342},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":341,"text":"    private IMovementModifiable movementComponent;\n","references":[],"lineBreakBefore":true}],"props":{"priority":341},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":340,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":340},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":339,"text":"    // Pre-allocated for spread detection\n","references":[],"lineBreakBefore":true}],"props":{"priority":339},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":338,"text":"    private const int MAX_SPREAD_HITS = 16;\n","references":[],"lineBreakBefore":true}],"props":{"priority":338},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":337,"text":"    private Collider2D[] spreadHitBuffer = new Collider2D[MAX_SPREAD_HITS];\n","references":[],"lineBreakBefore":true}],"props":{"priority":337},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":336,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":336},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":335,"text":"    // Aggregate modifiers (recalculated when effects change)\n","references":[],"lineBreakBefore":true}],"props":{"priority":335},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":334,"text":"    public float MoveSpeedMultiplier { get; private set; } = 1f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":334},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":333,"text":"    public float DamageTakenMultiplier { get; private set; } = 1f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":333},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":332,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":332},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":331,"text":"    void Awake() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":331},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":330,"text":"        health = GetComponent<Health>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":330},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":329,"text":"        movementComponent = GetComponent<IMovementModifiable>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":329},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":328,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":328},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":327,"text":"        if (resistanceData != null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":327},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":326,"text":"            resistanceData.Initialize();\n","references":[],"lineBreakBefore":true}],"props":{"priority":326},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":325,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":325},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":324,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":324},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":323,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":323},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":322,"text":"    void Update() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":322},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":321,"text":"        // Performance optimization: Early exit if no active effects\n","references":[],"lineBreakBefore":true}],"props":{"priority":321},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":320,"text":"        // Critical for maintaining 60 FPS with 2000+ enemies\n","references":[],"lineBreakBefore":true}],"props":{"priority":320},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":319,"text":"        if (activeEffects.Count == 0) return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":319},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":318,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":318},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":317,"text":"        effectsToRemove.Clear();\n","references":[],"lineBreakBefore":true}],"props":{"priority":317},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":316,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":316},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":315,"text":"        foreach (var kvp in activeEffects) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":315},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":314,"text":"            var effect = kvp.Value;\n","references":[],"lineBreakBefore":true}],"props":{"priority":314},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":313,"text":"            effect.UpdateTick(Time.deltaTime);\n","references":[],"lineBreakBefore":true}],"props":{"priority":313},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":312,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":312},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":311,"text":"            // Handle damage ticks\n","references":[],"lineBreakBefore":true}],"props":{"priority":311},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":310,"text":"            if (effect.Data.DamagePerTick > 0 && effect.ShouldTick()) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":310},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":309,"text":"                float damage = effect.GetTotalDamagePerTick();\n","references":[],"lineBreakBefore":true}],"props":{"priority":309},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":308,"text":"                health.TakeDamage(damage, transform.position, Vector2.zero);\n","references":[],"lineBreakBefore":true}],"props":{"priority":308},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":307,"text":"                \n","references":[],"lineBreakBefore":true}],"props":{"priority":307},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":306,"text":"                if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":306},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":305,"text":"                    GameEvents.DebugLog($\"[StatusEffect] {effect.Data.EffectName} dealt {damage} damage to {gameObject.name}\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":305},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":304,"text":"                }\n","references":[],"lineBreakBefore":true}],"props":{"priority":304},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":303,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":303},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":302,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":302},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":301,"text":"            // Handle spread (fire propagation)\n","references":[],"lineBreakBefore":true}],"props":{"priority":301},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":300,"text":"            if (effect.ShouldSpread()) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":300},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":299,"text":"                TrySpreadEffect(effect);\n","references":[],"lineBreakBefore":true}],"props":{"priority":299},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":298,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":298},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":297,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":297},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":296,"text":"            // Mark expired effects for removal\n","references":[],"lineBreakBefore":true}],"props":{"priority":296},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":295,"text":"            if (effect.IsExpired) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":295},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":294,"text":"                effectsToRemove.Add(kvp.Key);\n","references":[],"lineBreakBefore":true}],"props":{"priority":294},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":293,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":293},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":292,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":292},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":291,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":291},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":290,"text":"        // Remove expired effects (do NOT call RemoveEffect, handle cleanup directly here)\n","references":[],"lineBreakBefore":true}],"props":{"priority":290},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":289,"text":"        foreach (var type in effectsToRemove) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":289},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":288,"text":"            if (activeEffects.TryGetValue(type, out var effect)) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":288},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":287,"text":"                // Clean up visual - return to pool if possible\n","references":[],"lineBreakBefore":true}],"props":{"priority":287},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":286,"text":"                if (effect.VisualInstance != null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":286},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":285,"text":"                    ReturnEffectVisual(effect.VisualInstance);\n","references":[],"lineBreakBefore":true}],"props":{"priority":285},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":284,"text":"                }\n","references":[],"lineBreakBefore":true}],"props":{"priority":284},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":283,"text":"                \n","references":[],"lineBreakBefore":true}],"props":{"priority":283},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":282,"text":"                activeEffects.Remove(type);\n","references":[],"lineBreakBefore":true}],"props":{"priority":282},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":281,"text":"                \n","references":[],"lineBreakBefore":true}],"props":{"priority":281},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":280,"text":"                // Fire event\n","references":[],"lineBreakBefore":true}],"props":{"priority":280},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":279,"text":"                GameEvents.OnStatusEffectRemoved?.Invoke(gameObject, effect.Data);\n","references":[],"lineBreakBefore":true}],"props":{"priority":279},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":278,"text":"                \n","references":[],"lineBreakBefore":true}],"props":{"priority":278},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":277,"text":"                if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":277},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":276,"text":"                    GameEvents.DebugLog($\"[StatusEffect] Removed expired {effect.Data.EffectName} from {gameObject.name}\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":276},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":275,"text":"                }\n","references":[],"lineBreakBefore":true}],"props":{"priority":275},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":274,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":274},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":273,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":273},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":272,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":272},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":271,"text":"        // Recalculate modifiers if any effects were removed\n","references":[],"lineBreakBefore":true}],"props":{"priority":271},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":270,"text":"        if (effectsToRemove.Count > 0) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":270},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":269,"text":"            RecalculateModifiers();\n","references":[],"lineBreakBefore":true}],"props":{"priority":269},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":268,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":268},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":267,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":267},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":266,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":266},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":265,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":265},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":264,"text":"    /// Apply a status effect to this entity.\n","references":[],"lineBreakBefore":true}],"props":{"priority":264},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":263,"text":"    /// Returns true if the effect was applied, false if immune or resisted.\n","references":[],"lineBreakBefore":true}],"props":{"priority":263},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":262,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":262},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":261,"text":"    public bool ApplyEffect(StatusEffectData effectData, float durationMultiplier = 1f) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":261},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":260,"text":"        if (effectData == null) return false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":260},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":259,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":259},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":258,"text":"        // Check immunity\n","references":[],"lineBreakBefore":true}],"props":{"priority":258},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":257,"text":"        if (resistanceData != null && resistanceData.IsImmune(effectData.EffectType)) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":257},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":256,"text":"            if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":256},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":255,"text":"                GameEvents.DebugLog($\"[StatusEffect] {gameObject.name} is immune to {effectData.EffectName}\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":255},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":254,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":254},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":253,"text":"            return false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":253},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":252,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":252},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":251,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":251},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":250,"text":"        // Apply resistance to duration\n","references":[],"lineBreakBefore":true}],"props":{"priority":250},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":249,"text":"        float finalDuration = effectData.Duration * durationMultiplier;\n","references":[],"lineBreakBefore":true}],"props":{"priority":249},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":248,"text":"        if (resistanceData != null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":248},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":247,"text":"            finalDuration = resistanceData.ApplyResistance(effectData.EffectType, finalDuration);\n","references":[],"lineBreakBefore":true}],"props":{"priority":247},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":246,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":246},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":245,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":245},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":244,"text":"        // Duration reduced to zero means fully resisted\n","references":[],"lineBreakBefore":true}],"props":{"priority":244},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":243,"text":"        if (finalDuration <= 0f) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":243},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":242,"text":"            if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":242},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":241,"text":"                GameEvents.DebugLog($\"[StatusEffect] {gameObject.name} fully resisted {effectData.EffectName}\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":241},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":240,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":240},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":239,"text":"            return false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":239},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":238,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":238},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":237,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":237},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":236,"text":"        // Check if effect already exists\n","references":[],"lineBreakBefore":true}],"props":{"priority":236},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":235,"text":"        if (activeEffects.TryGetValue(effectData.EffectType, out var existingEffect)) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":235},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":234,"text":"            if (effectData.CanStack && existingEffect.CurrentStacks < effectData.MaxStacks) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":234},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":233,"text":"                existingEffect.AddStack();\n","references":[],"lineBreakBefore":true}],"props":{"priority":233},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":232,"text":"                if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":232},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":231,"text":"                    GameEvents.DebugLog($\"[StatusEffect] {effectData.EffectName} stacked on {gameObject.name} (x{existingEffect.CurrentStacks})\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":231},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":230,"text":"                }\n","references":[],"lineBreakBefore":true}],"props":{"priority":230},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":229,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":229},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":228,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":228},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":227,"text":"            if (effectData.RefreshDurationOnReapply) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":227},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":226,"text":"                existingEffect.RefreshDuration();\n","references":[],"lineBreakBefore":true}],"props":{"priority":226},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":225,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":225},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":224,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":224},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":223,"text":"            RecalculateModifiers();\n","references":[],"lineBreakBefore":true}],"props":{"priority":223},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":222,"text":"            return true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":222},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":221,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":221},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":220,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":220},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":219,"text":"        // Create new effect\n","references":[],"lineBreakBefore":true}],"props":{"priority":219},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":218,"text":"        var newEffect = new ActiveStatusEffect(effectData, finalDuration);\n","references":[],"lineBreakBefore":true}],"props":{"priority":218},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":217,"text":"        activeEffects[effectData.EffectType] = newEffect;\n","references":[],"lineBreakBefore":true}],"props":{"priority":217},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":216,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":216},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":215,"text":"        // Spawn visual effect using pooling\n","references":[],"lineBreakBefore":true}],"props":{"priority":215},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":214,"text":"        if (effectData.EffectPrefab != null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":214},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":213,"text":"            SpawnEffectVisual(newEffect);\n","references":[],"lineBreakBefore":true}],"props":{"priority":213},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":212,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":212},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":211,"text":"        else if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":211},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":210,"text":"            GameEvents.DebugLog($\"[StatusEffect] No EffectPrefab assigned for {effectData.EffectName}\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":210},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":209,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":209},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":208,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":208},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":207,"text":"        RecalculateModifiers();\n","references":[],"lineBreakBefore":true}],"props":{"priority":207},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":206,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":206},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":205,"text":"        // Fire event for UI/audio\n","references":[],"lineBreakBefore":true}],"props":{"priority":205},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":204,"text":"        GameEvents.OnStatusEffectApplied?.Invoke(gameObject, effectData);\n","references":[],"lineBreakBefore":true}],"props":{"priority":204},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":203,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":203},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":202,"text":"        if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":202},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":201,"text":"            GameEvents.DebugLog($\"[StatusEffect] Applied {effectData.EffectName} to {gameObject.name} for {finalDuration}s\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":201},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":200,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":200},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":199,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":199},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":198,"text":"        return true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":198},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":197,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":197},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":196,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":196},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":195,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":195},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":194,"text":"    /// Remove a specific status effect.\n","references":[],"lineBreakBefore":true}],"props":{"priority":194},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":193,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":193},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":192,"text":"    public void RemoveEffect(StatusEffectType type) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":192},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":191,"text":"        if (activeEffects.TryGetValue(type, out var effect)) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":191},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":190,"text":"            // Clean up visual - return to pool if possible\n","references":[],"lineBreakBefore":true}],"props":{"priority":190},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":189,"text":"            if (effect.VisualInstance != null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":189},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":188,"text":"                ReturnEffectVisual(effect.VisualInstance);\n","references":[],"lineBreakBefore":true}],"props":{"priority":188},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":187,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":187},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":186,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":186},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":185,"text":"            activeEffects.Remove(type);\n","references":[],"lineBreakBefore":true}],"props":{"priority":185},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":184,"text":"            RecalculateModifiers();\n","references":[],"lineBreakBefore":true}],"props":{"priority":184},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":183,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":183},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":182,"text":"            // Fire event\n","references":[],"lineBreakBefore":true}],"props":{"priority":182},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":181,"text":"            GameEvents.OnStatusEffectRemoved?.Invoke(gameObject, effect.Data);\n","references":[],"lineBreakBefore":true}],"props":{"priority":181},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":180,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":180},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":179,"text":"            if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":179},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":178,"text":"                GameEvents.DebugLog($\"[StatusEffect] Removed {effect.Data.EffectName} from {gameObject.name}\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":178},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":177,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":177},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":176,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":176},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":175,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":175},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":174,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":174},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":173,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":173},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":172,"text":"    /// Remove all active status effects.\n","references":[],"lineBreakBefore":true}],"props":{"priority":172},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":171,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":171},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":170,"text":"    public void ClearAllEffects() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":170},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":169,"text":"        foreach (var effect in activeEffects.Values) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":169},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":168,"text":"            if (effect.VisualInstance != null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":168},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":167,"text":"                ReturnEffectVisual(effect.VisualInstance);\n","references":[],"lineBreakBefore":true}],"props":{"priority":167},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":166,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":166},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":165,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":165},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":164,"text":"        activeEffects.Clear();\n","references":[],"lineBreakBefore":true}],"props":{"priority":164},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":163,"text":"        RecalculateModifiers();\n","references":[],"lineBreakBefore":true}],"props":{"priority":163},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":162,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":162},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":161,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":161},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":160,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":160},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":159,"text":"    /// Check if entity has a specific effect type active.\n","references":[],"lineBreakBefore":true}],"props":{"priority":159},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":158,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":158},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":157,"text":"    public bool HasEffect(StatusEffectType type) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":157},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":156,"text":"        return activeEffects.ContainsKey(type);\n","references":[],"lineBreakBefore":true}],"props":{"priority":156},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":155,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":155},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":154,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":154},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":153,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":153},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":152,"text":"    /// Get the active effect of a specific type, or null if not present.\n","references":[],"lineBreakBefore":true}],"props":{"priority":152},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":151},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":150,"text":"    public ActiveStatusEffect GetEffect(StatusEffectType type) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":150},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":149,"text":"        return activeEffects.TryGetValue(type, out var effect) ? effect : null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":149},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":148,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":148},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":147,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":147},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":146,"text":"    private void TrySpreadEffect(ActiveStatusEffect effect) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":146},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":145,"text":"        if (effect.Data.SpreadTargetMask.value == 0) return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":145},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":144,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":144},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":143,"text":"        int hitCount = Physics2D.OverlapCircleNonAlloc(\n","references":[],"lineBreakBefore":true}],"props":{"priority":143},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":142,"text":"            transform.position, \n","references":[],"lineBreakBefore":true}],"props":{"priority":142},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":141,"text":"            effect.Data.SpreadRadius, \n","references":[],"lineBreakBefore":true}],"props":{"priority":141},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":140,"text":"            spreadHitBuffer, \n","references":[],"lineBreakBefore":true}],"props":{"priority":140},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":139,"text":"            effect.Data.SpreadTargetMask\n","references":[],"lineBreakBefore":true}],"props":{"priority":139},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":138,"text":"        );\n","references":[],"lineBreakBefore":true}],"props":{"priority":138},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":137,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":137},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"        for (int i = 0; i < hitCount; i++) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"            var col = spreadHitBuffer[i];\n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"            if (col == null || col.gameObject == gameObject) continue;\n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"            var targetController = col.GetComponent<StatusEffectController>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"            if (targetController != null && !targetController.HasEffect(effect.Data.EffectType)) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"                targetController.ApplyEffect(effect.Data);\n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"                \n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"                if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"                    GameEvents.DebugLog($\"[StatusEffect] {effect.Data.EffectName} spread from {gameObject.name} to {col.gameObject.name}\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"                }\n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"    private void RecalculateModifiers() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"        MoveSpeedMultiplier = 1f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"        DamageTakenMultiplier = 1f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"        foreach (var effect in activeEffects.Values) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"            MoveSpeedMultiplier *= effect.Data.MoveSpeedMultiplier;\n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"            DamageTakenMultiplier *= effect.Data.DamageTakenMultiplier;\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"        // Notify movement component of change\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"        movementComponent?.SetSpeedMultiplier(MoveSpeedMultiplier);\n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"    /// Spawn a visual effect from pool and attach it to follow this entity.\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"    private void SpawnEffectVisual(ActiveStatusEffect effect) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"        // Validate prefab reference\n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"        if (effect.Data.EffectPrefab == null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"            if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"                GameEvents.DebugLog($\"[StatusEffect] EffectPrefab is NULL for {effect.Data.EffectName}\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"        GameObject vfxInstance = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"        if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"            GameEvents.DebugLog($\"[StatusEffect] SpawnEffectVisual called for {effect.Data.EffectName} on {gameObject.name}\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"            GameEvents.DebugLog($\"[StatusEffect] EffectPrefab: {effect.Data.EffectPrefab.name}\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"        // Try to use pooling system\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"        if (PoolingSystem.Instance != null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"            if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"                GameEvents.DebugLog($\"[StatusEffect] PoolingSystem found, attempting to get VFX from pool\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"            try {\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"                vfxInstance = PoolingSystem.Instance.Get(\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"                    effect.Data.EffectPrefab,\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"                    transform.position,\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"                    Quaternion.identity\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"                );\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"                \n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"                if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"                    GameEvents.DebugLog($\"[StatusEffect] PoolingSystem.Get returned: {vfxInstance?.name ?? \"NULL\"}\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"                }\n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"            catch (System.Exception ex) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"                if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"                    GameEvents.DebugLog($\"[StatusEffect] PoolingSystem.Get failed: {ex.Message}. Falling back to Instantiate.\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"                }\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"                vfxInstance = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"        // Fallback to instantiate if pooling failed or not available\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"        if (vfxInstance == null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"            if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"                GameEvents.DebugLog($\"[StatusEffect] Using Instantiate as fallback\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"            vfxInstance = Instantiate(effect.Data.EffectPrefab, transform.position, Quaternion.identity);\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"            if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"                GameEvents.DebugLog($\"[StatusEffect] Instantiate returned: {vfxInstance?.name ?? \"NULL\"}\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"        if (vfxInstance != null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"            if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"                GameEvents.DebugLog($\"[StatusEffect] VFX instance created successfully: {vfxInstance.name}, active: {vfxInstance.activeSelf}\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"            // Set up VFX to follow this entity\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"            var vfxComponent = vfxInstance.GetComponent<StatusEffectVFX>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"            if (vfxComponent != null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"                if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"                    GameEvents.DebugLog($\"[StatusEffect] StatusEffectVFX component found, setting follow target to {gameObject.name}\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"                }\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"                vfxComponent.SetFollowTarget(transform);\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"            else {\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"                // Fallback: parent it if no VFX component\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"                if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"                    GameEvents.DebugLog($\"[StatusEffect] VFX prefab missing StatusEffectVFX component, using parent fallback\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"                }\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"                vfxInstance.transform.SetParent(transform);\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"                vfxInstance.transform.localPosition = Vector3.zero;\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"            effect.VisualInstance = vfxInstance;\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"            if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"                GameEvents.DebugLog($\"[StatusEffect] ✓ Successfully spawned and attached VFX for {effect.Data.EffectName} on {gameObject.name}\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"        else {\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"            if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"                GameEvents.DebugLog($\"[StatusEffect] ✗ FAILED to spawn VFX - vfxInstance is NULL!\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"    /// Return a visual effect to the pool.\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"    private void ReturnEffectVisual(GameObject vfxInstance) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"        if (vfxInstance == null) return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"        try {\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"            // Stop following before returning to pool\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"            var vfxComponent = vfxInstance.GetComponent<StatusEffectVFX>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"            if (vfxComponent != null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"                vfxComponent.StopFollowing();\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"            // Try to return to pool\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"            if (PoolingSystem.Instance != null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":362,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":362},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_HsyqvBQob5fZE9wmUpuk8Sy5__vscode-1774363162430":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":317,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":317},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":316,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":316},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":315,"text":"using System.Collections.Generic;\n","references":[],"lineBreakBefore":true}],"props":{"priority":315},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":314,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":314},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":313,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":313},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":312,"text":"/// High-performance object pooling system to eliminate GC allocations from Instantiate/Destroy.\n","references":[],"lineBreakBefore":true}],"props":{"priority":312},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":311,"text":"/// Use for frequently spawned objects like enemies, projectiles, VFX, etc.\n","references":[],"lineBreakBefore":true}],"props":{"priority":311},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":310,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":310},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":309,"text":"public class PoolingSystem : MonoBehaviour\n","references":[],"lineBreakBefore":true}],"props":{"priority":309},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":308,"text":"{\n","references":[],"lineBreakBefore":true}],"props":{"priority":308},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":307,"text":"    public static PoolingSystem Instance { get; private set; }\n","references":[],"lineBreakBefore":true}],"props":{"priority":307},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":306,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":306},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":305,"text":"    [System.Serializable]\n","references":[],"lineBreakBefore":true}],"props":{"priority":305},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":304,"text":"    public class PoolConfig\n","references":[],"lineBreakBefore":true}],"props":{"priority":304},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":303,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":303},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":302,"text":"        public string poolId;\n","references":[],"lineBreakBefore":true}],"props":{"priority":302},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":301,"text":"        public GameObject prefab;\n","references":[],"lineBreakBefore":true}],"props":{"priority":301},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":300,"text":"        public int initialSize = 20;\n","references":[],"lineBreakBefore":true}],"props":{"priority":300},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":299,"text":"        public bool expandable = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":299},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":298,"text":"        public int maxSize = 100;\n","references":[],"lineBreakBefore":true}],"props":{"priority":298},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":297,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":297},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":296,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":296},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":295,"text":"    [Header(\"Pool Configurations\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":295},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":294,"text":"    [SerializeField] private List<PoolConfig> poolConfigs = new List<PoolConfig>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":294},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":293,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":293},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":292,"text":"    // Dictionaries for fast lookup\n","references":[],"lineBreakBefore":true}],"props":{"priority":292},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":291,"text":"    private Dictionary<string, Queue<GameObject>> pools = new Dictionary<string, Queue<GameObject>>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":291},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":290,"text":"    private Dictionary<string, PoolConfig> configLookup = new Dictionary<string, PoolConfig>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":290},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":289,"text":"    private Dictionary<GameObject, string> activeObjectToPoolId = new Dictionary<GameObject, string>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":289},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":288,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":288},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":287,"text":"    // Pre-allocated list to avoid allocations during pool operations\n","references":[],"lineBreakBefore":true}],"props":{"priority":287},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":286,"text":"    private Transform poolContainer;\n","references":[],"lineBreakBefore":true}],"props":{"priority":286},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":285,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":285},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":284,"text":"    void Awake()\n","references":[],"lineBreakBefore":true}],"props":{"priority":284},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":283,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":283},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":282,"text":"        if (Instance != null && Instance != this)\n","references":[],"lineBreakBefore":true}],"props":{"priority":282},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":281,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":281},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":280,"text":"            Destroy(gameObject);\n","references":[],"lineBreakBefore":true}],"props":{"priority":280},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":279,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":279},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":278,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":278},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":277,"text":"        Instance = this;\n","references":[],"lineBreakBefore":true}],"props":{"priority":277},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":276,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":276},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":275,"text":"        poolContainer = new GameObject(\"PooledObjects\").transform;\n","references":[],"lineBreakBefore":true}],"props":{"priority":275},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":274,"text":"        poolContainer.SetParent(transform);\n","references":[],"lineBreakBefore":true}],"props":{"priority":274},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":273,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":273},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":272,"text":"        InitializePools();\n","references":[],"lineBreakBefore":true}],"props":{"priority":272},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":271,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":271},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":270,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":270},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":269,"text":"    void OnDestroy()\n","references":[],"lineBreakBefore":true}],"props":{"priority":269},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":268,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":268},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":267,"text":"        if (Instance == this)\n","references":[],"lineBreakBefore":true}],"props":{"priority":267},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":266,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":266},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":265,"text":"            Instance = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":265},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":264,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":264},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":263,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":263},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":262,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":262},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":261,"text":"    private void InitializePools()\n","references":[],"lineBreakBefore":true}],"props":{"priority":261},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":260,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":260},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":259,"text":"        foreach (var config in poolConfigs)\n","references":[],"lineBreakBefore":true}],"props":{"priority":259},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":258,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":258},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":257,"text":"            CreatePool(config);\n","references":[],"lineBreakBefore":true}],"props":{"priority":257},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":256,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":256},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":255,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":255},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":254,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":254},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":253,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":253},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":252,"text":"    /// Create a new pool from configuration\n","references":[],"lineBreakBefore":true}],"props":{"priority":252},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":251,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":251},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":250,"text":"    public void CreatePool(PoolConfig config)\n","references":[],"lineBreakBefore":true}],"props":{"priority":250},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":249,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":249},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":248,"text":"        if (pools.ContainsKey(config.poolId))\n","references":[],"lineBreakBefore":true}],"props":{"priority":248},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":247,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":247},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":246,"text":"            GameEvents.DebugWarning($\"Pool '{config.poolId}' already exists.\", DebugCategory.Pooling);\n","references":[],"lineBreakBefore":true}],"props":{"priority":246},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":245,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":245},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":244,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":244},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":243,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":243},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":242,"text":"        pools[config.poolId] = new Queue<GameObject>(config.initialSize);\n","references":[],"lineBreakBefore":true}],"props":{"priority":242},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":241,"text":"        configLookup[config.poolId] = config;\n","references":[],"lineBreakBefore":true}],"props":{"priority":241},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":240,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":240},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":239,"text":"        // Pre-warm the pool\n","references":[],"lineBreakBefore":true}],"props":{"priority":239},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":238,"text":"        for (int i = 0; i < config.initialSize; i++)\n","references":[],"lineBreakBefore":true}],"props":{"priority":238},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":237,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":237},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":236,"text":"            CreatePooledObject(config);\n","references":[],"lineBreakBefore":true}],"props":{"priority":236},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":235,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":235},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":234,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":234},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":233,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":233},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":232,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":232},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":231,"text":"    /// Create a pool at runtime from a prefab (auto-generates ID from prefab name)\n","references":[],"lineBreakBefore":true}],"props":{"priority":231},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":230,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":230},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":229,"text":"    public void CreatePool(GameObject prefab, int initialSize = 20, bool expandable = true, int maxSize = 100)\n","references":[],"lineBreakBefore":true}],"props":{"priority":229},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":228,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":228},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":227,"text":"        string poolId = prefab.name;\n","references":[],"lineBreakBefore":true}],"props":{"priority":227},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":226,"text":"        if (pools.ContainsKey(poolId))\n","references":[],"lineBreakBefore":true}],"props":{"priority":226},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":225,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":225},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":224,"text":"            return; // Pool already exists\n","references":[],"lineBreakBefore":true}],"props":{"priority":224},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":223,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":223},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":222,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":222},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":221,"text":"        var config = new PoolConfig\n","references":[],"lineBreakBefore":true}],"props":{"priority":221},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":220,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":220},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":219,"text":"            poolId = poolId,\n","references":[],"lineBreakBefore":true}],"props":{"priority":219},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":218,"text":"            prefab = prefab,\n","references":[],"lineBreakBefore":true}],"props":{"priority":218},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":217,"text":"            initialSize = initialSize,\n","references":[],"lineBreakBefore":true}],"props":{"priority":217},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":216,"text":"            expandable = expandable,\n","references":[],"lineBreakBefore":true}],"props":{"priority":216},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":215,"text":"            maxSize = maxSize\n","references":[],"lineBreakBefore":true}],"props":{"priority":215},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":214,"text":"        };\n","references":[],"lineBreakBefore":true}],"props":{"priority":214},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":213,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":213},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":212,"text":"        CreatePool(config);\n","references":[],"lineBreakBefore":true}],"props":{"priority":212},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":211,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":211},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":210,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":210},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":209,"text":"    private GameObject CreatePooledObject(PoolConfig config)\n","references":[],"lineBreakBefore":true}],"props":{"priority":209},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":208,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":208},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":207,"text":"        GameObject obj = Instantiate(config.prefab, poolContainer);\n","references":[],"lineBreakBefore":true}],"props":{"priority":207},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":206,"text":"        obj.SetActive(false);\n","references":[],"lineBreakBefore":true}],"props":{"priority":206},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":205,"text":"        pools[config.poolId].Enqueue(obj);\n","references":[],"lineBreakBefore":true}],"props":{"priority":205},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":204,"text":"        return obj;\n","references":[],"lineBreakBefore":true}],"props":{"priority":204},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":203,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":203},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":202,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":202},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":201,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":201},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":200,"text":"    /// Get an object from the pool. Returns null if pool doesn't exist or is empty and non-expandable.\n","references":[],"lineBreakBefore":true}],"props":{"priority":200},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":199,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":199},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":198,"text":"    public GameObject Get(string poolId, Vector3 position, Quaternion rotation)\n","references":[],"lineBreakBefore":true}],"props":{"priority":198},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":197,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":197},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":196,"text":"        if (!pools.TryGetValue(poolId, out var pool))\n","references":[],"lineBreakBefore":true}],"props":{"priority":196},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":195,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":195},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":194,"text":"            GameEvents.DebugWarning($\"Pool '{poolId}' not found. Create it first or use Instantiate.\", DebugCategory.Pooling);\n","references":[],"lineBreakBefore":true}],"props":{"priority":194},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":193,"text":"            return null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":193},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":192,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":192},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":191,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":191},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":190,"text":"        GameObject obj = null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":190},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":189,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":189},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":188,"text":"        // Try to get a valid object from the pool, skipping any destroyed ones\n","references":[],"lineBreakBefore":true}],"props":{"priority":188},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":187,"text":"        while (pool.Count > 0 && obj == null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":187},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":186,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":186},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":185,"text":"            obj = pool.Dequeue();\n","references":[],"lineBreakBefore":true}],"props":{"priority":185},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":184,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":184},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":183,"text":"            // Check if object was destroyed (can happen if prefab reference was lost)\n","references":[],"lineBreakBefore":true}],"props":{"priority":183},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":182,"text":"            if (obj == null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":182},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":181,"text":"            {\n","references":[],"lineBreakBefore":true}],"props":{"priority":181},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":180,"text":"                GameEvents.DebugWarning($\"Found destroyed object in pool '{poolId}', skipping...\", DebugCategory.Pooling);\n","references":[],"lineBreakBefore":true}],"props":{"priority":180},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":179,"text":"                continue;\n","references":[],"lineBreakBefore":true}],"props":{"priority":179},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":178,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":178},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":177,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":177},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":176,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":176},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":175,"text":"        // If no valid object found, create a new one\n","references":[],"lineBreakBefore":true}],"props":{"priority":175},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":174,"text":"        if (obj == null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":174},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":173,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":173},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":172,"text":"            var config = configLookup[poolId];\n","references":[],"lineBreakBefore":true}],"props":{"priority":172},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":171,"text":"            if (!config.expandable)\n","references":[],"lineBreakBefore":true}],"props":{"priority":171},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":170,"text":"            {\n","references":[],"lineBreakBefore":true}],"props":{"priority":170},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":169,"text":"                GameEvents.DebugWarning($\"Pool '{poolId}' is empty and not expandable.\", DebugCategory.Pooling);\n","references":[],"lineBreakBefore":true}],"props":{"priority":169},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":168,"text":"                return null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":168},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":167,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":167},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":166,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":166},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":165,"text":"            // Check max size limit\n","references":[],"lineBreakBefore":true}],"props":{"priority":165},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":164,"text":"            if (activeObjectToPoolId.Count >= config.maxSize)\n","references":[],"lineBreakBefore":true}],"props":{"priority":164},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":163,"text":"            {\n","references":[],"lineBreakBefore":true}],"props":{"priority":163},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":162,"text":"                GameEvents.DebugWarning($\"Pool '{poolId}' reached max size ({config.maxSize}).\", DebugCategory.Pooling);\n","references":[],"lineBreakBefore":true}],"props":{"priority":162},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":161,"text":"                return null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":161},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":160,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":160},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":159,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":159},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":158,"text":"            obj = Instantiate(config.prefab);\n","references":[],"lineBreakBefore":true}],"props":{"priority":158},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":157,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":157},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":156,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":156},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":155,"text":"        if (obj == null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":155},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":154,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":154},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":153,"text":"            GameEvents.DebugWarning($\"Failed to get object from pool '{poolId}' - object is null!\", DebugCategory.Pooling);\n","references":[],"lineBreakBefore":true}],"props":{"priority":153},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":152,"text":"            return null;\n","references":[],"lineBreakBefore":true}],"props":{"priority":152},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":151},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":150,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":150},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":149,"text":"        obj.transform.SetPositionAndRotation(position, rotation);\n","references":[],"lineBreakBefore":true}],"props":{"priority":149},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":148,"text":"        obj.transform.SetParent(null);\n","references":[],"lineBreakBefore":true}],"props":{"priority":148},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":147,"text":"        obj.SetActive(true);\n","references":[],"lineBreakBefore":true}],"props":{"priority":147},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":146,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":146},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":145,"text":"        activeObjectToPoolId[obj] = poolId;\n","references":[],"lineBreakBefore":true}],"props":{"priority":145},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":144,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":144},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":143,"text":"        // Notify the object it was spawned from pool\n","references":[],"lineBreakBefore":true}],"props":{"priority":143},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":142,"text":"        var poolable = obj.GetComponent<IPoolable>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":142},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":141,"text":"        poolable?.OnSpawnFromPool();\n","references":[],"lineBreakBefore":true}],"props":{"priority":141},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":140,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":140},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":139,"text":"        return obj;\n","references":[],"lineBreakBefore":true}],"props":{"priority":139},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":138,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":138},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":137,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":137},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"    /// Get an object from the pool using Vector2 position (for 2D games)\n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"    public GameObject Get(string poolId, Vector2 position, Quaternion rotation)\n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"        return Get(poolId, new Vector3(position.x, position.y, 0f), rotation);\n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"    /// Get an object from pool using prefab name as ID\n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"    public GameObject Get(GameObject prefab, Vector3 position, Quaternion rotation)\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"        string poolId = prefab.name;\n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"        // Auto-create pool if it doesn't exist\n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"        if (!pools.ContainsKey(poolId))\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"            CreatePool(prefab);\n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"        return Get(poolId, position, rotation);\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"    /// Get an object from pool using prefab name as ID and Vector2 position (for 2D games)\n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"    public GameObject Get(GameObject prefab, Vector2 position, Quaternion rotation)\n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"        return Get(prefab, new Vector3(position.x, position.y, 0f), rotation);\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"    /// Return an object to its pool. Much faster than Destroy().\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"    public void Return(GameObject obj)\n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"        if (obj == null) return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"        if (!activeObjectToPoolId.TryGetValue(obj, out string poolId))\n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"            // Object wasn't from a pool, destroy it normally\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"            Destroy(obj);\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"        // Notify the object it's being returned\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"        var poolable = obj.GetComponent<IPoolable>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"        poolable?.OnReturnToPool();\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"        activeObjectToPoolId.Remove(obj);\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"        obj.SetActive(false);\n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"        obj.transform.SetParent(poolContainer);\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"        if (pools.TryGetValue(poolId, out var pool))\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"            pool.Enqueue(obj);\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"        else\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"            // Pool was destroyed, destroy the object\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"            Destroy(obj);\n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"    /// Return all active objects to their pools\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"    public void ReturnAll()\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"        // Copy keys to avoid modification during iteration\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"        var activeObjects = new List<GameObject>(activeObjectToPoolId.Keys);\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"        foreach (var obj in activeObjects)\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"            Return(obj);\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"    /// Return all active objects of a specific pool\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"    public void ReturnAll(string poolId)\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"        var toReturn = new List<GameObject>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"        foreach (var kvp in activeObjectToPoolId)\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"            if (kvp.Value == poolId)\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"            {\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"                toReturn.Add(kvp.Key);\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"        foreach (var obj in toReturn)\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"            Return(obj);\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"    /// Get stats for debugging\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"    public (int available, int active) GetPoolStats(string poolId)\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"        if (!pools.TryGetValue(poolId, out var pool))\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"            return (0, 0);\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"        int active = 0;\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"        foreach (var kvp in activeObjectToPoolId)\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"            if (kvp.Value == poolId) active++;\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"        return (pool.Count, active);\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"    /// Check if a pool exists\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"    public bool HasPool(string poolId) => pools.ContainsKey(poolId);\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"/// Interface for pooled objects to receive spawn/return callbacks\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"public interface IPoolable\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"{\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"    /// <summary>Called when object is retrieved from pool and activated</summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"    void OnSpawnFromPool();\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"    /// <summary>Called when object is being returned to pool</summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    void OnReturnToPool();\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":317,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":317},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_OKJBtEqI8RzTQE717nbSpjyP__vscode-1774363162431":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"                PoolingSystem.Instance.Return(vfxInstance);\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"            else {\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"                // Fallback to destroy if no pooling system\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"                Destroy(vfxInstance);\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"        catch (System.Exception ex) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"            if (enableDebugLogs) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"                GameEvents.DebugLog($\"[StatusEffect] Error returning VFX to pool: {ex.Message}\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"    void OnDisable() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"        ClearAllEffects();\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_PQQk6pTA6EEKsswpSDUdP5ta__vscode-1774363162432":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"using UnityEngine.UI;\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"using TMPro;\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"public class HealthBarUI : MonoBehaviour {\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"    [Header(\"References\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"    [SerializeField] private Image fillImage;\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"    [SerializeField] private TextMeshProUGUI healthText; // Optional\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"    void OnEnable() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"        GameEvents.OnHealthChanged += UpdateHealthBar;\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"    void OnDisable() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"        GameEvents.OnHealthChanged -= UpdateHealthBar;\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"    void Start() {\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"        // Initialize with current values\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"        if (PlayerController.Instance != null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"            Health playerHealth;\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"            PlayerController.Instance.GetHealth(out playerHealth);   \n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"            UpdateHealthBar(playerHealth.CurrentHP, playerHealth.MaxHP);\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"    private void UpdateHealthBar(float currentHP, float maxHP) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"        if (fillImage != null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"            float fillAmount = (float)currentHP / maxHP;\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"            fillImage.fillAmount = fillAmount;\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"        if (healthText != null) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"            healthText.text = $\"{currentHP} / {maxHP}\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_H9JZZU8laVAbJ6tMvBQHFKcI__vscode-1774363162433":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":305,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":305},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":304,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":304},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":303,"text":"using UnityEngine.UIElements;\n","references":[],"lineBreakBefore":true}],"props":{"priority":303},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":302,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":302},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":301,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":301},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":300,"text":"/// Controls the main gameplay HUD using UI Toolkit.\n","references":[],"lineBreakBefore":true}],"props":{"priority":300},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":299,"text":"/// Subscribes to GameEvents to update health, XP, level, etc.\n","references":[],"lineBreakBefore":true}],"props":{"priority":299},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":298,"text":"/// Theme: Industrial \"Company Safety Manual\" style.\n","references":[],"lineBreakBefore":true}],"props":{"priority":298},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":297,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":297},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":296,"text":"[RequireComponent(typeof(UIDocument))]\n","references":[],"lineBreakBefore":true}],"props":{"priority":296},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":295,"text":"public class GameplayHUDController : MonoBehaviour\n","references":[],"lineBreakBefore":true}],"props":{"priority":295},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":294,"text":"{\n","references":[],"lineBreakBefore":true}],"props":{"priority":294},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":293,"text":"    [Header(\"References\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":293},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":292,"text":"    [SerializeField] private UIDocument uiDocument;\n","references":[],"lineBreakBefore":true}],"props":{"priority":292},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":291,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":291},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":290,"text":"    [Header(\"Settings\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":290},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":289,"text":"    [SerializeField] private float lowHealthThreshold = 0.3f; // 30% HP = low health warning\n","references":[],"lineBreakBefore":true}],"props":{"priority":289},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":288,"text":"    [SerializeField] private float notificationDuration = 2f; // How long notifications stay visible\n","references":[],"lineBreakBefore":true}],"props":{"priority":288},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":287,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":287},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":286,"text":"    // UI Element References\n","references":[],"lineBreakBefore":true}],"props":{"priority":286},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":285,"text":"    private VisualElement root;\n","references":[],"lineBreakBefore":true}],"props":{"priority":285},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":284,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":284},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":283,"text":"    // Health Bar\n","references":[],"lineBreakBefore":true}],"props":{"priority":283},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":282,"text":"    private VisualElement healthBarFill;\n","references":[],"lineBreakBefore":true}],"props":{"priority":282},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":281,"text":"    private Label healthText;\n","references":[],"lineBreakBefore":true}],"props":{"priority":281},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":280,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":280},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":279,"text":"    // XP Bar\n","references":[],"lineBreakBefore":true}],"props":{"priority":279},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":278,"text":"    private VisualElement xpBarFill;\n","references":[],"lineBreakBefore":true}],"props":{"priority":278},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":277,"text":"    private Label xpText;\n","references":[],"lineBreakBefore":true}],"props":{"priority":277},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":276,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":276},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":275,"text":"    // Level Display\n","references":[],"lineBreakBefore":true}],"props":{"priority":275},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":274,"text":"    private Label levelValue;\n","references":[],"lineBreakBefore":true}],"props":{"priority":274},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":273,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":273},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":272,"text":"    // Room Info\n","references":[],"lineBreakBefore":true}],"props":{"priority":272},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":271,"text":"    private Label roomValue;\n","references":[],"lineBreakBefore":true}],"props":{"priority":271},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":270,"text":"    private Label enemiesValue;\n","references":[],"lineBreakBefore":true}],"props":{"priority":270},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":269,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":269},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":268,"text":"    // Notification\n","references":[],"lineBreakBefore":true}],"props":{"priority":268},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":267,"text":"    private VisualElement notificationPanel;\n","references":[],"lineBreakBefore":true}],"props":{"priority":267},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":266,"text":"    private Label notificationText;\n","references":[],"lineBreakBefore":true}],"props":{"priority":266},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":265,"text":"    private float notificationTimer = 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":265},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":264,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":264},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":263,"text":"    // Cached Values\n","references":[],"lineBreakBefore":true}],"props":{"priority":263},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":262,"text":"    private float currentHealth = 100f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":262},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":261,"text":"    private float maxHealth = 100f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":261},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":260,"text":"    private int currentXP = 0;\n","references":[],"lineBreakBefore":true}],"props":{"priority":260},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":259,"text":"    private int requiredXP = 100;\n","references":[],"lineBreakBefore":true}],"props":{"priority":259},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":258,"text":"    private int currentLevel = 1;\n","references":[],"lineBreakBefore":true}],"props":{"priority":258},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":257,"text":"    private int currentRoom = 1;\n","references":[],"lineBreakBefore":true}],"props":{"priority":257},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":256,"text":"    private int enemiesRemaining = 0;\n","references":[],"lineBreakBefore":true}],"props":{"priority":256},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":255,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":255},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":254,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":254},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":253,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":253},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":252,"text":"    // INITIALIZATION\n","references":[],"lineBreakBefore":true}],"props":{"priority":252},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":251,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":251},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":250,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":250},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":249,"text":"    void Awake()\n","references":[],"lineBreakBefore":true}],"props":{"priority":249},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":248,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":248},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":247,"text":"        // Auto-assign if not set\n","references":[],"lineBreakBefore":true}],"props":{"priority":247},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":246,"text":"        if (uiDocument == null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":246},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":245,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":245},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":244,"text":"            uiDocument = GetComponent<UIDocument>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":244},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":243,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":243},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":242,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":242},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":241,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":241},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":240,"text":"    void OnEnable()\n","references":[],"lineBreakBefore":true}],"props":{"priority":240},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":239,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":239},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":238,"text":"        // Wait one frame for UI to be fully initialized\n","references":[],"lineBreakBefore":true}],"props":{"priority":238},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":237,"text":"        Invoke(nameof(InitializeUI), 0.1f);\n","references":[],"lineBreakBefore":true}],"props":{"priority":237},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":236,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":236},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":235,"text":"        // Subscribe to events\n","references":[],"lineBreakBefore":true}],"props":{"priority":235},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":234,"text":"        GameEvents.OnHealthChanged += UpdateHealth;\n","references":[],"lineBreakBefore":true}],"props":{"priority":234},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":233,"text":"        GameEvents.OnXPChanged += UpdateXP;\n","references":[],"lineBreakBefore":true}],"props":{"priority":233},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":232,"text":"        GameEvents.OnLevelUp += UpdateLevel;\n","references":[],"lineBreakBefore":true}],"props":{"priority":232},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":231,"text":"        GameEvents.OnRoomEntered += UpdateRoom;\n","references":[],"lineBreakBefore":true}],"props":{"priority":231},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":230,"text":"        GameEvents.OnRoomCleared += OnRoomCleared;\n","references":[],"lineBreakBefore":true}],"props":{"priority":230},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":229,"text":"        GameEvents.OnEnemyKilled += OnEnemyKilled;\n","references":[],"lineBreakBefore":true}],"props":{"priority":229},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":228,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":228},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":227,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":227},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":226,"text":"    void OnDisable()\n","references":[],"lineBreakBefore":true}],"props":{"priority":226},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":225,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":225},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":224,"text":"        // Unsubscribe from events\n","references":[],"lineBreakBefore":true}],"props":{"priority":224},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":223,"text":"        GameEvents.OnHealthChanged -= UpdateHealth;\n","references":[],"lineBreakBefore":true}],"props":{"priority":223},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":222,"text":"        GameEvents.OnXPChanged -= UpdateXP;\n","references":[],"lineBreakBefore":true}],"props":{"priority":222},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":221,"text":"        GameEvents.OnLevelUp -= UpdateLevel;\n","references":[],"lineBreakBefore":true}],"props":{"priority":221},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":220,"text":"        GameEvents.OnRoomEntered -= UpdateRoom;\n","references":[],"lineBreakBefore":true}],"props":{"priority":220},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":219,"text":"        GameEvents.OnRoomCleared -= OnRoomCleared;\n","references":[],"lineBreakBefore":true}],"props":{"priority":219},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":218,"text":"        GameEvents.OnEnemyKilled -= OnEnemyKilled;\n","references":[],"lineBreakBefore":true}],"props":{"priority":218},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":217,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":217},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":216,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":216},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":215,"text":"    void InitializeUI()\n","references":[],"lineBreakBefore":true}],"props":{"priority":215},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":214,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":214},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":213,"text":"        if (uiDocument == null || uiDocument.rootVisualElement == null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":213},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":212,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":212},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":211,"text":"            GameEvents.DebugLog(\"GameplayHUDController: UIDocument or root element is null!\", DebugCategory.UI);\n","references":[],"lineBreakBefore":true}],"props":{"priority":211},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":210,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":210},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":209,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":209},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":208,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":208},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":207,"text":"        root = uiDocument.rootVisualElement;\n","references":[],"lineBreakBefore":true}],"props":{"priority":207},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":206,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":206},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":205,"text":"        // Get references to UI elements\n","references":[],"lineBreakBefore":true}],"props":{"priority":205},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":204,"text":"        healthBarFill = root.Q<VisualElement>(\"health-bar-fill\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":204},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":203,"text":"        healthText = root.Q<Label>(\"health-text\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":203},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":202,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":202},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":201,"text":"        xpBarFill = root.Q<VisualElement>(\"xp-bar-fill\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":201},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":200,"text":"        xpText = root.Q<Label>(\"xp-text\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":200},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":199,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":199},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":198,"text":"        levelValue = root.Q<Label>(\"level-value\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":198},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":197,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":197},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":196,"text":"        roomValue = root.Q<Label>(\"room-value\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":196},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":195,"text":"        enemiesValue = root.Q<Label>(\"enemies-value\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":195},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":194,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":194},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":193,"text":"        notificationPanel = root.Q<VisualElement>(\"notification-panel\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":193},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":192,"text":"        notificationText = root.Q<Label>(\"notification-text\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":192},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":191,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":191},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":190,"text":"        // Validate all elements exist\n","references":[],"lineBreakBefore":true}],"props":{"priority":190},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":189,"text":"        if (healthBarFill == null || healthText == null || xpBarFill == null || \n","references":[],"lineBreakBefore":true}],"props":{"priority":189},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":188,"text":"            xpText == null || levelValue == null || roomValue == null || \n","references":[],"lineBreakBefore":true}],"props":{"priority":188},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":187,"text":"            enemiesValue == null || notificationPanel == null || notificationText == null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":187},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":186,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":186},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":185,"text":"            GameEvents.DebugError(\"GameplayHUDController: Failed to find one or more UI elements!\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":185},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":184,"text":"            return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":184},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":183,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":183},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":182,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":182},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":181,"text":"        // Initialize with default values\n","references":[],"lineBreakBefore":true}],"props":{"priority":181},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":180,"text":"        UpdateHealthBar();\n","references":[],"lineBreakBefore":true}],"props":{"priority":180},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":179,"text":"        UpdateXPBar();\n","references":[],"lineBreakBefore":true}],"props":{"priority":179},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":178,"text":"        UpdateLevelDisplay();\n","references":[],"lineBreakBefore":true}],"props":{"priority":178},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":177,"text":"        UpdateRoomDisplay();\n","references":[],"lineBreakBefore":true}],"props":{"priority":177},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":176,"text":"        UpdateEnemiesDisplay();\n","references":[],"lineBreakBefore":true}],"props":{"priority":176},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":175,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":175},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":174,"text":"        GameEvents.DebugLog(\"GameplayHUDController: UI initialized successfully.\", DebugCategory.UI);\n","references":[],"lineBreakBefore":true}],"props":{"priority":174},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":173,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":173},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":172,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":172},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":171,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":171},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":170,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":170},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":169,"text":"    // EVENT HANDLERS\n","references":[],"lineBreakBefore":true}],"props":{"priority":169},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":168,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":168},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":167,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":167},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":166,"text":"    private void UpdateHealth(float current, float max)\n","references":[],"lineBreakBefore":true}],"props":{"priority":166},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":165,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":165},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":164,"text":"        currentHealth = current;\n","references":[],"lineBreakBefore":true}],"props":{"priority":164},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":163,"text":"        maxHealth = max;\n","references":[],"lineBreakBefore":true}],"props":{"priority":163},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":162,"text":"        UpdateHealthBar();\n","references":[],"lineBreakBefore":true}],"props":{"priority":162},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":161,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":161},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":160,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":160},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":159,"text":"    private void UpdateXP(int current, int required)\n","references":[],"lineBreakBefore":true}],"props":{"priority":159},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":158,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":158},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":157,"text":"        currentXP = current;\n","references":[],"lineBreakBefore":true}],"props":{"priority":157},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":156,"text":"        requiredXP = required;\n","references":[],"lineBreakBefore":true}],"props":{"priority":156},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":155,"text":"        UpdateXPBar();\n","references":[],"lineBreakBefore":true}],"props":{"priority":155},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":154,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":154},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":153,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":153},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":152,"text":"    private void UpdateLevel(int newLevel)\n","references":[],"lineBreakBefore":true}],"props":{"priority":152},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":151},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":150,"text":"        currentLevel = newLevel;\n","references":[],"lineBreakBefore":true}],"props":{"priority":150},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":149,"text":"        UpdateLevelDisplay();\n","references":[],"lineBreakBefore":true}],"props":{"priority":149},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":148,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":148},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":147,"text":"        // Show level up notification\n","references":[],"lineBreakBefore":true}],"props":{"priority":147},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":146,"text":"        ShowNotification($\"CLEARANCE LEVEL {newLevel}\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":146},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":145,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":145},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":144,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":144},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":143,"text":"    private void UpdateRoom(int roomIndex)\n","references":[],"lineBreakBefore":true}],"props":{"priority":143},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":142,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":142},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":141,"text":"        currentRoom = roomIndex + 1; // Convert 0-based to 1-based\n","references":[],"lineBreakBefore":true}],"props":{"priority":141},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":140,"text":"        UpdateRoomDisplay();\n","references":[],"lineBreakBefore":true}],"props":{"priority":140},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":139,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":139},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":138,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":138},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":137,"text":"    private void OnRoomCleared(int roomIndex)\n","references":[],"lineBreakBefore":true}],"props":{"priority":137},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"        ShowNotification(\"SECTOR CLEARED\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"    private void OnEnemyKilled(Enemy enemy)\n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"        // Decrement enemy counter\n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"        if (enemiesRemaining > 0)\n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"            enemiesRemaining--;\n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"            UpdateEnemiesDisplay();\n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"    // UI UPDATE METHODS\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"    private void UpdateHealthBar()\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"        if (healthBarFill == null || healthText == null) return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"        // Calculate percentage\n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"        float healthPercent = maxHealth > 0 ? currentHealth / maxHealth : 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"        healthPercent = Mathf.Clamp01(healthPercent);\n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"        // Update bar width\n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"        healthBarFill.style.width = Length.Percent(healthPercent * 100f);\n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"        // Update text\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"        healthText.text = $\"{Mathf.CeilToInt(currentHealth)} / {Mathf.CeilToInt(maxHealth)}\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"        // Apply low health warning style\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"        if (healthPercent <= lowHealthThreshold)\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"            healthBarFill.AddToClassList(\"low-health\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"        else\n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"            healthBarFill.RemoveFromClassList(\"low-health\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"    private void UpdateXPBar()\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"        if (xpBarFill == null || xpText == null) return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"        // Calculate percentage\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"        float xpPercent = requiredXP > 0 ? (float)currentXP / requiredXP : 0f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"        xpPercent = Mathf.Clamp01(xpPercent);\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"        // Update bar width\n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"        xpBarFill.style.width = Length.Percent(xpPercent * 100f);\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"        // Update text\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"        xpText.text = $\"{currentXP} / {requiredXP}\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"    private void UpdateLevelDisplay()\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"        if (levelValue == null) return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"        levelValue.text = currentLevel.ToString();\n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"    private void UpdateRoomDisplay()\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"        if (roomValue == null) return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"        roomValue.text = $\"{currentRoom} / 25\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"    private void UpdateEnemiesDisplay()\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"        if (enemiesValue == null) return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"        enemiesValue.text = enemiesRemaining.ToString();\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"    // NOTIFICATION SYSTEM\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"    /// Show a notification in the center of the screen.\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"    public void ShowNotification(string message)\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"        if (notificationPanel == null || notificationText == null) return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"        notificationText.text = message;\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"        notificationPanel.AddToClassList(\"visible\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"        notificationTimer = notificationDuration;\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"    void Update()\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"        // Handle notification timer\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"        if (notificationTimer > 0f)\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"            notificationTimer -= Time.deltaTime;\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"            if (notificationTimer <= 0f && notificationPanel != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"            {\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"                notificationPanel.RemoveFromClassList(\"visible\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"    // PUBLIC API (For manual updates)\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"    // ========================================\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"    /// Manually set the enemy count (useful for wave spawners).\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"    public void SetEnemyCount(int count)\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"        enemiesRemaining = count;\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"        UpdateEnemiesDisplay();\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"    /// Force refresh all UI elements with current cached values.\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"    public void RefreshAll()\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"        UpdateHealthBar();\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"        UpdateXPBar();\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"        UpdateLevelDisplay();\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"        UpdateRoomDisplay();\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"        UpdateEnemiesDisplay();\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":305,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":305},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_7Mqpfb3fyy2RtZdSwRnU1Pjo__vscode-1774363162434":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"public class UpgradeUI : MonoBehaviour {\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    // Upgrade selection UI\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_mQmguviTU18qAYdcI8H7NBVY__vscode-1774363162435":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/AudioManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/AudioManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/AudioManager.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"public class AudioManager : MonoBehaviour {\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    // Audio playback helper\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_tNLbjofvk3VpWNJYDSwQVw2n__vscode-1774363162436":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":227,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DebugManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/DebugManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DebugManager.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":227},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":226,"text":"using System;\n","references":[],"lineBreakBefore":true}],"props":{"priority":226},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":225,"text":"using System.Collections.Generic;\n","references":[],"lineBreakBefore":true}],"props":{"priority":225},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":224,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":224},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":223,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":223},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":222,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":222},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":221,"text":"/// Centralized debug logging manager with category-based filtering.\n","references":[],"lineBreakBefore":true}],"props":{"priority":221},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":220,"text":"/// Provides granular control over what types of debug messages are shown.\n","references":[],"lineBreakBefore":true}],"props":{"priority":220},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":219,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":219},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":218,"text":"public class DebugManager : MonoBehaviour\n","references":[],"lineBreakBefore":true}],"props":{"priority":218},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":217,"text":"{\n","references":[],"lineBreakBefore":true}],"props":{"priority":217},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":216,"text":"    public static DebugManager Instance { get; private set; }\n","references":[],"lineBreakBefore":true}],"props":{"priority":216},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":215,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":215},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":214,"text":"    [Header(\"Master Debug Toggle\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":214},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":213,"text":"    [SerializeField] private bool masterDebugEnabled = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":213},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":212,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":212},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":211,"text":"    [Header(\"Debug Categories\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":211},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":210,"text":"    [SerializeField] private bool logCombat = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":210},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":209,"text":"    [SerializeField] private bool logPlayerStats = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":209},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":208,"text":"    [SerializeField] private bool logEnemyAI = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":208},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":207,"text":"    [SerializeField] private bool logUpgrades = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":207},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":206,"text":"    [SerializeField] private bool logXPAndLeveling = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":206},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":205,"text":"    [SerializeField] private bool logRooms = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":205},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":204,"text":"    [SerializeField] private bool logAudio = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":204},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":203,"text":"    [SerializeField] private bool logUI = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":203},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":202,"text":"    [SerializeField] private bool logInput = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":202},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":201,"text":"    [SerializeField] private bool logPerformance = false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":201},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":200,"text":"    [SerializeField] private bool logGeneral = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":200},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":199,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":199},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":198,"text":"    // Specific script-level toggles (granular filtering)\n","references":[],"lineBreakBefore":true}],"props":{"priority":198},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":197,"text":"    [Header(\"Script-Level Debug Toggles (Specific) \")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":197},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":196,"text":"    [SerializeField] private bool logFlamethrowerAttack = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":196},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":195,"text":"    [SerializeField] private bool logStatusEffectController = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":195},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":194,"text":"    [SerializeField] private bool logActiveStatusEffect = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":194},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":193,"text":"    [SerializeField] private bool logHealth = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":193},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":192,"text":"    [SerializeField] private bool logEnemy = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":192},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":191,"text":"    [SerializeField] private bool logPlayer = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":191},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":190,"text":"    [SerializeField] private bool logGameEvents = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":190},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":189,"text":"    [SerializeField] private bool logPooling = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":189},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":188,"text":"    [SerializeField] private bool logSpawnManager = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":188},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":187,"text":"    [SerializeField] private bool logUpgradeManager = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":187},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":186,"text":"    [SerializeField] private bool logAudioManager = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":186},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":185,"text":"    [SerializeField] private bool logUIManager = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":185},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":184,"text":"    [SerializeField] private bool logInputManager = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":184},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":183,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":183},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":182,"text":"    private Dictionary<DebugCategory, bool> categoryStates;\n","references":[],"lineBreakBefore":true}],"props":{"priority":182},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":181,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":181},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":180,"text":"    void Awake()\n","references":[],"lineBreakBefore":true}],"props":{"priority":180},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":179,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":179},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":178,"text":"        // Singleton setup\n","references":[],"lineBreakBefore":true}],"props":{"priority":178},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":177,"text":"        if (Instance == null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":177},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":176,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":176},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":175,"text":"            Instance = this;\n","references":[],"lineBreakBefore":true}],"props":{"priority":175},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":174,"text":"            DontDestroyOnLoad(gameObject);\n","references":[],"lineBreakBefore":true}],"props":{"priority":174},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":173,"text":"            InitializeCategoryStates();\n","references":[],"lineBreakBefore":true}],"props":{"priority":173},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":172,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":172},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":171,"text":"        else\n","references":[],"lineBreakBefore":true}],"props":{"priority":171},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":170,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":170},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":169,"text":"            Destroy(gameObject);\n","references":[],"lineBreakBefore":true}],"props":{"priority":169},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":168,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":168},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":167,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":167},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":166,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":166},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":165,"text":"    void InitializeCategoryStates()\n","references":[],"lineBreakBefore":true}],"props":{"priority":165},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":164,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":164},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":163,"text":"        categoryStates = new Dictionary<DebugCategory, bool>\n","references":[],"lineBreakBefore":true}],"props":{"priority":163},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":162,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":162},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":161,"text":"            { DebugCategory.Combat, logCombat },\n","references":[],"lineBreakBefore":true}],"props":{"priority":161},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":160,"text":"            { DebugCategory.PlayerStats, logPlayerStats },\n","references":[],"lineBreakBefore":true}],"props":{"priority":160},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":159,"text":"            { DebugCategory.EnemyAI, logEnemyAI },\n","references":[],"lineBreakBefore":true}],"props":{"priority":159},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":158,"text":"            { DebugCategory.Upgrades, logUpgrades },\n","references":[],"lineBreakBefore":true}],"props":{"priority":158},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":157,"text":"            { DebugCategory.XPAndLeveling, logXPAndLeveling },\n","references":[],"lineBreakBefore":true}],"props":{"priority":157},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":156,"text":"            { DebugCategory.Rooms, logRooms },\n","references":[],"lineBreakBefore":true}],"props":{"priority":156},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":155,"text":"            { DebugCategory.Audio, logAudio },\n","references":[],"lineBreakBefore":true}],"props":{"priority":155},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":154,"text":"            { DebugCategory.UI, logUI },\n","references":[],"lineBreakBefore":true}],"props":{"priority":154},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":153,"text":"            { DebugCategory.Input, logInput },\n","references":[],"lineBreakBefore":true}],"props":{"priority":153},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":152,"text":"            { DebugCategory.Performance, logPerformance },\n","references":[],"lineBreakBefore":true}],"props":{"priority":152},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"            { DebugCategory.General, logGeneral },\n","references":[],"lineBreakBefore":true}],"props":{"priority":151},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":150,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":150},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":149,"text":"            // Specific script categories\n","references":[],"lineBreakBefore":true}],"props":{"priority":149},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":148,"text":"            { DebugCategory.FlamethrowerAttack, logFlamethrowerAttack },\n","references":[],"lineBreakBefore":true}],"props":{"priority":148},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":147,"text":"            { DebugCategory.StatusEffectController, logStatusEffectController },\n","references":[],"lineBreakBefore":true}],"props":{"priority":147},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":146,"text":"            { DebugCategory.ActiveStatusEffect, logActiveStatusEffect },\n","references":[],"lineBreakBefore":true}],"props":{"priority":146},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":145,"text":"            { DebugCategory.Health, logHealth },\n","references":[],"lineBreakBefore":true}],"props":{"priority":145},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":144,"text":"            { DebugCategory.Enemy, logEnemy },\n","references":[],"lineBreakBefore":true}],"props":{"priority":144},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":143,"text":"            { DebugCategory.Player, logPlayer },\n","references":[],"lineBreakBefore":true}],"props":{"priority":143},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":142,"text":"            { DebugCategory.GameEvents, logGameEvents },\n","references":[],"lineBreakBefore":true}],"props":{"priority":142},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":141,"text":"            { DebugCategory.Pooling, logPooling },\n","references":[],"lineBreakBefore":true}],"props":{"priority":141},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":140,"text":"            { DebugCategory.SpawnManager, logSpawnManager },\n","references":[],"lineBreakBefore":true}],"props":{"priority":140},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":139,"text":"            { DebugCategory.UpgradeManager, logUpgradeManager },\n","references":[],"lineBreakBefore":true}],"props":{"priority":139},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":138,"text":"            { DebugCategory.AudioManager, logAudioManager },\n","references":[],"lineBreakBefore":true}],"props":{"priority":138},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":137,"text":"            { DebugCategory.UIManager, logUIManager },\n","references":[],"lineBreakBefore":true}],"props":{"priority":137},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"            { DebugCategory.InputManager, logInputManager }\n","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"        };\n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"    /// Check if a specific debug category is enabled.\n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"    public bool IsCategoryEnabled(DebugCategory category)\n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"        if (!masterDebugEnabled) return false;\n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"        if (categoryStates.TryGetValue(category, out bool isEnabled))\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"            return isEnabled;\n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"        // Default to true for unknown categories\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"        return true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"    /// Enable or disable a specific debug category at runtime.\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"    public void SetCategoryEnabled(DebugCategory category, bool isEnabled)\n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"        if (categoryStates.ContainsKey(category))\n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"            categoryStates[category] = isEnabled;\n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"            // Update serialized field for Inspector visibility\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"            switch (category)\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"            {\n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"                case DebugCategory.Combat: logCombat = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"                case DebugCategory.PlayerStats: logPlayerStats = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"                case DebugCategory.EnemyAI: logEnemyAI = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"                case DebugCategory.Upgrades: logUpgrades = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"                case DebugCategory.XPAndLeveling: logXPAndLeveling = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"                case DebugCategory.Rooms: logRooms = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"                case DebugCategory.Audio: logAudio = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"                case DebugCategory.UI: logUI = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"                case DebugCategory.Input: logInput = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"                case DebugCategory.Performance: logPerformance = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"                case DebugCategory.General: logGeneral = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"                // Specific scripts\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"                case DebugCategory.FlamethrowerAttack: logFlamethrowerAttack = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"                case DebugCategory.StatusEffectController: logStatusEffectController = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"                case DebugCategory.ActiveStatusEffect: logActiveStatusEffect = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"                case DebugCategory.Health: logHealth = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"                case DebugCategory.Enemy: logEnemy = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"                case DebugCategory.Player: logPlayer = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"                case DebugCategory.GameEvents: logGameEvents = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"                case DebugCategory.Pooling: logPooling = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"                case DebugCategory.SpawnManager: logSpawnManager = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"                case DebugCategory.UpgradeManager: logUpgradeManager = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"                case DebugCategory.AudioManager: logAudioManager = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"                case DebugCategory.UIManager: logUIManager = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"                case DebugCategory.InputManager: logInputManager = isEnabled; break;\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"            }\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"    /// Toggle master debug on/off.\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"    public void SetMasterDebugEnabled(bool enabled)\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"        masterDebugEnabled = enabled;\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"    /// Enable all debug categories.\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"    public void EnableAllCategories()\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"        foreach (DebugCategory category in Enum.GetValues(typeof(DebugCategory)))\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"            SetCategoryEnabled(category, true);\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"    /// Disable all debug categories.\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"    public void DisableAllCategories()\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"        foreach (DebugCategory category in Enum.GetValues(typeof(DebugCategory)))\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"            SetCategoryEnabled(category, false);\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"    /// Get a formatted prefix for log messages based on category.\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"    public string GetCategoryPrefix(DebugCategory category)\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"        return $\"[{category}]\";\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"/// Debug log categories for filtering.\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"/// Add new categories as needed for different systems.\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"public enum DebugCategory\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"{\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"    Combat,          // Weapon attacks, damage, hit detection\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"    PlayerStats,     // Stat changes, upgrades applied to player\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"    EnemyAI,         // Enemy behavior, pathfinding, state changes\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"    Upgrades,        // Upgrade selection, application\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"    XPAndLeveling,   // XP gain, level ups\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"    Rooms,           // Room clearing, progression\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"    Audio,           // Sound effects, music\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"    UI,              // UI interactions, updates\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"    Input,           // Input events, controls\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"    Performance,     // Performance metrics, optimization\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"    General,         // Miscellaneous logs that don't fit other categories\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"    // Specific categories for granular control\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"    FlamethrowerAttack,      // Flamethrower attack logs\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"    StatusEffectController,  // Status effect application and removal\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"    ActiveStatusEffect,      // Active status effect updates\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"    Health,                  // Health-related logs\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"    Enemy,                   // Enemy-specific logs\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"    Player,                  // Player-specific logs\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"    GameEvents,             // Game event triggers and responses\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"    Pooling,                 // Object pooling logs\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"    SpawnManager,           // Enemy and item spawn events\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"    UpgradeManager,         // Upgrade application and effects\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"    AudioManager,           // Audio playback and management\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"    UIManager,              // UI updates and interactions\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"    InputManager             // Input handling and events\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":227,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":227},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_SKESiji1Ke68OgyuEy4VAmAl__vscode-1774363162437":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"public class EventListener : MonoBehaviour {\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"    // Listen for events placeholder\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"    private System.Action onPlayerDiedHandler;\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"    private System.Action<Enemy> onEnemyKilledHandler;\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"    private System.Action<int> onLevelUpHandler;\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"    private System.Action<int, int> onXPChangedHandler;\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"    void Awake()\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"        onPlayerDiedHandler = () => GameEvents.DebugLog(\"Player died event received in EventListener.\", DebugCategory.General);\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"        onEnemyKilledHandler = (Enemy enemy) => GameEvents.DebugLog(\"Enemy killed event received in EventListener.\", DebugCategory.General);\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"        onLevelUpHandler = (int newLevel) => GameEvents.DebugLog($\"Level up event received in EventListener. New level: {newLevel}\", DebugCategory.XPAndLeveling);\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"        onXPChangedHandler = (int currentXP, int xpRequired) => GameEvents.DebugLog($\"XP changed event received in EventListener. XP: {currentXP}/{xpRequired}\", DebugCategory.XPAndLeveling);\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"    void OnEnable()\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"        GameEvents.OnPlayerDied += onPlayerDiedHandler;\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"        GameEvents.OnEnemyKilled += onEnemyKilledHandler;\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"        GameEvents.OnLevelUp += onLevelUpHandler;\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"        GameEvents.OnXPChanged += onXPChangedHandler;\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"    void OnDisable()\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"        GameEvents.OnPlayerDied -= onPlayerDiedHandler;\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"        GameEvents.OnEnemyKilled -= onEnemyKilledHandler;\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"        GameEvents.OnLevelUp -= onLevelUpHandler;\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"        GameEvents.OnXPChanged -= onXPChangedHandler;\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_7sOyze4qq5k1JtdQzTSB8RJ6__vscode-1774363162438":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"iFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"9 matches (maxResults capped at 200)","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs\" line=129>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1704},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        float healAmount = health.MaxHP * 0.2f; // 20% (adjust as needed)","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"},"range":[{"line":128,"character":56},{"line":128,"character":72}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1704},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs\" line=174>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1705},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"    /// TODO: Implement when 5-directional movement animations are ready.","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":[{"line":173,"character":8},{"line":173,"character":12}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1705},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs\" line=217>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1706},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"    /// TODO: Implement when idle animations are ready.","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":[{"line":216,"character":8},{"line":216,"character":12}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1706},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs\" line=227>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1707},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"    /// TODO: Implement when attack animations are ready.","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":[{"line":226,"character":8},{"line":226,"character":12}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1707},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs\" line=237>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1708},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"    /// TODO: Implement when dash animations are ready.","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":[{"line":236,"character":8},{"line":236,"character":12}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1708},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs\" line=247>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1709},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"    /// TODO: Implement when hurt animation is ready.","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":[{"line":246,"character":8},{"line":246,"character":12}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1709},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs\" line=257>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1710},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"    /// TODO: Implement when death animation is ready.","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":[{"line":256,"character":8},{"line":256,"character":12}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1710},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs\" line=54>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1711},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        EnemyData data = enemy.EnemyData; // You'll need to add this getter","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"},"range":[{"line":53,"character":45},{"line":53,"character":75}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1711},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs\" line=3>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1712},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"    // Listen for events placeholder","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":[{"line":2,"character":25},{"line":2,"character":36}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1712},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4}],"props":{},"references":[]}}}]},"call_uX3clshqjoiQtHqkIdY8CqPz__vscode-1774363162439":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"iFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"1 match","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs\" line=1>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1731},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"using Unity.VectorGraphics;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},"range":[{"line":0,"character":0},{"line":0,"character":27}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":1731},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4}],"props":{},"references":[]}}}]},"call_n9lkztVSD6zIRSpwAA9t41UL__vscode-1774363162440":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"using System.Threading;\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"using UnityEngine.Audio;\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"[RequireComponent(typeof(AudioSource))]\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"public class StupidAudio : MonoBehaviour\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"{\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"    private AudioSource audioSource;\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"    [SerializeField] private AudioMixer bugMixer;\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"    void Start()\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"        audioSource = GetComponent<AudioSource>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"        audioSource.outputAudioMixerGroup = bugMixer.FindMatchingGroups(\"Bugs\")[0];\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"        audioSource.pitch = Random.Range(0.5f, 1.5f);\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"        audioSource.panStereo = Random.Range(-1f, 1f);\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"        float delay = Random.Range(0f, 1f);\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"        StartCoroutine(DelayedPlay(delay));\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"        System.Collections.IEnumerator DelayedPlay(float d)\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"            yield return new WaitForSeconds(d);\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"            audioSource.Play();\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"    void Update()\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_Bv5kZxC6E7t6l40HxFLE11er__vscode-1774363162441":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"iFt","children":[{"type":2,"priority":9007199254740991,"text":"No matches found.","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"Your search pattern might be excluded completely by either the search.exclude settings or .*ignore files.\nIf you believe that it should have results, you can check into the .*ignore files and the exclude setting (here are some excluded patterns for reference:[**/node_modules,**/bower_components,**/*.code-search]).\nThen if you want to include those files you can call the tool again by setting \"includeIgnoredFiles\" to true.","lineBreakBefore":false}],"props":{},"references":[]}}}]},"call_R7hE2KoB8Y9tTE7ErnDDzeHT__vscode-1774363162442":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"iFt","children":[{"type":2,"priority":9007199254740991,"text":"No matches found.","lineBreakBefore":false},{"type":2,"priority":9007199254740991,"text":"Your search pattern might be excluded completely by either the search.exclude settings or .*ignore files.\nIf you believe that it should have results, you can check into the .*ignore files and the exclude setting (here are some excluded patterns for reference:[**/node_modules,**/bower_components,**/*.code-search]).\nThen if you want to include those files you can call the tool again by setting \"includeIgnoredFiles\" to true.","lineBreakBefore":false}],"props":{},"references":[]}}}]},"call_QgMIhdddXkmyTEWMuxwzCWd2__vscode-1774363162443":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"````markdown\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DEBUG_SYSTEM_README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/DEBUG_SYSTEM_README.md","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DEBUG_SYSTEM_README.md","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":151},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":150,"text":"# Debug System Usage Guide\n","references":[],"lineBreakBefore":true}],"props":{"priority":150},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":149,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":149},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":148,"text":"## Overview\n","references":[],"lineBreakBefore":true}],"props":{"priority":148},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":147,"text":"The new debug system uses category-based filtering for granular control over what types of debug messages are displayed.\n","references":[],"lineBreakBefore":true}],"props":{"priority":147},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":146,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":146},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":145,"text":"## Components\n","references":[],"lineBreakBefore":true}],"props":{"priority":145},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":144,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":144},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":143,"text":"### DebugManager\n","references":[],"lineBreakBefore":true}],"props":{"priority":143},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":142,"text":"- **Location**: `Assets/_Project/Scripts/Managers/DebugManager.cs`\n","references":[],"lineBreakBefore":true}],"props":{"priority":142},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":141,"text":"- **Purpose**: Central configuration for debug logging categories\n","references":[],"lineBreakBefore":true}],"props":{"priority":141},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":140,"text":"- **Singleton**: Access via `DebugManager.Instance`\n","references":[],"lineBreakBefore":true}],"props":{"priority":140},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":139,"text":"- **Persistent**: Uses `DontDestroyOnLoad()` to persist across scenes\n","references":[],"lineBreakBefore":true}],"props":{"priority":139},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":138,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":138},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":137,"text":"### DebugCategory Enum\n","references":[],"lineBreakBefore":true}],"props":{"priority":137},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"Available categories:\n","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"- `Combat` - Weapon attacks, damage, hit detection\n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"- `PlayerStats` - Stat changes, upgrades applied to player\n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"- `EnemyAI` - Enemy behavior, pathfinding, state changes\n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"- `Upgrades` - Upgrade selection, application\n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"- `XPAndLeveling` - XP gain, level ups\n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"- `Rooms` - Room clearing, progression\n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"- `Audio` - Sound effects, music\n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"- `UI` - UI interactions, updates\n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"- `Input` - Input events, controls\n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"- `Performance` - Performance metrics, optimization\n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"- `General` - Miscellaneous logs\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"## Usage\n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"### Basic Logging\n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"```csharp\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"// Old way (deprecated)\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"GameEvents.DebugLog(\"Something happened\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"// New way (with category)\n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"GameEvents.DebugLog(\"Player took damage\", DebugCategory.Combat);\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"GameEvents.DebugLog(\"Speed increased to 12\", DebugCategory.PlayerStats);\n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"GameEvents.DebugLog(\"Enemy state changed to Chase\", DebugCategory.EnemyAI);\n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"### Runtime Category Control\n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"```csharp\n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"// Enable/disable specific categories\n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"DebugManager.Instance.SetCategoryEnabled(DebugCategory.Combat, false);\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"DebugManager.Instance.SetCategoryEnabled(DebugCategory.EnemyAI, true);\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"// Enable/disable all categories\n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"DebugManager.Instance.EnableAllCategories();\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"DebugManager.Instance.DisableAllCategories();\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"// Toggle master debug\n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"DebugManager.Instance.SetMasterDebugEnabled(false);\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"### Checking if Category is Enabled\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"```csharp\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"if (DebugManager.Instance.IsCategoryEnabled(DebugCategory.Performance))\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"{\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"    // Only calculate expensive debug info if logging is enabled\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"    string debugInfo = CalculateExpensiveDebugData();\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"    GameEvents.DebugLog(debugInfo, DebugCategory.Performance);\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"## Setup\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"1. Add `DebugManager` component to a GameObject in your scene (or create a dedicated \"Managers\" GameObject)\n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"2. Configure which categories are enabled by default in the Inspector\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"3. The manager will persist across scenes automatically\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"## Inspector Configuration\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"In the DebugManager Inspector, you'll see:\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"- **Master Debug Enabled**: Global on/off switch\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"- **Debug Categories**: Individual toggles for each category\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"  - Combat\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"  - Player Stats\n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"  - Enemy AI\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"  - Upgrades\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"  - XP and Leveling\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"  - Rooms\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"  - Audio\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"  - UI\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"  - Input\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"  - Performance\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"  - General\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"## Log Format\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"Logs are automatically prefixed with the category:\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"[Combat] [FlamethrowerAttack] Dealing 15.2 damage to 3 targets\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"[PlayerStats] === UPGRADE APPLIED ===\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"[EnemyAI] [Enemy] Roach took 12 damage. HP: 38/50\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"## Migration from Old System\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"The old `PlayerController.debugMode` boolean has been removed. Replace any direct checks with:\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"```csharp\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"// Old\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"if (PlayerController.Instance != null && PlayerController.Instance.debugMode)\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"{\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"    Debug.Log(\"Something\");\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"// New\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"GameEvents.DebugLog(\"Something\", DebugCategory.General);\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"The category filtering is now automatic - no manual checks needed!\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"## Best Practices\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"1. **Always specify a category** - Makes logs easier to filter\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"2. **Use appropriate categories** - Helps with debugging specific systems\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"3. **Disable expensive categories in production** - Performance and EnemyAI can be verbose\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"4. **Group related logs** - Use the same category for related debug messages\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"5. **Use descriptive prefixes** - Include system name in brackets like `[FlamethrowerAttack]`\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"## Adding New Categories\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"To add a new debug category:\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"1. Add to `DebugCategory` enum in `DebugManager.cs`\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"2. Add a serialized bool field in `DebugManager` (e.g., `logNewCategory`)\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"3. Update `InitializeCategoryStates()` to include the new category\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"4. Update `SetCategoryEnabled()` switch statement\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"Example:\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"```csharp\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"// In DebugCategory enum\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"public enum DebugCategory\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"{\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"    // ... existing categories\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"    Inventory,  // NEW\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"// In DebugManager\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"[SerializeField] private bool logInventory = true;  // NEW\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"// In InitializeCategoryStates()\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"{ DebugCategory.Inventory, logInventory },  // NEW\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"// In SetCategoryEnabled() switch\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"case DebugCategory.Inventory: logInventory = enabled; break;  // NEW\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"````","references":[],"lineBreakBefore":true}],"props":{"priority":151},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_rAGb8mRnGcZghCVrgYIMMKsM__vscode-1774363162444":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":290,"text":"````markdown\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":290},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":289,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":289},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":288,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":288},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":287,"text":"## 🗓 Development Roadmap\n","references":[],"lineBreakBefore":true}],"props":{"priority":287},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":286,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":286},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":285,"text":"**Total Timeline**: 20 months | **Weekly Budget**: ~6.5 hours\n","references":[],"lineBreakBefore":true}],"props":{"priority":285},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":284,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":284},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":283,"text":"### Phase 1: Foundation (Weeks 1-2) ✅ **COMPLETED**\n","references":[],"lineBreakBefore":true}],"props":{"priority":283},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":282,"text":"**Deliverable**: Playable combat loop (kill enemies, gain XP, level up)\n","references":[],"lineBreakBefore":true}],"props":{"priority":282},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":281,"text":"- [x] Unity setup and tutorials\n","references":[],"lineBreakBefore":true}],"props":{"priority":281},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":280,"text":"- [x] Movement + enemy AI\n","references":[],"lineBreakBefore":true}],"props":{"priority":280},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":279,"text":"- [x] Health/damage system\n","references":[],"lineBreakBefore":true}],"props":{"priority":279},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":278,"text":"- [x] Event system wiring\n","references":[],"lineBreakBefore":true}],"props":{"priority":278},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":277,"text":"- [x] Level-up system\n","references":[],"lineBreakBefore":true}],"props":{"priority":277},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":276,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":276},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":275,"text":"### Phase 2: Core Loop (Months 1-3) ⬅️ **CURRENT PHASE**\n","references":[],"lineBreakBefore":true}],"props":{"priority":275},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":274,"text":"**Deliverable**: Complete run with upgrades and boss\n","references":[],"lineBreakBefore":true}],"props":{"priority":274},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":273,"text":"- [ ] Room clearing and transitions\n","references":[],"lineBreakBefore":true}],"props":{"priority":273},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":272,"text":"- [ ] Upgrade system (1 of 3 choices)\n","references":[],"lineBreakBefore":true}],"props":{"priority":272},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":271,"text":"- [ ] Path progression (levels 10/20)\n","references":[],"lineBreakBefore":true}],"props":{"priority":271},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":270,"text":"- [ ] 15-20 varied rooms\n","references":[],"lineBreakBefore":true}],"props":{"priority":270},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":269,"text":"- [ ] First boss fight\n","references":[],"lineBreakBefore":true}],"props":{"priority":269},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":268,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":268},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":267,"text":"### Phase 3: Content & Polish (Months 4-8)\n","references":[],"lineBreakBefore":true}],"props":{"priority":267},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":266,"text":"**Deliverable**: Replayable game with variety\n","references":[],"lineBreakBefore":true}],"props":{"priority":266},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":265,"text":"- [ ] Second character\n","references":[],"lineBreakBefore":true}],"props":{"priority":265},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":264,"text":"- [ ] 8-10 enemy types\n","references":[],"lineBreakBefore":true}],"props":{"priority":264},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":263,"text":"- [ ] Room modifiers (hazards, constraints)\n","references":[],"lineBreakBefore":true}],"props":{"priority":263},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":262,"text":"- [ ] Meta-progression (currency, unlocks)\n","references":[],"lineBreakBefore":true}],"props":{"priority":262},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":261,"text":"- [ ] Endless mode\n","references":[],"lineBreakBefore":true}],"props":{"priority":261},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":260,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":260},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":259,"text":"### Phase 4: Polish & Showcase (Months 9-10)\n","references":[],"lineBreakBefore":true}],"props":{"priority":259},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":258,"text":"**Deliverable**: Presentable vertical slice\n","references":[],"lineBreakBefore":true}],"props":{"priority":258},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":257,"text":"- [ ] Bug fixes and UI polish\n","references":[],"lineBreakBefore":true}],"props":{"priority":257},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":256,"text":"- [ ] External playtesting\n","references":[],"lineBreakBefore":true}],"props":{"priority":256},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":255,"text":"- [ ] Balance pass\n","references":[],"lineBreakBefore":true}],"props":{"priority":255},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":254,"text":"- [ ] Ready for public viewing\n","references":[],"lineBreakBefore":true}],"props":{"priority":254},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":253,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":253},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":252,"text":"### Phase 5: Expansion (Months 11-20)\n","references":[],"lineBreakBefore":true}],"props":{"priority":252},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":251,"text":"**Deliverable**: Ship-ready product\n","references":[],"lineBreakBefore":true}],"props":{"priority":251},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":250,"text":"- [ ] 3-4 additional characters\n","references":[],"lineBreakBefore":true}],"props":{"priority":250},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":249,"text":"- [ ] Full enemy roster (15 types)\n","references":[],"lineBreakBefore":true}],"props":{"priority":249},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":248,"text":"- [ ] Marketing (Twitter devlog, Steam page)\n","references":[],"lineBreakBefore":true}],"props":{"priority":248},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":247,"text":"- [ ] Professional art evaluation\n","references":[],"lineBreakBefore":true}],"props":{"priority":247},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":246,"text":"- [ ] Final polish and launch\n","references":[],"lineBreakBefore":true}],"props":{"priority":246},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":245,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":245},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":244,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":244},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":243,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":243},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":242,"text":"## 🏗 Architecture & Code Standards\n","references":[],"lineBreakBefore":true}],"props":{"priority":242},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":241,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":241},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":240,"text":"### Design Principles\n","references":[],"lineBreakBefore":true}],"props":{"priority":240},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":239,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":239},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":238,"text":"**1. Component-Based Modularity**\n","references":[],"lineBreakBefore":true}],"props":{"priority":238},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":237,"text":"- Each script has ONE responsibility\n","references":[],"lineBreakBefore":true}],"props":{"priority":237},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":236,"text":"- `PlayerController` orchestrates; `PlayerMovement`, `PlayerAiming`, `PlayerAttack` execute\n","references":[],"lineBreakBefore":true}],"props":{"priority":236},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":235,"text":"- Example: Movement doesn't handle aiming or shooting\n","references":[],"lineBreakBefore":true}],"props":{"priority":235},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":234,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":234},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":233,"text":"**2. Event-Driven Communication**\n","references":[],"lineBreakBefore":true}],"props":{"priority":233},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":232,"text":"- Cross-system messaging via `GameEvents.cs`\n","references":[],"lineBreakBefore":true}],"props":{"priority":232},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":231,"text":"- Decouples systems (Enemy doesn't need to know about XPManager)\n","references":[],"lineBreakBefore":true}],"props":{"priority":231},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":230,"text":"- Pattern: `OnEventFired → Multiple systems react independently`\n","references":[],"lineBreakBefore":true}],"props":{"priority":230},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":229,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":229},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":228,"text":"**3. Data-Driven Configuration**\n","references":[],"lineBreakBefore":true}],"props":{"priority":228},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":227,"text":"- All game data lives in ScriptableObjects (.asset files)\n","references":[],"lineBreakBefore":true}],"props":{"priority":227},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":226,"text":"- Upgrades, enemies, weapons → designer-friendly, no code changes needed\n","references":[],"lineBreakBefore":true}],"props":{"priority":226},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":225,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":225},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":224,"text":"**4. Sparse Manager Use**\n","references":[],"lineBreakBefore":true}],"props":{"priority":224},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":223,"text":"- Managers coordinate high-level flow only\n","references":[],"lineBreakBefore":true}],"props":{"priority":223},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":222,"text":"- Managers DON'T do work—they tell other systems to act\n","references":[],"lineBreakBefore":true}],"props":{"priority":222},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":221,"text":"- Target: 5-7 managers maximum\n","references":[],"lineBreakBefore":true}],"props":{"priority":221},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":220,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":220},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":219,"text":"### Example: Event Flow for Enemy Death\n","references":[],"lineBreakBefore":true}],"props":{"priority":219},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":218,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":218},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":217,"text":"Enemy.Die()\n","references":[],"lineBreakBefore":true}],"props":{"priority":217},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":216,"text":"  → GameEvents.OnEnemyKilled?.Invoke(this)\n","references":[],"lineBreakBefore":true}],"props":{"priority":216},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":215,"text":"    → XPManager.AwardXP()\n","references":[],"lineBreakBefore":true}],"props":{"priority":215},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":214,"text":"    → RoomManager.CheckRoomClear()\n","references":[],"lineBreakBefore":true}],"props":{"priority":214},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":213,"text":"    → AudioManager.PlayDeathSound()\n","references":[],"lineBreakBefore":true}],"props":{"priority":213},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":212,"text":"    → UIManager.UpdateKillCount()\n","references":[],"lineBreakBefore":true}],"props":{"priority":212},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":211,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":211},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":210,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":210},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":209,"text":"### Code Style Guidelines\n","references":[],"lineBreakBefore":true}],"props":{"priority":209},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":208,"text":"| Rule | Details |\n","references":[],"lineBreakBefore":true}],"props":{"priority":208},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":207,"text":"|------|---------|\n","references":[],"lineBreakBefore":true}],"props":{"priority":207},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":206,"text":"| **Naming** | `PascalCase` for public, `camelCase` for private |\n","references":[],"lineBreakBefore":true}],"props":{"priority":206},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":205,"text":"| **Comments** | Explain WHY, not WHAT (code should self-document) |\n","references":[],"lineBreakBefore":true}],"props":{"priority":205},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":204,"text":"| **Responsibility** | If a class does 2+ things, split it |\n","references":[],"lineBreakBefore":true}],"props":{"priority":204},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":203,"text":"| **Events** | Always unsubscribe in `OnDisable()` to prevent leaks |\n","references":[],"lineBreakBefore":true}],"props":{"priority":203},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":202,"text":"| **Commits** | Clear messages (`\"Add enemy spawn system\"`, not `\"update\"`)\n","references":[],"lineBreakBefore":true}],"props":{"priority":202},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":201,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":201},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":200,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":200},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":199,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":199},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":198,"text":"## 👥 Team & Timeline\n","references":[],"lineBreakBefore":true}],"props":{"priority":198},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":197,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":197},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":196,"text":"### The Team\n","references":[],"lineBreakBefore":true}],"props":{"priority":196},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":195,"text":"| Role | Details | Focus |\n","references":[],"lineBreakBefore":true}],"props":{"priority":195},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":194,"text":"|------|---------|-------|\n","references":[],"lineBreakBefore":true}],"props":{"priority":194},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":193,"text":"| **Developer 1** | Age 15, Game design, UI, progression, balance, art |\n","references":[],"lineBreakBefore":true}],"props":{"priority":193},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":192,"text":"| **Developer 2** | Age 23, Architecture, enemy AI, combat, optimization |\n","references":[],"lineBreakBefore":true}],"props":{"priority":192},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":191,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":191},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":190,"text":"### Weekly Workflow\n","references":[],"lineBreakBefore":true}],"props":{"priority":190},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":189,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":189},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":188,"text":"**30-minute sync meetings**:\n","references":[],"lineBreakBefore":true}],"props":{"priority":188},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":187,"text":"1. **Review** (10min) — What worked? What blocked us?\n","references":[],"lineBreakBefore":true}],"props":{"priority":187},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":186,"text":"2. **Plan** (15min) — 2-3 tasks each, max 4 hours per task\n","references":[],"lineBreakBefore":true}],"props":{"priority":186},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":185,"text":"3. **Check-in** (5min) — Still on track? Still motivated?\n","references":[],"lineBreakBefore":true}],"props":{"priority":185},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":184,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":184},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":183,"text":"### Success Metrics (Monthly)\n","references":[],"lineBreakBefore":true}],"props":{"priority":183},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":182,"text":"Each month ask:\n","references":[],"lineBreakBefore":true}],"props":{"priority":182},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":181,"text":"- ✅ Did we hit the deliverable?\n","references":[],"lineBreakBefore":true}],"props":{"priority":181},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":180,"text":"- ✅ Do we still want to work on this?\n","references":[],"lineBreakBefore":true}],"props":{"priority":180},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":179,"text":"- ✅ Are we having fun?\n","references":[],"lineBreakBefore":true}],"props":{"priority":179},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":178,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":178},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":177,"text":"**Result**: 2-3/3 ✅ = continue | 1/3 ✅ = reassess | 0/3 ✅ = pivot or pause\n","references":[],"lineBreakBefore":true}],"props":{"priority":177},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":176,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":176},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":175,"text":"### Risk Management: Burst-and-Crash Pattern\n","references":[],"lineBreakBefore":true}],"props":{"priority":175},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":174,"text":"Developer 1 tendency: Hyperfocus for 40 hours → burnout → abandon\n","references":[],"lineBreakBefore":true}],"props":{"priority":174},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":173,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":173},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":172,"text":"**Mitigation**:\n","references":[],"lineBreakBefore":true}],"props":{"priority":172},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":171,"text":"- ⏱ Time-box sessions: 2 hours max with breaks\n","references":[],"lineBreakBefore":true}],"props":{"priority":171},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":170,"text":"- 💾 Commit broken code: Use `[WIP]` tags\n","references":[],"lineBreakBefore":true}],"props":{"priority":170},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":169,"text":"- 🎉 Celebrate small wins: Don't wait for \"finished feature\"\n","references":[],"lineBreakBefore":true}],"props":{"priority":169},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":168,"text":"- 🎯 One feature max per week\n","references":[],"lineBreakBefore":true}],"props":{"priority":168},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":167,"text":"- 🤝 Weekly accountability check-ins\n","references":[],"lineBreakBefore":true}],"props":{"priority":167},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":166,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":166},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":165,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":165},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":164,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":164},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":163,"text":"## 🔄 Workflow\n","references":[],"lineBreakBefore":true}],"props":{"priority":163},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":162,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":162},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":161,"text":"### Git Strategy\n","references":[],"lineBreakBefore":true}],"props":{"priority":161},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":160,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":160},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":159,"text":"main          # Stable builds only (protected, no direct commits)\n","references":[],"lineBreakBefore":true}],"props":{"priority":159},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":158,"text":"  ↑\n","references":[],"lineBreakBefore":true}],"props":{"priority":158},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":157,"text":"dev           # Integration branch for features\n","references":[],"lineBreakBefore":true}],"props":{"priority":157},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":156,"text":"  ↑\n","references":[],"lineBreakBefore":true}],"props":{"priority":156},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":155,"text":"feature/*     # Your work-in-progress branches\n","references":[],"lineBreakBefore":true}],"props":{"priority":155},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":154,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":154},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":153,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":153},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":152,"text":"### Daily Process\n","references":[],"lineBreakBefore":true}],"props":{"priority":152},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":151,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":151},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":150,"text":"**Start of session**:\n","references":[],"lineBreakBefore":true}],"props":{"priority":150},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":149,"text":"```bash\n","references":[],"lineBreakBefore":true}],"props":{"priority":149},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":148,"text":"git checkout dev && git pull origin dev\n","references":[],"lineBreakBefore":true}],"props":{"priority":148},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":147,"text":"git checkout -b feature/task-name\n","references":[],"lineBreakBefore":true}],"props":{"priority":147},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":146,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":146},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":145,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":145},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":144,"text":"**During work** (commit every 30-60min):\n","references":[],"lineBreakBefore":true}],"props":{"priority":144},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":143,"text":"```bash\n","references":[],"lineBreakBefore":true}],"props":{"priority":143},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":142,"text":"git add .\n","references":[],"lineBreakBefore":true}],"props":{"priority":142},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":141,"text":"git commit -m \"Add feature description\"\n","references":[],"lineBreakBefore":true}],"props":{"priority":141},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":140,"text":"git push origin feature/task-name\n","references":[],"lineBreakBefore":true}],"props":{"priority":140},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":139,"text":"```\n","references":[],"lineBreakBefore":true}],"props":{"priority":139},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":138,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":138},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":137,"text":"**End of session**:\n","references":[],"lineBreakBefore":true}],"props":{"priority":137},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"- Create Pull Request on GitHub\n","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"- Assign to other developer for review\n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"- DON'T merge your own PRs (unless emergency)\n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"### Commit Message Guidelines\n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"✅ **Good**: `\"Add enemy spawn system\"`, `\"Fix diagonal movement speed bug\"`\n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"❌ **Bad**: `\"update\"`, `\"fix stuff\"`, `\"changes\"`\n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"### Task Guidelines\n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"- **Maximum 4 hours per task** — break larger work into sub-tasks\n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"- **Commit WIP code** — use `[WIP]` tag, don't wait for perfection\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"- **Push regularly** — don't hold changes locally for days\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"## 🤝 Contributing\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"### Pre-Pull Request Checklist\n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"- [ ] Code compiles without errors/warnings\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"- [ ] No debug logs (or marked `// TODO: remove`)\n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"- [ ] Single responsibility per component\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"- [ ] Event unsubscriptions in `OnDisable()` if subscribed in `OnEnable()`\n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"- [ ] Game data in ScriptableObjects (no hardcoded values)\n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"- [ ] Tested in Play mode (doesn't crash)\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"### Code Review Process\n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"When reviewing, ask:\n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"- Does it solve the stated problem?\n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"- Is the approach reasonable for our timeline?\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"- Any obvious performance issues?\n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"- Does it follow our architecture patterns?\n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"**Goal**: Catch critical issues, not nitpick style. We have 280 hours total.\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"## 🎨 Design Philosophy\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"### Room Design: Systemic Variation Over Raw Difficulty\n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"Each room introduces new constraints/modifiers/risk-reward scenarios that force tactical adaptation.\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"- ✅ Different challenge (not just higher numbers)\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"- ✅ Examples: hazards, arena shrinking, darkness, swarm composition\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"- ❌ Don't make it \"same fight but HP doubled\"\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"### Enemy Design: Enemies as Teachers\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"Each bug type teaches a specific mechanic or counters a strategy.\n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"- ✅ Design question: \"What does this enemy force the player to learn?\"\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"- ✅ Examples: Roaches teach AOE value, Beetles teach armor penetration\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"- ❌ Don't create stat variations\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"### Character Design: Intentionally Broken\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"Each character has one overpowered mechanic balanced by a meaningful constraint.\n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"- ✅ Makes the character feel like an exploit discovery\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"- ✅ Examples: Beekeeper (allies, no direct damage), Flamethrower (spreads, takes damage)\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"- ❌ Balanced characters feel boring\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"### Difficulty Progression\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"- **Early rooms**: Moderately easy, never boring\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"- **Mid-game**: Smooth difficulty curve with spikes at bosses/elites\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"- **Late-game**: Occasional surprises to keep players alert\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"- **General rule**: Never too hard at start, never too easy at end\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"## 📝 Open Questions & TBD\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"### Combat & Balance\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"| Question | Options |\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"|----------|---------|\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"| Movement speed | Final tuning value? |\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"| Dodge mechanic | Dash? Roll? I-frames? |\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"| Attack patterns | Per-character variations? |\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"| Damage feedback | Screen shake, hit-stop, particles? |\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"| Heal % on level-up | Percentage value? |\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"| Upgrade power scaling | +10%, +20%, or variable? |\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"| XP curve | Linear or exponential? |\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"| Enemy scaling | HP/damage progression formula? |\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"### Game Economy\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"- Currency sources (performance bonuses? found treasure? room completion?)\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"- Shop frequency and inventory size\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"- Unlock pricing structure\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"### Technical Systems\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"- Health system architecture (events vs inheritance)?\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"- Player death behavior and penalties\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"- Enemy death drops (loot system)?\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"- Room modifier types and selection algorithm\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"## 📈 Marketing & Long-Term Vision\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"### Realistic Outcome Scenarios\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"| Scenario | Likelihood | Copies | Revenue |\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"|----------|-----------|--------|---------|\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"| **Passion Project** | 80%+ | 200-500 | $500-$2k |\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"| **Modest Success** | 5-10% | 5k-20k | $35k-$200k |\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"| **Breakout Hit** | <1% | 100k+ | $500k-$2M+ |\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"**Strategy**: Don't count on C, work toward B, expect A. This is a learning project first, commercial second.\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"### Marketing Timeline (Start 6+ months before launch)\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"- **Twitter**: Regular dev logs with GIFs (#indiedev #roguelike)\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"- **Blog/YouTube**: Weekly progress updates\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"- **Steam**: Build 10k+ wishlists pre-launch\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"- **Outreach**: Contact streamers and communities\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"- **Discord**: Build community early\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"### Art Strategy\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"- Start with programmer art\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"- Evaluate at Month 6\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"- Hire artist if needed (budget: $1k-$3.5k post-apprenticeship)\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"## 📄 License & Contact\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"**License**: Proprietary — All rights reserved (closed-source learning project)\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"**Questions or feedback**:\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"- [GitHub Issues](https://github.com/[your-username]/exterminator-game/issues)\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"- [GitHub Discussions](https://github.com/[your-username]/exterminator-game/discussions)\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"## 🙏 Inspiration & Thanks\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"**Game Inspiration**: Hades, Dead Cells, Slay the Spire, Enter the Gungeon\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"**Technical Guidance**: Unity best practices, GDC talks, community resources\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"**Last Updated**: January 2026 | **Current Phase**: Month 1 — Foundation | **Next Milestone**: Functional combat loop\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"*\"Exterminate with style. 🪲🔫\"*\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":290,"text":"````","references":[],"lineBreakBefore":true}],"props":{"priority":290},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_UpGJzXUKHImQHK56Fos0JN5D__vscode-1774363162445":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"```plaintext\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/ProjectSettings/ProjectVersion.txt","external":"file:///home/breadway/Documents/Hazard%20Pay/ProjectSettings/ProjectVersion.txt","path":"/home/breadway/Documents/Hazard Pay/ProjectSettings/ProjectVersion.txt","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"m_EditorVersion: 6000.3.7f1\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"m_EditorVersionWithRevision: 6000.3.7f1 (696ec25a53d1)\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_6FXJi6CpJ8J455BkkXcZNWYO__vscode-1774363162446":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"```json\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Packages/manifest.json","external":"file:///home/breadway/Documents/Hazard%20Pay/Packages/manifest.json","path":"/home/breadway/Documents/Hazard Pay/Packages/manifest.json","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"{\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"  \"dependencies\": {\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"    \"com.unity.2d.animation\": \"13.0.4\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"    \"com.unity.2d.aseprite\": \"3.0.1\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"    \"com.unity.2d.psdimporter\": \"12.0.1\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"    \"com.unity.2d.sprite\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"    \"com.unity.2d.spriteshape\": \"13.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"    \"com.unity.2d.tilemap\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"    \"com.unity.2d.tilemap.extras\": \"6.0.1\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"    \"com.unity.2d.tooling\": \"1.0.2\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"    \"com.unity.ai.navigation\": \"2.0.9\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"    \"com.unity.cinemachine\": \"3.1.5\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"    \"com.unity.collab-proxy\": \"2.11.3\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"    \"com.unity.ide.rider\": \"3.0.39\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"    \"com.unity.ide.visualstudio\": \"2.0.26\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"    \"com.unity.inputsystem\": \"1.18.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"    \"com.unity.multiplayer.center\": \"1.0.1\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"    \"com.unity.render-pipelines.universal\": \"17.3.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"    \"com.unity.test-framework\": \"1.6.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"    \"com.unity.timeline\": \"1.8.10\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"    \"com.unity.ugui\": \"2.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"    \"com.unity.visualscripting\": \"1.9.9\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"    \"com.unity.modules.accessibility\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"    \"com.unity.modules.adaptiveperformance\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"    \"com.unity.modules.ai\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"    \"com.unity.modules.androidjni\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"    \"com.unity.modules.animation\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"    \"com.unity.modules.assetbundle\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"    \"com.unity.modules.audio\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"    \"com.unity.modules.cloth\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"    \"com.unity.modules.director\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"    \"com.unity.modules.imageconversion\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"    \"com.unity.modules.imgui\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"    \"com.unity.modules.jsonserialize\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"    \"com.unity.modules.particlesystem\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"    \"com.unity.modules.physics\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"    \"com.unity.modules.physics2d\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"    \"com.unity.modules.screencapture\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"    \"com.unity.modules.terrain\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"    \"com.unity.modules.terrainphysics\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"    \"com.unity.modules.tilemap\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"    \"com.unity.modules.ui\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"    \"com.unity.modules.uielements\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"    \"com.unity.modules.umbra\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"    \"com.unity.modules.unityanalytics\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"    \"com.unity.modules.unitywebrequest\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"    \"com.unity.modules.unitywebrequestassetbundle\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"    \"com.unity.modules.unitywebrequestaudio\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"    \"com.unity.modules.unitywebrequesttexture\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"    \"com.unity.modules.unitywebrequestwww\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"    \"com.unity.modules.vectorgraphics\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"    \"com.unity.modules.vehicles\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"    \"com.unity.modules.video\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"    \"com.unity.modules.vr\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"    \"com.unity.modules.wind\": \"1.0.0\",\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"    \"com.unity.modules.xr\": \"1.0.0\"\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"  }\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_qsQkHHjng8oaupEAxcSCtdiQ__vscode-1774363162447":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"```markdown\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/GAMEDESIGN.md","external":"file:///home/breadway/Documents/Hazard%20Pay/GAMEDESIGN.md","path":"/home/breadway/Documents/Hazard Pay/GAMEDESIGN.md","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"# 🎮 Game Design Document\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"## 🎨 Aesthetic & Visual Theme\n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"### \"Gritty Industrial Satire\"\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"The game visualizes the mundane horror of minimum-wage pest control in a world where bugs are dog-sized.\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"*   **Visual Style:** **Lo-Fi Industrial (PSX/Early-PC)**. Low-poly models with flat shading or pixelated textures. \"Crusty\" aesthetics—rust, duct tape, stained concrete, and flickering fluorescent lights.\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"*   **Color Palette (The 'Safety' Palette):**\n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"    *   **Primary:** \"Hazard Orange\" & \"Safety Yellow\" (Player gear, UI warnings).\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"    *   **Secondary:** \"Industrial Grey\" & \"Rust Red\" (Environments, machinery).\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"    *   **Accent:** \"Toxic Purple\" or \"Neon Green\" (Bug ichor, chemical sprays).\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"*   **UI Philosophy:** **Diegetic Corporate Paperwork**.\n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"    *   The HUD resembles a digital clipboard or retro safety terminal.\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"    *   Damage numbers print out like receipts.\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"    *   Health bars look like pressure gauges or liquid fill levels.\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"---\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"## 👥 Characters (The Exterminators)\n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"Each character follows the \"Intentionally Broken\" design philosophy: One overpowered mechanic balanced by a meaningful, gameplay-defining constraint.\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"### 1. The Pyrotechnic (\"The Firebug\")\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"> *\"I love the smell of napalm in the morning. It smells like... overtime.\"*\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"*   **Role:** AOE / Aggressive Kiting\n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"*   **Weapon:** **Leak-Prone Flamethrower**\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"*   **The Power:** **\"Inferno.\"** Fire spreads aggressively between enemies and persists on surfaces for 8 seconds. Enemies ignited spread fire to others on contact. Creates cascading chain reactions.\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"*   **The Constraint:** **\"Backdraft.\"** The fuel tank leaks behind you as you move. Standing still for >1 second causes a fuel puddle to ignite beneath you. You must keep moving or take rapid damage, but your movement leaves a trail of fire hazards.\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"### 2. The Apiarist (\"The Beekeeper\")\n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"> *\"They don't pay me enough to touch the bugs myself.\"*\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"*   **Role:** Summoner / Horde Management\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"*   **Weapon:** **Pheromone Dart Gun** (Low damage, marks targets)\n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"*   **The Power:** **\"The Hive.\"** Killing marked enemies spawns Ghost Bees (max 30). Bees automatically attack nearby threats. Each bee adds +2% damage to your weapon. Your swarm is your scaling mechanic.\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"*   **The Constraint:** **\"Shared Fate.\"** Your HP is capped at 50 and cannot be healed traditionally. When you take damage, you lose bees equal to damage taken (1 bee = 1 HP). If you have no bees, damage goes to your base HP pool. At 0 HP with 0 bees, you die. You must maintain your swarm aggressively or become fragile.\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"### 3. The Custodian (\"The Janitor\")\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"> *\"Clean up on Aisle 4. And 5. And everywhere.\"*\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"*   **Role:** Precision Melee / Spacing\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"*   **Weapon:** **The Mop** (Halberd-style reach)\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"*   **The Power:** **\"Sanitize.\"** The mop has extended reach. Hitting enemies at max range (the outer third of your swing arc) deals 3x damage and launches them into walls for \"Splat\" bonus damage.\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"*   **The Constraint:** **\"Safety Violation.\"** Enemies inside your minimum range (50% of mop reach) take 0 damage. A danger zone indicator shows when enemies breach your guard. You must control spacing or become helpless.\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"### 4. The Intern (\"The Heavy\")\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"> *\"My back hurts and I'm not even getting paid.\"*\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"*   **Role:** Mobile Tank / Ablative Armor\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"*   **Weapon:** **Industrial Foam Sprayer** (Short-range cone)\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"*   **The Power:** **\"Foam Fortress.\"** Your weapon coats you in hardening foam, building up damage-absorbing armor layers (max 200 armor). The foam also slows and damages enemies caught in the spray.\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"*   **The Constraint:** **\"Overencumbered.\"** Your movement speed decreases as your armor increases (100 armor = 50% slower). At max armor you're a slow juggernaut. Taking damage removes armor and speeds you up. You oscillate between fast/fragile and slow/tanky.\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"### 5. The Electrician (\"Sparky\")\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"> *\"It's not a safety violation if it works.\"*\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"*   **Role:** Chain DPS / Risk Management\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"*   **Weapon:** **Jumper Cables** (Chain Lightning)\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"*   **The Power:** **\"The Circuit.\"** Chain lightning arcs between enemies within range. Each additional arc in the chain increases damage by 25%. Killing an enemy in a chain causes an electrical explosion.\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"*   **The Constraint:** **\"Overload.\"** You have no ammo limit, but your weapon builds heat. At 100% heat, your weapon force-discharges, dealing damage to you equal to 50% of max HP and stunning you for 1 second. You must manage your heat by toggling fire carefully or risk catastrophic failure.\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"### 6. The Scientist (\"Dr. Overkill\")\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"> *\"The pest control is experimental. The lawsuits are real.\"*\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"*   **Role:** Precision Burst / Glass Cannon\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"*   **Weapon:** **Prototype Particle Beam** (Charge-up laser)\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"*   **The Power:** **\"Molecular Destabilization.\"** Fully charged shots pierce through all enemies and walls, dealing massive damage. Uncharged rapid shots do minimal damage.\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"*   **The Constraint:** **\"Critical Instability.\"** Charging your weapon above 75% has a 5% chance per second to cause a critical failure, dealing 30% of your HP as self-damage and stunning you. The longer you charge, the more you gamble.\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_iLeFTZEsKWcVLYbZkMRwic1P__vscode-1774363162448":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"iFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"9 matches","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/README.md\" line=3>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2288},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"> A top-down 2D roguelike where you play as pest exterminators clearing bug infestations. Think Enter the Gungeon meets Vampire Survivors with a darkly comedic twist.","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":[{"line":2,"character":4},{"line":2,"character":25}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2288},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/README.md\" line=129>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2289},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"- Unity 6.3 LTS or later","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":[{"line":128,"character":2},{"line":128,"character":15}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2289},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/README.md\" line=148>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2290},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"   - Open `Scenes/GameplayTest.unity`","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":[{"line":147,"character":18},{"line":147,"character":36}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2290},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/README.md\" line=172>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2291},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"| **Engine** | Unity 6.3 LTS |","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":[{"line":171,"character":15},{"line":171,"character":28}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2291},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/README.md\" line=194>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2292},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"    │   ├── MainMenu.unity","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":[{"line":193,"character":12},{"line":193,"character":26}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2292},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/README.md\" line=195>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2293},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"    │   ├── GameplayTest.unity","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":[{"line":194,"character":12},{"line":194,"character":30}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2293},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/README.md\" line=275>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2294},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"### Phase 2: Core Loop (Months 1-3) ⬅️ **CURRENT PHASE**","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":[{"line":274,"character":41},{"line":274,"character":54}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2294},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/README.md\" line=545>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2295},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"**Last Updated**: January 2026 | **Current Phase**: Month 1 — Foundation | **Next Milestone**: Functional combat loop","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":[{"line":544,"character":2},{"line":544,"character":14}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2295},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/README.md\" line=545>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2296},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"**Last Updated**: January 2026 | **Current Phase**: Month 1 — Foundation | **Next Milestone**: Functional combat loop","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":[{"line":544,"character":35},{"line":544,"character":48}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2296},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4}],"props":{},"references":[]}}}]},"call_39l4kQSR2QiyJ786y8gVMzXF__vscode-1774363162449":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"iFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"4 matches","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/GEMINI.md\" line=12>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2315},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"*   **Engine:** Unity 6000.3.3f1 (LTS)","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/GEMINI.md","external":"file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md","path":"/home/breadway/Documents/Hazard Pay/GEMINI.md","scheme":"file"},"range":[{"line":11,"character":16},{"line":11,"character":32}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2315},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/GEMINI.md\" line=16>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2316},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"    *   `com.unity.inputsystem` (New Input System)","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/GEMINI.md","external":"file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md","path":"/home/breadway/Documents/Hazard Pay/GEMINI.md","scheme":"file"},"range":[{"line":15,"character":19},{"line":15,"character":30}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2316},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/GEMINI.md\" line=16>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2317},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"    *   `com.unity.inputsystem` (New Input System)","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/GEMINI.md","external":"file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md","path":"/home/breadway/Documents/Hazard Pay/GEMINI.md","scheme":"file"},"range":[{"line":15,"character":37},{"line":15,"character":49}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2317},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/GEMINI.md\" line=91>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2318},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"*   **Editor:** Open `Scenes/GameplayTest.unity` to test core mechanics.","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/GEMINI.md","external":"file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md","path":"/home/breadway/Documents/Hazard Pay/GEMINI.md","scheme":"file"},"range":[{"line":90,"character":29},{"line":90,"character":47}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2318},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4}],"props":{},"references":[]}}}]},"call_XuvM23cd7ZzFNwGzA9oCtLbV__vscode-1774363162450":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"iFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"6 matches","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/AGENTS.md\" line=18>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2327},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"Target Platform: Windows Standalone (64-bit)","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":[{"line":17,"character":17},{"line":17,"character":35}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2327},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/AGENTS.md\" line=24>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2328},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"Status: No test assemblies exist yet (Phase 2 priority)","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":[{"line":23,"character":8},{"line":23,"character":26}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2328},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/AGENTS.md\" line=371>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2329},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"**Target Platform**: Windows Standalone (64-bit)","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":[{"line":370,"character":21},{"line":370,"character":39}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2329},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/AGENTS.md\" line=389>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2330},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"**Status**: No test assemblies exist yet (Phase 2 priority)","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":[{"line":388,"character":12},{"line":388,"character":30}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2330},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/AGENTS.md\" line=400>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2331},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"**Current Unity Version**: 6000.3.3f1","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":[{"line":399,"character":2},{"line":399,"character":23}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2331},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/AGENTS.md\" line=401>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2332},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"**Primary Scene**: Assets/_Project/Scenes/TestScene.unity","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":[{"line":400,"character":2},{"line":400,"character":15}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2332},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4}],"props":{},"references":[]}}}]}},"modelMessageId":"e5dccc01-59fa-419e-9e63-76b744ae6c62","responseId":"d7847d78-4c7b-4a39-8127-2700038e3801","sessionId":"d7baaa3c-b2ef-4e34-9fea-d0781e7533e0","agentId":"github.copilot.editsAgent"},"details":"GPT-5.3-Codex • 1x","usage":{"completionTokens":249,"promptTokens":69143,"promptTokenDetails":[{"category":"System","label":"System Instructions","percentageOfPrompt":11},{"category":"System","label":"Tool Definitions","percentageOfPrompt":11},{"category":"User Context","label":"Messages","percentageOfPrompt":10},{"category":"User Context","label":"Tool Results","percentageOfPrompt":68}]}}}
{"kind":1,"k":["requests",0,"followups"],"v":[]}
{"kind":1,"k":["requests",0,"modelState"],"v":{"value":1,"completedAt":1774364172073}}
{"kind":2,"k":["requests",0,"response"],"v":[{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"b6a6773d-a4e1-4cfe-a692-77a6647d1669","toolId":"copilot_readFile","generatedTitle":"Reviewed 3 files and searched for asset files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"a60d7e53-bf6b-485b-93c3-73a3f8d307dd","toolId":"copilot_readFile","generatedTitle":"Reviewed 3 files and searched for asset files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/PlayerStats.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/PlayerStats.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/PlayerStats.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/PlayerStats.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/PlayerStats.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/PlayerStats.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"858d54d4-4f06-43a0-8582-02741bbff5f1","toolId":"copilot_readFile","generatedTitle":"Reviewed 3 files and searched for asset files"},{"kind":"thinking","value":[],"id":"9ilYsxpr/3LsuwwIfwiO2n7aqUzFrBlbTzRU/MW0lR8xSK9B1cw+Qn3EnsDf9DtbX37OECfxHSiTWp8IjH7BLY8vHps8WNH5cvV41sqYIWyIC0l31xoh2YJhm4IF8ZZeU50/eEyul0GZuJR9zUHEbGXUUQlYilBYrwAwDrnVYqwnxvwCHbQY6c/ttWOlRGbfVJ7LT3WKIJqZ1KLJEP5sSZkJaFy0RBmitGVUaBQiul4VyCQupVfeZJusltNDJCd+SYhbURr5uJ59Lq5NQoV4CoZpX0Y05IY0TVuQedAwp3EnbE564f3i9/T5HIheRINaZ2VubhFie53UnceYWrBeC23kfe9+IVcflfVmPAzdQk2R1RIcapiuC4tXl/vDxY9AqveWlskGzQkhSmTk6RrmRyEqwijcAA=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"53854176-b4f8-4b7b-8ed5-2ecd6d9493ea","toolId":"copilot_listDirectory","generatedTitle":"Reviewed 3 files and searched for asset files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for files matching `**/Assets/_Project/Data/**/*.asset`","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for files matching `**/Assets/_Project/Data/**/*.asset`, no matches","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[],"toolCallId":"20d7ffb2-ab65-42b3-ba07-ddd2e68f17b3","toolId":"copilot_findFiles","generatedTitle":"Reviewed 3 files and searched for asset files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for files matching `**/Assets/_Project/**/*.asmdef`","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for files matching `**/Assets/_Project/**/*.asmdef`, no matches","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[],"toolCallId":"ec7c0848-9719-4b8b-a671-101154e15b02","toolId":"copilot_findFiles","generatedTitle":"Reviewed 3 files and searched for asset files"},{"kind":"thinking","value":[],"id":"ZOH3171HiZcxbfxGk6NSCAzDbQnUDlCWa5XG9OO8I9A8nGM9G4BwskVA4u8mO4MyN+fmhBnqz6UTKx+9F+MtKj5bRm2TvnsPt/JLuks83b/aSqREEGCue20UKNd3i5tAXNEcz7+HVybIlsN3gpaugp1zkdMpSU8cyM1NSlZ2FlTstazqHoc3pkS/1neBzAJywc/L7tP/vwt/9vCrDtbWBH2NTVKORUV5T+vn4hFbvAFFc63wZUADEhNPGPdFMpf8fP3uPo6c2reRhXTqFDeOtPY0IrqFRTq9LuZQCOd1TSGbga5a+9DbnuucrF03uFL1UJUHlU2DTwDYjKWDmKDzsEXhg473mvt35M9aa0BhsY1Tt6ZhVZxu5BQNY3be5hh/FmOkTM8O2DunYpT4q3w4WgubPCswQg=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"text"}},{"value":"I found a major project-state gap: there are currently no ScriptableObject asset instances under ","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"inlineReference","name":"Assets/_Project/Data","inlineReference":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Data","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Data","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Data","scheme":"file"}},{"value":", and no `.asmdef` test assemblies. I’m drilling into ","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"inlineReference","inlineReference":{"name":"Data","kind":12,"containerName":"","location":{"range":{"startLineNumber":8,"startColumn":29,"endLineNumber":8,"endColumn":29},"uri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/ActiveStatusEffect.cs","scheme":"file"}}},"resolveId":"a3e51cfe-306f-4be7-8ef8-e8024c8f14b0"},{"value":", `Prefabs`, and `Scenes` folders to confirm whether this is intentional or missing setup.","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Data)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Data":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Data","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Data)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Data":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Data","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"d8dd6ca9-467a-4535-bc14-9fcef9035f2d","toolId":"copilot_listDirectory","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Prefabs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Prefabs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Prefabs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Prefabs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Prefabs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Prefabs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"3b5322bb-a796-4e4f-a226-d35a625b05ed","toolId":"copilot_listDirectory","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scenes)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scenes":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scenes","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scenes)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scenes":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scenes","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"68609a9b-20c7-4d58-81a8-b3485c60523b","toolId":"copilot_listDirectory","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"thinking","value":[],"id":"B/RQ+gi3zGNniC5WlAuLMr7zGwFWLGm5Db5h9CNcVaHoHp+THzXEuWVhRXrbyxK5LCt9sTI8O5q/KiKWAKMN6me8TF+JO7qzLDo+1RAqkW/1Mflh5BMpjhinpYnVDrah3jcxicW9zNiXZTFIfe3hWp8nTogwPA15aRsHhUIY/ghktP9Q+pR7edEuKVEOCu5Fe3P7l4EsEjNbcu6fQVyYLqGKcZNwU+DjA1fY5h24P0e3iPyczZj+KDrF4ktfDgsFRhQOcATAGbU7izjmNRQrJ2xn0DsDoBVAcOemMebyFnpj6KPVkTjJ2t1mt2SFK5jO/bbDeGpEQY7QnEpr59Dq0wQT0tZhQC/cxojrktefZuP/gnksJstrS+qf6UUR/ve2d4G2w0gNIWHBWmQsz7eiyLxsJDmM9g=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Data/Enemies)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Data/Enemies":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Data/Enemies","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Data/Enemies)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Data/Enemies":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Data/Enemies","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"c9b2c487-c35b-4236-beb9-e0ccb9254a41","toolId":"copilot_listDirectory","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Data/Upgrades)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Data/Upgrades":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Data/Upgrades","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Data/Upgrades)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Data/Upgrades":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Data/Upgrades","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"194c15c3-c898-41c8-9bcb-087e89e24d7b","toolId":"copilot_listDirectory","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Data/StatusEffects)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Data/StatusEffects":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Data/StatusEffects","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Data/StatusEffects)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Data/StatusEffects":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Data/StatusEffects","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"1fad4fa9-e94e-497f-865b-b32042ab54d1","toolId":"copilot_listDirectory","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"thinking","value":[],"id":"Jh2fj2FzYgCVJl0QuAo/61UbjP2iq8DMIUXWVLeLJsOblOSGuuHcU04Ra+Wlzg3rTJ/QFwG11ZJII/h4k3AwEjVKBimx3E3X0XdssiKKOo86P/4WLXgSOc/RAD+w6rgroWZ4Ew1KboVlHGk2UA4ulsEP/tY/is+iPxMO5kiAu75GxChsQaz6wnlmQa91DHKbT8UkIWWy7rwJ0I3wvfIPMHiAtVclt5t/vk6pS83aXlqIe2tnzxu+irBvuasdp8CeSgXOIDabl4+x75yJ4vP9n0wjARN1nxtzr7qDaiYRYx2zMTBY8EILY2ALaQ+1TJTcu465fHbwDuVZpOE3azxSIJD1PjP20jEYh3Op1L9ofryiKiyrkb7PYN7pl1oeXqULm9pbPkZpR1H6bJ9Y0l3prZdmjPXpQg=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/EnemyData.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/EnemyData.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/EnemyData.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/EnemyData.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/EnemyData.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/EnemyData.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"f97a7211-d8a4-409d-aed3-73f60c7b561c","toolId":"copilot_readFile","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/UpgradeData.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/UpgradeData.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/UpgradeData.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/UpgradeData.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/UpgradeData.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/UpgradeData.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"7d0ea626-d94d-4e9e-a18f-8a2e84dc3099","toolId":"copilot_readFile","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/WeaponData.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/WeaponData.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/WeaponData.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/WeaponData.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/WeaponData.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/WeaponData.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"70fc1da5-50c4-4b9b-bd4b-ec967963b18e","toolId":"copilot_readFile","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"thinking","value":[],"id":"xKyUXqwkhcpibuMPwd1sx+aLx8819vVv8STC2qX/BONpR2eytOwonqm4zHrKKW29C/C+fiaACVuw9o7R39/KXlWlMTn6wMxRoqOGcPJly7HR6chYU3yJ0fnJE8njK2l51XiORJDqBDTsu/9JiloW6eB56Fbe8TBnt1jhdh7JG5OrEyQ73vy+blSdCwfnPjOpt5RR4U3V5S8F5q/A/A4iR1Seqx8Zq7veO6TM+IuDD3ZUwJDgPD5AG15gPmgUYaXOtQuhxfkEDo8BhszK8UFtaNBLVsFxjSNRXWgWL0THczdY2c1arB+73YjhedIW4JDyz4HyMlwh+Cr2B9E/gJgSkfS6PZS+tBcMTIDsE+uAfbgyzyYZOdttvqjDmi++jcRenQIMbofWRFXzS7nzkYfC6vtEZNDKaQ=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/StatusEffectData.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/StatusEffectData.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/StatusEffectData.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/StatusEffectData.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/StatusEffectData.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/StatusEffectData.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"dbf8d637-0332-48ed-87c8-412cfba7aa0d","toolId":"copilot_readFile","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs#1-1), lines 1 to 360","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs#1-1":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","scheme":"file","fragment":"1-1"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs#1-1), lines 1 to 360","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs#1-1":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","scheme":"file","fragment":"1-1"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"6925e684-0429-4d0a-bd12-ee017363d269","toolId":"copilot_readFile","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"0b2d0ab9-b569-4558-9b37-92881e2c325d","toolId":"copilot_readFile","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"thinking","value":[],"id":"b2KeDZ2Q0qF+xAOGFpF48p/e0DZr6LDyugkamEHhpNTijXIP4QEw/eQ1sUOXGmBf9xhQoEOwoobwyLLiCxVtPkjUe/nuskbwbAcfYq46es8SQHyvbNY6vHZki0hRhclphBtgYlvfaBjdhijN0DxAhAmAo1ITmgxs8YB1co9XJvGUnPmbALHh+nH+5ulpEfORFehRicFExmTU03a2i3oCViTBF/tRX+E5t6FoO8J51v4cjwtF13R5wAaDtqKcQLonIYWSfC7glfYkJSEtdIq7t3R6OxMdGN1cHpNXhcBqIe3IFK4XI0NB0hZhLm7xlyrxmLj+BxjX0gcwSthq6aypff0zPko7UDx/O6SATE2Y5eGcxZirWdW7TuOSyFLLiAbAIOnZohT6sok/VaOEMjUFQKaYMDm9/w=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs#361-361), lines 361 to 378","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs#361-361":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","scheme":"file","fragment":"361-361"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs#361-361), lines 361 to 378","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs#361-361":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","scheme":"file","fragment":"361-361"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"a0e147cd-e6e2-40b9-8693-7954a956a5b5","toolId":"copilot_readFile","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"thinking","value":[],"id":"s2p4H2rwlvy/xnLpeUVNPakunLoXZ1txOPm+gdvYq5VXal66FEDBqQCRohZhr22DgUhhVrTEz0yGMzlyTtZgF+2uXmTflNxYc/KxrgLk0+xvjqW6BPfmWCB+RHtCN3sZMm3R2KZJWNQY6Hf7OD7gwB4xR7KYq1nC5Y2J51VKUS07Enk2mhFw8RTWBnN7cfUQZr091N3jbCxLii3hNLCWuVOrp7RPTX5pIlPXp6cETUwnkS36mSf5jg1qWCOOcWgVgZvZ1JlA5BodKHVytZKwvHh3xvcKPCeqzQyPoSTpabEnET5O4cMJHs0EGZUUnLRjXg2tBCduSCq4Rn5i8M7GpggCEj/DCbLHQTgApigQsY+JiGt+oo1UVyOoALj11tbadXFxJY0zbpCRwq1sjLAQspcXCFWvLA=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/HealthBarUI.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"2047e712-1499-4dda-bafa-149c9ad72215","toolId":"copilot_readFile","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"8df05dd6-2430-450c-a7e6-82e955f9adba","toolId":"copilot_readFile","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"d4c2e286-dda4-445b-9bd1-553895abc173","toolId":"copilot_readFile","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"thinking","value":[],"id":"8psqGI3jaZIVJe7ZaUo9q6GFfStDgbMImwXOOYgl6cc44Du5u6yZyAJm2afC1dasBfiwpWvSssX+g4Vl/udxEpnlwMQ83bnRrba6X4TjqB3s8IFjLki2ytGSv4fQi4Za6CZLPjz5NJpqINqLqyDwiOoCnjwQamb4V0xUr7+VOeFcdMl/t1ll4g/PjyeNsZbqKZWMH+T0p2WOzSfe9NwXZEGuNyr+CHvpxzSXbmjlOmiNMOFvKbd0wAIP66KMBitYIj5XZpnd4sSW2NfStb7ddE0T9dfopG1pMHiB16O1hjpW10PukukZRH+OcbUDb39w3Z1ZPJB8FgFmH4SxwtZWr1s4rKq5K9J7YHzfb1aUSnaXhCtQqB+ucsqadN21/b9i+qX1ROH19TNpswlROrWYfdsuzS28pw=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/AudioManager.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/AudioManager.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/AudioManager.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/AudioManager.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/AudioManager.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/AudioManager.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"4683a4ef-ce31-4476-8ded-c8b10b59e6e2","toolId":"copilot_readFile","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/DebugManager.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/DebugManager.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DebugManager.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/DebugManager.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/DebugManager.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DebugManager.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"1bb227e1-e0fe-4923-846b-81a0bfeca5a1","toolId":"copilot_readFile","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"e63ebb21-ead2-418c-9fe9-a22e992663f1","toolId":"copilot_readFile","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"thinking","value":[],"id":"PVctCv2MwuvMssfScsxfDiminsT/k4QAGKwNscHq7NUPCcSkVBiSuWI/me19QkfPI8zZ4ANJkQiLkQpsLade+wrg9PzFJAZ8LnrQYCoO+ABxHL5s5Ig8Sy28E/HmB4I+XDO5iqmQrZS8wY7JI5eSIpLMsI5MiILOqBGNz3CCczuDXXBXI9CArBNYfySUsxbpa7wi9Hg65P2WDmzgE5t81Iea67nQxc0o5YcscgbcbQCl6dDZv9l+aahdKYuVXJJTfNXwnAsrpIF0B1R3uLCUu5eGUOhdQDXco6YSS56b3ueriTOTt1Y4w279EA2Ny3WqhOQh0MY6gm7f5b+VhRQEJUuLBXS3X0xv+bzlS8Y/fv4en6kAeaEayvDp8d/iojKfmvYQJliMzdrS2oVleB5xqCjPDkLo0g=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `TODO|placeholder|You'll need to add this getter|adjust as needed|TBD|FIXME` (`**/Assets/_Project/Scripts/**/*.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `TODO|placeholder|You'll need to add this getter|adjust as needed|TBD|FIXME` (`**/Assets/_Project/Scripts/**/*.cs`), 9 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"},"range":{"startLineNumber":129,"startColumn":57,"endLineNumber":129,"endColumn":73}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":{"startLineNumber":174,"startColumn":9,"endLineNumber":174,"endColumn":13}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":{"startLineNumber":217,"startColumn":9,"endLineNumber":217,"endColumn":13}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":{"startLineNumber":227,"startColumn":9,"endLineNumber":227,"endColumn":13}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":{"startLineNumber":237,"startColumn":9,"endLineNumber":237,"endColumn":13}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":{"startLineNumber":247,"startColumn":9,"endLineNumber":247,"endColumn":13}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAnimation.cs","scheme":"file"},"range":{"startLineNumber":257,"startColumn":9,"endLineNumber":257,"endColumn":13}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"},"range":{"startLineNumber":54,"startColumn":46,"endLineNumber":54,"endColumn":76}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":{"startLineNumber":3,"startColumn":26,"endLineNumber":3,"endColumn":37}}],"toolCallId":"d8860e06-cee9-4d9f-af7e-6a12c1a6c398","toolId":"copilot_findTextInFiles","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for text `using Unity.VectorGraphics;` (`**/Assets/_Project/Scripts/**/*.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for text `using Unity.VectorGraphics;` (`**/Assets/_Project/Scripts/**/*.cs`), 1 result","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},"range":{"startLineNumber":1,"startColumn":1,"endLineNumber":1,"endColumn":28}}],"toolCallId":"e0b45e21-1e9e-41de-9ddf-0382663c064e","toolId":"copilot_findTextInFiles","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"12caa1e1-4786-46c5-b0a6-df900c1fd6c0","toolId":"copilot_readFile","generatedTitle":"Reviewed multiple files and searched for specific terms"},{"kind":"thinking","value":[],"id":"y0SXBT8wLnWkMHjWAZCEPj+uTREmiItCt0Xir1kCwaAIBsjY4wNoUl/Er0UUg9yd/Xwj+XsTLYkAvUtlmv807AXi279twnasDUaJ6R7F0xLWMGUnJQmq4znZKLo6xO1fsMD6PmPHUFrELXPUE9ey0bK3U90oDbj7rG5DEZa7P8C7c2VuzeZ6jwsvnREB0wQi6zoy0U2OJRiJZjMgKM22CsC4mt5lB17l2u36GONh2FserLCzPXhJZwZ4KfMJjTrPGSHuynI4wKH0tnUR7xWkuMXYtcWa1mKay5aTJKpOwkc2baJ2ehaj8xKh+6NMIC8xwXQP7lYZi2yIAzIRayde9GeH4ufhq3Dp6C1WDjIfSuqY5J6T99fLBDaknaMw9o7a9JMp4vBBos0yL1R0WZfaD6A/TPDDjQ=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"text"}},{"value":"I’ve confirmed a few concrete maintainability smells (placeholder scripts, stale comments, and at least one unnecessary import). I’m doing one final sweep for incomplete/empty MonoBehaviours and doc mismatches so the validation report is complete and prioritized.","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `class\\s+\\w+\\s*:\\s*MonoBehaviour\\s*\\{\\s*//` (`**/Assets/_Project/Scripts/**/*.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `class\\s+\\w+\\s*:\\s*MonoBehaviour\\s*\\{\\s*//` (`**/Assets/_Project/Scripts/**/*.cs`), no results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[],"toolCallId":"61a7aafc-5451-474e-a19e-3c9139f5daf8","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and reviewed several files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `void\\s+Update\\(\\)\\s*\\{\\s*\\}` (`**/Assets/_Project/Scripts/**/*.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `void\\s+Update\\(\\)\\s*\\{\\s*\\}` (`**/Assets/_Project/Scripts/**/*.cs`), no results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[],"toolCallId":"81e53817-c7f2-4682-bbea-0c2e59d016ed","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and reviewed several files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/DEBUG_SYSTEM_README.md)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/DEBUG_SYSTEM_README.md":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DEBUG_SYSTEM_README.md","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/DEBUG_SYSTEM_README.md)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/DEBUG_SYSTEM_README.md":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/DEBUG_SYSTEM_README.md","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"9406feea-5a2d-4bf0-a737-97650e7b5324","toolId":"copilot_readFile","generatedTitle":"Searched for multiple regex patterns and reviewed several files"},{"kind":"thinking","value":[],"id":"/+YUPUqZDPbrkcX/Dpk3poBxHottnLgRXFxD112hnT/wVWkM1tAn2eT99s6OnH1ZGn07HTmHOOscqBoFEvJPqHrbHPbRjWHE5+3+2jltixl+vXMSiGLjn3nDnkbfkkPeUqvdK9V7HFiH9tYMJVp+nQ2BEKTojsfXY023Ls9znmJKY6AImeO3dGJWfH13gtgNU+dbS9yI+1fkaBIxyjvr8BCDA0c8kJ03uC+SaaB6kmfw8fBkT+VkGi98Cuq3aPurDcIvizKy08L57wiLIj+dKebFXYw9RuBpconQBokfn3BSTwe53XeFy3YJIAEW8GD4BwnrxUi1zybTWm8uDKWgoHjlJPZL97/RVHuuUAnVIXZyE1WJSQEuVKgUZ1oLPYT/0+463iJ/bMukQ53Uyf3KAROrMb65Hw=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/README.md#261-261), lines 261 to 548","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/README.md#261-261":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file","fragment":"261-261"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/README.md#261-261), lines 261 to 548","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/README.md#261-261":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file","fragment":"261-261"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"2923e5e4-643a-4a81-b508-3a157b7da487","toolId":"copilot_readFile","generatedTitle":"Searched for multiple regex patterns and reviewed several files"},{"kind":"thinking","value":[],"id":"CDVx372AU0XF/kzCOd7ocF54ZodZOKW9kjDPZbKm6Hpkl3KYYz3I6MYVcTKYQ+ijuQbRNpML/rAjTmuMzAgpcvvqo8+9mgJr2SGtlItn6yKAp3HbPKTn0EafXhsusircJxhDWCHUTiczafZCqELRSUjal40v4CHE0ca1bmK0TTh0jsXGJc1z92xnWvHpI9DacTzQXEZaKEYkEjlkEk4tUJcsMRdHF/02eYJk6xI5d5lCcCSibUEY5JjQXQRy58Xf37xqetsBK8CJws5litkp3Oaqc6e2M9mJim28lv3gCGWOhgJ63ETLYoFLwKHls8dTYVlipcTeYc6dLMUPFgy6JaqJf3QUvHyPSlX/b+m0+KYtRAaKIZ8anjLrWqE/7S+cXeImDoBJ67HTERVqTkE96QwpXT1cGQ=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/ProjectSettings/ProjectVersion.txt)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/ProjectSettings/ProjectVersion.txt":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/ProjectSettings/ProjectVersion.txt","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/ProjectSettings/ProjectVersion.txt)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/ProjectSettings/ProjectVersion.txt":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/ProjectSettings/ProjectVersion.txt","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"9bcdbeb1-c437-4516-8c0c-5dbdbecddc84","toolId":"copilot_readFile","generatedTitle":"Searched for multiple regex patterns and reviewed several files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Packages/manifest.json)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Packages/manifest.json":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Packages/manifest.json","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Packages/manifest.json)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Packages/manifest.json":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Packages/manifest.json","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"186b14e5-67b5-49ca-aa04-ec00f51ed5b6","toolId":"copilot_readFile","generatedTitle":"Searched for multiple regex patterns and reviewed several files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/GAMEDESIGN.md)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/GAMEDESIGN.md":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/GAMEDESIGN.md","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/GAMEDESIGN.md)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/GAMEDESIGN.md":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/GAMEDESIGN.md","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"1893796b-a505-4df8-9993-5d8cbb7960d5","toolId":"copilot_readFile","generatedTitle":"Searched for multiple regex patterns and reviewed several files"},{"kind":"thinking","value":[],"id":"2cTpqi14A19DDH0C7jYHOJxKBwF17/cUsl3mOJzdOkZQidEvJu/kNNvT7vlC1vr2FqCPTA1akHJ7qSd4xYSMvIXVUc2agAHw04V8mdBZcW91EoY6XLV3RygNV6BmHg9ukEQXMvS+JDiqdd8uteSjXrlJtYzMpWZaix0YeGlb3s1YcNQN/AB3UymwwVSsbFGxZopavsZe1MDhQx3V/jUhsUSRPD9sI7o8bhC0bwSHSiBWfd6yIEx9yzXeVi2ffPkncXAunqkf6ybgBiRXC+zgr9QEbsrDxx8Nv4NARQgcJ8CVbdi+tsiD1n0gnR9baiDETp2dYabrbqukTJk1f8v3dpRcdVkc5MQoqo5ww5+G322z8RM1+kzmeAz00cUfOI3aVASWzL+Vpr+ud7K7ayjXI79jDLWI4w=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `top-down 2D roguelike|GameplayTest.unity|MainMenu.unity|Current Phase|Last Updated|Unity 6.3 LTS` (`**/README.md`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `top-down 2D roguelike|GameplayTest.unity|MainMenu.unity|Current Phase|Last Updated|Unity 6.3 LTS` (`**/README.md`), 9 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":{"startLineNumber":3,"startColumn":5,"endLineNumber":3,"endColumn":26}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":{"startLineNumber":129,"startColumn":3,"endLineNumber":129,"endColumn":16}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":{"startLineNumber":148,"startColumn":19,"endLineNumber":148,"endColumn":37}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":{"startLineNumber":172,"startColumn":16,"endLineNumber":172,"endColumn":29}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":{"startLineNumber":194,"startColumn":13,"endLineNumber":194,"endColumn":27}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":{"startLineNumber":195,"startColumn":13,"endLineNumber":195,"endColumn":31}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":{"startLineNumber":275,"startColumn":42,"endLineNumber":275,"endColumn":55}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":{"startLineNumber":545,"startColumn":3,"endLineNumber":545,"endColumn":15}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":{"startLineNumber":545,"startColumn":36,"endLineNumber":545,"endColumn":49}}],"toolCallId":"a567c4b4-a008-4799-a383-184807641b88","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and reviewed several files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `Unity 6000.3.3f1|GameplayTest.unity|Input System|InputSystem` (`**/GEMINI.md`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `Unity 6000.3.3f1|GameplayTest.unity|Input System|InputSystem` (`**/GEMINI.md`), 4 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/GEMINI.md","external":"file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md","path":"/home/breadway/Documents/Hazard Pay/GEMINI.md","scheme":"file"},"range":{"startLineNumber":12,"startColumn":17,"endLineNumber":12,"endColumn":33}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/GEMINI.md","external":"file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md","path":"/home/breadway/Documents/Hazard Pay/GEMINI.md","scheme":"file"},"range":{"startLineNumber":16,"startColumn":20,"endLineNumber":16,"endColumn":31}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/GEMINI.md","external":"file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md","path":"/home/breadway/Documents/Hazard Pay/GEMINI.md","scheme":"file"},"range":{"startLineNumber":16,"startColumn":38,"endLineNumber":16,"endColumn":50}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/GEMINI.md","external":"file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md","path":"/home/breadway/Documents/Hazard Pay/GEMINI.md","scheme":"file"},"range":{"startLineNumber":91,"startColumn":30,"endLineNumber":91,"endColumn":48}}],"toolCallId":"e074e5b5-2d8e-4d0c-9d0e-73cf75e396e2","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and reviewed several files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `Current Unity Version|Primary Scene|Windows Standalone|No test assemblies` (`**/AGENTS.md`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `Current Unity Version|Primary Scene|Windows Standalone|No test assemblies` (`**/AGENTS.md`), 6 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":{"startLineNumber":18,"startColumn":18,"endLineNumber":18,"endColumn":36}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":{"startLineNumber":24,"startColumn":9,"endLineNumber":24,"endColumn":27}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":{"startLineNumber":371,"startColumn":22,"endLineNumber":371,"endColumn":40}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":{"startLineNumber":389,"startColumn":13,"endLineNumber":389,"endColumn":31}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":{"startLineNumber":400,"startColumn":3,"endLineNumber":400,"endColumn":24}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":{"startLineNumber":401,"startColumn":3,"endLineNumber":401,"endColumn":16}}],"toolCallId":"886d1294-3b51-4270-9ef4-144de4c9569f","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and reviewed several files"},{"kind":"thinking","value":[],"id":"nHl5Wmsx4iVIWPzsPG3SXJvGvukbUkP9+slOKaOzDDyPwwy5oUyaebvtOrkL0F67nxXlZUW96JHQEhTiFVEs0ianfoAV4+5IB6getlybVy3fwaGNl6Efyxa7GA4cWL8ak9mYoCsuSEwRtyXC/znPHBTTNZeYfeqlodZ+V1UDCVs5O6umVSQ+bVunEfJXcGbf2BfmLcnmGrw4ag4wwCYcjxI1Y0UuZW2b5/QFMrv+n03L2TfK+SnFnPz0QZmXKeo8aFR44RWMcB8huw2ZPRauDbTgD+c/TxGGsyQXza34z6RPs7GU0Enl1MMLWmD3aHJrvnlc3yP6h0RY/UfdnwZP4J2s/q0TyaDZ7mExRMYd2RSO7jNC9BT2qgkuFoyWXkkCWx2n5E0f7KSgf92omNXmDh6ErqLFzg=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"confirmation","title":"Continue to iterate?","message":{"value":"Copilot has been working on this problem for a while. It can continue to iterate, or you can send a new message to refine your prompt. [Configure max requests](command:workbench.action.openSettings?%5B%22chat.agent.maxRequests%22%5D).","isTrusted":{"enabledCommands":["workbench.action.openSettings"]},"supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"command:workbench.action.openSettings?%5B%22chat.agent.maxRequests%22%5D":{"$mid":1,"external":"command:workbench.action.openSettings?%5B%22chat.agent.maxRequests%22%5D","path":"workbench.action.openSettings","scheme":"command","query":"[\"chat.agent.maxRequests\"]"}}},"data":{"copilotRequestedRoundLimit":38},"buttons":["Continue","Pause"]}],"i":58}
{"kind":2,"k":["requests"],"v":[{"requestId":"request_ffb90127-2fc6-4360-b79f-5a33bd198518","timestamp":1774364232091,"confirmation":"Continue","agent":{"extensionId":{"value":"GitHub.copilot-chat","_lower":"github.copilot-chat"},"extensionVersion":"0.37.9","publisherDisplayName":"GitHub","extensionPublisherId":"GitHub","extensionDisplayName":"GitHub Copilot Chat","id":"github.copilot.editsAgent","description":"Edit files in your workspace in agent mode","when":"config.chat.agent.enabled","metadata":{"themeIcon":{"id":"tools"},"hasFollowups":false,"supportIssueReporting":false},"name":"agent","fullName":"GitHub Copilot","isDefault":true,"locations":["panel"],"modes":["agent"],"slashCommands":[],"disambiguation":[]},"modelId":"copilot/gpt-5.3-codex","responseId":"response_017bbc73-228c-404a-8b3a-421c2345ce3b","modelState":{"value":0},"contentReferences":[],"codeCitations":[],"timeSpentWaiting":1774364232091,"response":[{"kind":"mcpServersStarting","didStartServerIds":[]},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `public class RoomManager|public class UpgradeUI|public class AudioManager|public class EventListener|using Unity.VectorGraphics|FindFirstObjectByType|Invoke\\(nameof\\(InitializeUI\\), 0.1f\\)|EnemyData data = enemy.EnemyData` (`**/Assets/_Project/Scripts/**/*.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"53668cce-218d-4fcc-9944-619a79f6ee89","toolId":"copilot_findTextInFiles"}],"message":{"text":"@agent Continue: \"Continue to iterate?\"","parts":[{"range":{"start":0,"endExclusive":6},"editorRange":{"startLineNumber":1,"startColumn":1,"endLineNumber":1,"endColumn":7},"agent":{"extensionId":{"value":"GitHub.copilot-chat","_lower":"github.copilot-chat"},"extensionVersion":"0.37.9","publisherDisplayName":"GitHub","extensionPublisherId":"GitHub","extensionDisplayName":"GitHub Copilot Chat","id":"github.copilot.editsAgent","description":"Edit files in your workspace in agent mode","when":"config.chat.agent.enabled","metadata":{"themeIcon":{"id":"tools"},"hasFollowups":false,"supportIssueReporting":false},"name":"agent","fullName":"GitHub Copilot","isDefault":true,"locations":["panel"],"modes":["agent"],"slashCommands":[],"disambiguation":[]},"kind":"agent"},{"range":{"start":6,"endExclusive":39},"editorRange":{"startLineNumber":1,"startColumn":7,"endLineNumber":1,"endColumn":40},"text":" Continue: \"Continue to iterate?\"","kind":"text"}]},"variableData":{"variables":[]}}]}
{"kind":2,"k":["requests",1,"response"],"v":[{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `public class RoomManager|public class UpgradeUI|public class AudioManager|public class EventListener|using Unity.VectorGraphics|FindFirstObjectByType|Invoke\\(nameof\\(InitializeUI\\), 0.1f\\)|EnemyData data = enemy.EnemyData` (`**/Assets/_Project/Scripts/**/*.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `public class RoomManager|public class UpgradeUI|public class AudioManager|public class EventListener|using Unity.VectorGraphics|FindFirstObjectByType|Invoke\\(nameof\\(InitializeUI\\), 0.1f\\)|EnemyData data = enemy.EnemyData` (`**/Assets/_Project/Scripts/**/*.cs`), 15 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/EventListener.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/EventListener.cs","scheme":"file"},"range":{"startLineNumber":2,"startColumn":1,"endLineNumber":2,"endColumn":27}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"range":{"startLineNumber":343,"startColumn":23,"endLineNumber":343,"endColumn":44}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"range":{"startLineNumber":401,"startColumn":25,"endLineNumber":401,"endColumn":46}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"range":{"startLineNumber":523,"startColumn":23,"endLineNumber":523,"endColumn":44}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/WaveSpawner.cs","scheme":"file"},"range":{"startLineNumber":59,"startColumn":36,"endLineNumber":59,"endColumn":57}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs","scheme":"file"},"range":{"startLineNumber":3,"startColumn":1,"endLineNumber":3,"endColumn":23}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectDebugger.cs","scheme":"file"},"range":{"startLineNumber":91,"startColumn":25,"endLineNumber":91,"endColumn":46}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/AudioManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/AudioManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/AudioManager.cs","scheme":"file"},"range":{"startLineNumber":3,"startColumn":1,"endLineNumber":3,"endColumn":26}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/RoomManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/RoomManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/RoomManager.cs","scheme":"file"},"range":{"startLineNumber":3,"startColumn":1,"endLineNumber":3,"endColumn":25}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/GameplayHUDController.cs","scheme":"file"},"range":{"startLineNumber":68,"startColumn":9,"endLineNumber":68,"endColumn":43}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},"range":{"startLineNumber":1,"startColumn":1,"endLineNumber":1,"endColumn":27}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"},"range":{"startLineNumber":28,"startColumn":24,"endLineNumber":28,"endColumn":45}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"},"range":{"startLineNumber":54,"startColumn":9,"endLineNumber":54,"endColumn":41}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/FlyingMovement.cs","scheme":"file"},"range":{"startLineNumber":47,"startColumn":45,"endLineNumber":47,"endColumn":66}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Movement/ChaseMovement.cs","scheme":"file"},"range":{"startLineNumber":48,"startColumn":45,"endLineNumber":48,"endColumn":66}}],"toolCallId":"53668cce-218d-4fcc-9944-619a79f6ee89","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and read files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `OnStatusEffectRemoved\\?\\.Invoke|OnStatusEffectApplied\\?\\.Invoke` (`**/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `OnStatusEffectRemoved\\?\\.Invoke|OnStatusEffectApplied\\?\\.Invoke` (`**/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs`), 3 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","scheme":"file"},"range":{"startLineNumber":83,"startColumn":28,"endLineNumber":83,"endColumn":57}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","scheme":"file"},"range":{"startLineNumber":158,"startColumn":20,"endLineNumber":158,"endColumn":49}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","scheme":"file"},"range":{"startLineNumber":181,"startColumn":24,"endLineNumber":181,"endColumn":53}}],"toolCallId":"b70d0a25-a11f-4992-9c64-1e2871172926","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and read files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `OnHealthChanged = null|OnPlayerMovementInput|ClearAllListeners` (`**/Assets/_Project/Scripts/Events/GameEvents.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `OnHealthChanged = null|OnPlayerMovementInput|ClearAllListeners` (`**/Assets/_Project/Scripts/Events/GameEvents.cs`), 2 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":{"startLineNumber":16,"startColumn":35,"endLineNumber":16,"endColumn":56}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":{"startLineNumber":522,"startColumn":24,"endLineNumber":522,"endColumn":41}}],"toolCallId":"e9b65c9b-d5c8-4a8b-a9ab-489130261cc4","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and read files"},{"kind":"thinking","value":[],"id":"ItcW7u6aeNwGhalXrZkoDdHtMzIVNpCCx0FkdWYDt5EzWjezByOD7/Dk2u/itdaXIL2U81KzKe6OVd7CLaj2Zjp02UryEOBO5GBOHL1NPogyHKlrjKQnq8aaehxJ/DlYeTeay2GxJfTMLjSL0qxYWWp2msm56jHZUD4qbMCYsSnpTr+J1nawm7znZuJIwghSNWqqIcIVr6zxxvo16n8YeY1eD7myzuPDtlN7+ae0ZaCMEvT7xDvg+KLJdT18jCjuIYgwuSgRjNI9/65cqx6tn0SGJVPgl1EKS0uben4PLaHM90t3hSthU1V2tyBcokPWwkUB3PULFq7NbGFoFzzZ0kJILYTSLSRDI/1Yp+kFrcpT8EC7/m1gKbsjBJ3u9hBjyoZnemxT4oNn1AtWGk9PCN8K05st0A=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for text `OnHealthChanged` (`**/Assets/_Project/Scripts/Events/GameEvents.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for text `OnHealthChanged` (`**/Assets/_Project/Scripts/Events/GameEvents.cs`), 3 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":{"startLineNumber":116,"startColumn":46,"endLineNumber":116,"endColumn":61}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":{"startLineNumber":397,"startColumn":23,"endLineNumber":397,"endColumn":38}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":{"startLineNumber":401,"startColumn":13,"endLineNumber":401,"endColumn":28}}],"toolCallId":"887a6454-cb31-4ab7-a057-3021b456c913","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and read files"},{"kind":"thinking","value":[],"id":"0VGPcGyXibRm0kFK/wdzm8PyvlzhS4cauI62ohEd69bjhE9SbmHszur2soH9cSGBNIP/Bps+DknFymr1HHPIfVZ1EQ/v4g5RP4hXsCxkmf8qzzLsQqIccNaB3FLVpc3MFTetLxWGLG19E+0grGPAxj5MCB11n/0nExljxxuj9MNhpWFGvCiVEzxQfdS1svGPbXoFe0kfZr4mzOUGWypcxaP8vDlq0YPfgaJhfWnWUphPN/sJhBineLOLPyWn/KIc9HaRC5kItq5ZqzzOu4Mhp+LHw2F3cUh9QloJ++iYb+PUPFLszsTFn1pbKAHCE8LXoLrt+xBgF0f03cqWDSRaUx3vCRHu+TYipWJw2/HC4L3T4mHLaqwywO2opCjrr28C2H/HiyArMFzUDY9nqYxEvaAh1EI2Ng=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `ClearAllListeners\\(` (`**/Assets/_Project/Scripts/**/*.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `ClearAllListeners\\(` (`**/Assets/_Project/Scripts/**/*.cs`), 1 result","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":{"startLineNumber":522,"startColumn":24,"endLineNumber":522,"endColumn":42}}],"toolCallId":"ca27d026-c774-47c5-93bf-84dcf46a741f","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and read files"},{"kind":"thinking","value":[],"id":"2Zj4vjfpk9PDIoJzmxJ/1RM4LRCwwpTzw0VeZIKo2vwC8Y23EJ5TNS547+1M+u4m6JIHWtQohxfzVf3z+7SLfrrpEqij/81Fj0zXI5+dlPZE4VUWhhte73EBAREFhSnRydzEDDDJH/shQn1WVGuLsXuvLtBBNF6CAdt1bdqreGepx55gSU9boK+xBacQfJ0893PvCRlDJVtJzclxs+3OASQx6fN8OaSXFYulLUrdB6kyHzvRuBpbqbV1sKbXlpXNEUQkHKdcoLSxVoJ6+sbcrkA1il6lH4JjXXDa4P3kyOn6F27p3Zm1WF7L4YNbOkUvo3cEZ/keI9M4ucxMzis7e7FZIYdd8Oo/AIhb1J1MvFXKU2W+MNvZ1x9V5v+wMlXE0M1EYn7X3E6TJNX0QxS1lnYpJ+aV9w=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for text `OnPlayerUpgradeApplied` (`**/Assets/_Project/Scripts/**/*.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for text `OnPlayerUpgradeApplied` (`**/Assets/_Project/Scripts/**/*.cs`), 6 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"range":{"startLineNumber":465,"startColumn":21,"endLineNumber":465,"endColumn":43}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"range":{"startLineNumber":466,"startColumn":28,"endLineNumber":466,"endColumn":50}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":{"startLineNumber":31,"startColumn":39,"endLineNumber":31,"endColumn":61}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":{"startLineNumber":482,"startColumn":13,"endLineNumber":482,"endColumn":35}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":{"startLineNumber":484,"startColumn":46,"endLineNumber":484,"endColumn":68}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":{"startLineNumber":537,"startColumn":9,"endLineNumber":537,"endColumn":31}}],"toolCallId":"08c14924-6ecd-46d9-b37b-56c013b6e37c","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and read files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `ApplyUpgrade\\(` (`**/Assets/_Project/Scripts/Player/PlayerController.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `ApplyUpgrade\\(` (`**/Assets/_Project/Scripts/Player/PlayerController.cs`), 2 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"},"range":{"startLineNumber":137,"startColumn":10,"endLineNumber":137,"endColumn":23}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"},"range":{"startLineNumber":139,"startColumn":15,"endLineNumber":139,"endColumn":28}}],"toolCallId":"4258c369-6664-4f18-a44e-48fb6d1bfe62","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and read files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `GameEvents\\.UpgradeApplied\\(|GameEvents\\.OnPlayerUpgradeApplied` (`**/Assets/_Project/Scripts/**/*.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `GameEvents\\.UpgradeApplied\\(|GameEvents\\.OnPlayerUpgradeApplied` (`**/Assets/_Project/Scripts/**/*.cs`), 2 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"range":{"startLineNumber":466,"startColumn":17,"endLineNumber":466,"endColumn":50}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","scheme":"file"},"range":{"startLineNumber":96,"startColumn":9,"endLineNumber":96,"endColumn":35}}],"toolCallId":"97f09073-9a32-453a-86fb-a359be078599","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and read files"},{"kind":"thinking","value":[],"id":"1MsbkyMFkfNvJAoIVWCOswnETD38vNdeM12CXeTIJg3ODUSZhS3RN2aWScFwLEa23NDNkkAK72PoRRJSMInnbCqeWXxwsPTBblPLX5mmhUQgeb5F1rXXKZr/LSsv7eQA/M/kkmFI8K3P4EB23H1688Wm3hywQ/AjqtSe2UsBsPq/0zXw4InwAFCFbAcxgY2ITFMoBXb7pkvNAplzKE3acEZy173fIPOTx8D8nPtjaSjQCUCOk0IIcsnU1rLRcQOuQZJRMrba+tejXgfmM0zBNkh01x2O7XayXjIg8L/SiP2nVnk6w4IPoEMdjTlcFeQ6x+QEpYNrEwcYsHocmwGhNw9kH6GvPv1XCsBWGUnnVNZQKBTrZnxY7K4W788/FeDDoysaE76uylPHKmO982zCuKoTn7mt5g=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `public class StupidAudio|using System.Threading;` (`**/Assets/_Project/Scripts/Enemies/StupidAudio.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `public class StupidAudio|using System.Threading;` (`**/Assets/_Project/Scripts/Enemies/StupidAudio.cs`), 2 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","scheme":"file"},"range":{"startLineNumber":1,"startColumn":1,"endLineNumber":1,"endColumn":24}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","scheme":"file"},"range":{"startLineNumber":6,"startColumn":1,"endLineNumber":6,"endColumn":25}}],"toolCallId":"8875dd6b-7186-48c0-83bc-79e944551913","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and read files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex `public static event Action<float, float> OnHealthChanged|OnHealthChanged = null;` (`**/Assets/_Project/Scripts/Events/GameEvents.cs`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex `public static event Action<float, float> OnHealthChanged|OnHealthChanged = null;` (`**/Assets/_Project/Scripts/Events/GameEvents.cs`), 1 result","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":{"startLineNumber":116,"startColumn":5,"endLineNumber":116,"endColumn":61}}],"toolCallId":"f8e01105-ad1f-4e52-a548-d8eccf420859","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and read files"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Searching for regex ``Open `Scenes/GameplayTest.unity`|Open Assets/_Project/Scenes/TestScene.unity|Primary Scene`` (`**/*.md`)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"pastTenseMessage":{"value":"Searched for regex ``Open `Scenes/GameplayTest.unity`|Open Assets/_Project/Scenes/TestScene.unity|Primary Scene`` (`**/*.md`), 4 results","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"resultDetails":[{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":{"startLineNumber":148,"startColumn":6,"endLineNumber":148,"endColumn":38}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":{"startLineNumber":11,"startColumn":16,"endLineNumber":11,"endColumn":59}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":{"startLineNumber":401,"startColumn":3,"endLineNumber":401,"endColumn":16}},{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/GEMINI.md","external":"file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md","path":"/home/breadway/Documents/Hazard Pay/GEMINI.md","scheme":"file"},"range":{"startLineNumber":91,"startColumn":17,"endLineNumber":91,"endColumn":49}}],"toolCallId":"aeeedc98-94ee-44b5-8416-aad1b5b2aa4f","toolId":"copilot_findTextInFiles","generatedTitle":"Searched for multiple regex patterns and read files"},{"kind":"thinking","value":[],"id":"AaaGs14orZayVKzoCMpkCuzjxIl+nxBkKV/MsTavSgpb2tbjYZUpwdm4/TRdTo84KvEAD3urQUoORpdN7B0+jVO/lIKj7Rz2euPOIvpkK7YH67WuNwz50K8iDer+29B/Jgw3xZcUWjD6mEBn1xOCCnXWBye+sVu+pW7cDP4bI+8lccdLY033eH5Lro4Q+1Dp46P+NcztBd9oOoDb8QP8hI8grD+Z0BV6kr1qpAS6NvDDMCLuDNxBfuMvGIAkIZ1R7ZkL83mjB88QXNYZh8erX6g7VclhhPL9DqdNsHYmTc59O3BSGdbVZT6W3ebLYLmknVJpH8fsUHpCMa05jBGogB0+A62d+ew82YZuxlgMHiJMu0NPQ7HcFKW34Ms1paJV+vIY+2tjzAYdRGQQNmlVjIayF/Docg=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/ProjectSettings/EditorBuildSettings.asset)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/ProjectSettings/EditorBuildSettings.asset":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/ProjectSettings/EditorBuildSettings.asset","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/ProjectSettings/EditorBuildSettings.asset)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/ProjectSettings/EditorBuildSettings.asset":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/ProjectSettings/EditorBuildSettings.asset","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"32968c73-9fd2-4349-94ca-4270167dff27","toolId":"copilot_readFile","generatedTitle":"Searched for multiple regex patterns and read files"},{"kind":"thinking","value":[],"id":"jQSLrXvc06wIQnHmyLxFJHeLEsD4uavaeu1l4O3hFAaVvmwHDDondFih7sn9jLHmR+yAdGd3xAVcLNb3TecqEsvZ7mYnn1LACoB00zFKR19s5lxB/Xp0kLRlaQc2syvyZT85XSPE/OH+Km5LS2X7ZI50hXNVdEZetEl/M/vwTaR/OuEHK5H0bK9UMow5oPRHF9CG/ilYVPdzUlBqBS+fHivwfGOLbZyW4zJRONAMltze6QFA7rwi2dRunot4yM58XW8fN1pGwUFsexlNbzXMhp/d5e57soBnNeRwCC7xbM9uWi3qySLc/8CTpnoQjAfJEwhBpDL6hikF8TBW/KsdEetTtxtOpygZJ16CVCR7RPLrCgTbTZkCQ9UlJ0y6XmskymvukSk1p/b94pf1QpM1J5VITPNfYA=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/Scenes)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/Scenes":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/Scenes","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/Scenes)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/Scenes":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/Scenes","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"0ab87963-0c0f-4c1d-a6d3-486858806c07","toolId":"copilot_listDirectory","generatedTitle":"Searched for multiple regex patterns and read files"},{"kind":"thinking","value":[],"id":"w3dNuEu/LgL8bsXuy1pbo5joIJrganeRoVOTyYZJJKxdJMginqZR55oKSKZcgRSDJKCLzRe4WDgTfQP0+R040rnskOAsGealDfLzWqWhNjRHB8FXtaxyH2Lbkt6WL0ZFXK+cvmGaYh1hAc3e9l8nKMHi25clYJHPmgNsNGndEoeCvZbAF3NRTyzfoTA104w3ZbU1Cuz4gJQIIzaRStAs5V01CHXCuJT49rQye8EBtprvvNirICRLUIRvqVQkjA6FAd/nZSVEzGTfMnWEg8SFAs2jxycJnBFWR1swvdmIrx7599KYKHKMKvAKFYBDzT2a3a1NtWm9Nlo6/uXdw0e5oWnfDLxqsLiI9VCYkP6HLKndXYRg6NZxpc2PLVdWUfBXanZUR7TAzGcXPcRvzIr8pEfRPUM4Kg=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"text"}},{"value":"I found a high-impact configuration issue: build settings still point to a non-existent sample scene, which can break play/build workflows. I’ll do one last targeted scan of remaining core scripts and then deliver a prioritized validation report with concrete fixes.","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"9f107555-760b-40ce-8568-2340ea8c22c9","toolId":"copilot_readFile"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"1b1e8ff4-789e-46fb-9c9d-16bbce535c81","toolId":"copilot_readFile"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"76365aa6-7cb5-476b-9edb-9fb32b5013fe","toolId":"copilot_readFile"},{"kind":"thinking","value":[],"id":"gjuaZ39ZD1No/WhqTFydxevMziBKr67okdJmUPav8vNAdcYQrJR/bdRTvjEOWfwvdVfgnapFzcDZcm+Gm4mLwxAeEu3RUzWGWrtWMNpzyQFKQX5nIGhBaIk2s4weMWTVYEVAggzD9GPIg8DEH+sX9FtSMnY0NKnhPJxmQ424rRf7LiiPRtVRa7yfd6Dgk2SD6ztsDDpyW3MuIygNljQI2R5RsFAWV81ZiS1FrvEo2snkuUBxCwnrRT1NeFenIQSJQ/rPUjmVNLxeD3vGz4vxQ3lXhgr+P2ZAFQ7uPjonM1AbecGfQgTf4GxngDBEuOMtQhmrEF3jcAY6053E5WPXW06J0IjBg6eylp1E9USMvoXjoqKFdBGJsCM1e6YkyRNd5ehRtZu4tZuDBP7sL0ZztYKLWfsvXg=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":"","pastTenseMessage":{"value":"Starting: *Summarize findings and actions* (5/5)","isTrusted":false,"supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolSpecificData":{"kind":"todoList","todoList":[{"id":"1","title":"Inventory scripts and project structure","status":"completed"},{"id":"2","title":"Assess code architecture patterns","status":"completed"},{"id":"3","title":"Review docs for accuracy","status":"completed"},{"id":"4","title":"Validate build/test readiness","status":"completed"},{"id":"5","title":"Summarize findings and actions","status":"in-progress"}]},"toolCallId":"38d98cfe-2a15-48a1-8e89-0e6f7d1a883e","toolId":"manage_todo_list"}],"i":1}
{"kind":1,"k":["requests",1,"result"],"v":{"timings":{"firstProgress":7949,"totalElapsed":84016},"metadata":{"codeBlocks":[],"toolCallRounds":[{"response":"","toolCalls":[{"id":"call_vJcANX7ShVYQIc8K4nFjhYeY__vscode-1774363162454","name":"grep_search","arguments":"{\"query\":\"OnHealthChanged\",\"isRegexp\":false,\"includePattern\":\"Assets/_Project/Scripts/Events/GameEvents.cs\",\"maxResults\":20}"}],"toolInputRetry":0,"id":"0450c2da-2692-4e4f-8733-eda0814e88d1","statefulMarker":"KyG+zi8RtkwHl3DvkNK/XJkBpVMiDcmE1Rsx67RM1UmZeBmesH77s8cYRkU7uZwROTpcOwJHvIUxSwo5gjXzVzFhbgn/hhoCSpZiL2+sYQTt1wYthh7fJ2lmongj7Qmo+0g9jsKPL6NTbN+KdVuwwh7Mh9MybUCn0SZNQDGV8ml6/S8BFIqcs8dS7JcPqZvue09rQXea9obT7lnC2xsNxFWNo7ZEOLsajKknEpKZDmDnXKNoEew7Q2FMExDUddRejSUb4HDdljKe3q+7HHb6cDBAwq/NPVog/D1AW9/MqrnB10jqVAHlpAoZ2N/tEvFc3kvBmV43/4p4kTre/qBRq0bz+u0/JVdIz8pITpNXiu8sskqSmZVYtsQYAETORmgL9WOaEmqIfJybc4aWD5XOL/p1hM/NpOGg","thinking":{"id":"ItcW7u6aeNwGhalXrZkoDdHtMzIVNpCCx0FkdWYDt5EzWjezByOD7/Dk2u/itdaXIL2U81KzKe6OVd7CLaj2Zjp02UryEOBO5GBOHL1NPogyHKlrjKQnq8aaehxJ/DlYeTeay2GxJfTMLjSL0qxYWWp2msm56jHZUD4qbMCYsSnpTr+J1nawm7znZuJIwghSNWqqIcIVr6zxxvo16n8YeY1eD7myzuPDtlN7+ae0ZaCMEvT7xDvg+KLJdT18jCjuIYgwuSgRjNI9/65cqx6tn0SGJVPgl1EKS0uben4PLaHM90t3hSthU1V2tyBcokPWwkUB3PULFq7NbGFoFzzZ0kJILYTSLSRDI/1Yp+kFrcpT8EC7/m1gKbsjBJ3u9hBjyoZnemxT4oNn1AtWGk9PCN8K05st0A==","text":[],"encrypted":"5vA7mCfQl0ev0DlCN72RdJlhtXaP3CZfk34nhxST1Qv+lA738hF1BFOhxoIe7pqcndRtXZnHU6HEZFmY3MhKHJps8dMM6u3sXlK4hBPyDXc9se21IdA2kYI/VYnUZoBrVnZzuJ8xA2sYs0sqX/l4nYYnBNv4Dw0YwgChV+90GlZno/JrqgzuE+OJECcRYm9OgYQdyTzyKI3L0GhqUUxCer7LQcpyLfHjNzdmAuXnzBQuh/g4m79C5auhjcfRE9MnM/vSuyNJY6y51/RQgztI3JAPLobLgZ7/QFkGwdVnCw6KSa7tHwI/uASXSJHbpgDlCiveFppbK3a2nTNXAKOYXFUqyCmY8OlIzQ3ZgP6rPinYOj4v/d7G8PNiJJDIW7bvrlfOkpmm78hE3qlBEbRBnXfrKo3CvqXYDUimMqXeqOHcB9rkpRQzGotpvQSA1z8vYeWiVtA1qAx3SFtU6e55FBJHDDICVLKK6Tgv4caHBxVENdrpd3dSO26KpyCxC11hHaBWjleJhkhszls/OhLQM3km+5LvsiirMjMvLJOPZU6bg/qgVbv/QWk3F/30+SHz0C1bZBo+G5VvOoQeJWQoQjjORIcNCxrlVypZSuG6RIKBEvpP/y30k4JDx+5RR2sNcfTEBPzeqIn1iPiRrJEmaB/RhMcIdNhvPwXq+VHhEDfiN+VajvjyuZHmfzo9950YIOCUs/DS2mQv4l2g3BGWAwKAH0/Du8+oqh/0rP6PUvtTdG0OH5Gv5SVPLZRLYtz5lDuqmrhzzJ7aGyMUCzK8aACbkmhBqeMWI4xI15V614J9RDe9IbnaHkoDVvJJW5Bty2gjsIeL3Hemtwjdbr4IiD6I3Bs/kZDdQrl03+PYltuU1CVVkhTcyZ8jkJ4a5ivqDLCFhkuu1eq00/XqQld3UMe7IczmbvnYFUCbIUWsVly4BEHv9RI8pujblRcGvOwCj51V8NpC0r56GpMt0Df1edOHRjFh01m5Arc6KQ4BvkLxmFW3jZ7Wb6kW68n0eXJgQxq4KcSfAQFBgfvhaMWNq4ovbtL+2k/YhEISRz+amXhG8KLt1iIwgPpQlbfwHtRWttuXxMpxkUHzaJRFtdjaXbfBXZ52b7pMZOjI7y5EMGX67zwCN2VyZJsEzj97WmqzKdhgfwgYzb1RYmh3lwgP4QycU9SDNg1sN6HUH922bR+AAbeC2Uw8xw/qy11JXhMTbickb649ER8Lyr4fLmB40g4TtDyIscbdnqimG1lPn++7L8uhIhyQZpjKJis8Mm2yE5pofwNUsNdQhY4/yRrX6MbXffwolnN+XRTzWDlk1sntDYe5cubHvdJyqrbNfj9g7IWEmEDI/q3aS4O+v7RSkIl7fCbswUNVLTWqydFetcLrwoFNQLvsiHpH0z0TJoBirisfn6cNrYNd9I7Nmz+VI1KYX9P+q2dUws6XKc4YIC2fdYVRFfa7GdoFFGf3Obvt34V7lJ2Jq8JeFzaRCXEcrLVEttrJnTrbFIZw36ZjI7qT8DMZnweUsHsTa+PSVyPwoxzr4CP2pzP0UIBepx/CA5OX2Yze8E3ADfNzlin1p8PTzKUEZ6IIM0DU5ePtPu9wmissYUS/Juk7gQYNIl+NYbfo3QJvkbAtThKluqXWQfH9Ir1AuFjDgRTY7nqE6kRBjkw00kDan0iE+aky0RWP8huzKtPcfCt0YtuIeaR610/8nUSzCs7mRxhOF1rHUXKLvvN/wQJ9Q5HlHbqL+o2lNe6j0QxNLLCPP1JM3J8RdZ2i0XJMEVNjwTDhiOnxBPaY4duifp8Qg/gw6ZXaIxaK/qhTWslAChaE3VO+NaGo59WvRs5ZHvSm1RnEehWk3UHchIN2ao+M9SNXmrJFsc8Or3ZQZTE3nVECL1Ztd/V4eTo8fMM6Uqy7mkpU7o0=","tokens":51},"timestamp":1774364240487},{"response":"","toolCalls":[{"id":"call_PXirfHmARlrhInKNgA0Vc1BP__vscode-1774363162455","name":"grep_search","arguments":"{\"query\":\"ClearAllListeners\\\\(\",\"isRegexp\":true,\"includePattern\":\"Assets/_Project/Scripts/**/*.cs\",\"maxResults\":30}"}],"toolInputRetry":0,"id":"9d759677-a6b7-491d-850a-854285af72e1","statefulMarker":"VG5l/rlf2tX3gHI/IbeLnkrLzmMHm5Oux0oFc0bLLpUMCUoO9Wfa68GTbjTIIf2zBF8jTZVwbcbvWtoKaycnd3LGucmD0PJ60AlcFym2GRSntrUbAxS1zjgPb392h5PYNqBKom9cE0JUkiMqJDqFql1Dpmh4vdz7DxHl++oofsg6qorKVv1d5xHK25KdD9fQJ54rprmTZrd803d26UtRXLsPlKOF0qTOBzZ0y1TppGo7C5lOIMS8R68Y8ui0yUn//zzowokA8DqsFXW+/uamChMyEVs9Hiongn+bLCPu+t6Oxcm0UHD4eYtCp5+PTjfD2dO+DHWQUT9twe80iK3ifLifkWNdrbjkWSCSB2Z1oACOoWQxGuYqPhLmhEx4cGi4/+rGhqA4cABMWUw0c3prY+VzczdWo3lZ","thinking":{"id":"0VGPcGyXibRm0kFK/wdzm8PyvlzhS4cauI62ohEd69bjhE9SbmHszur2soH9cSGBNIP/Bps+DknFymr1HHPIfVZ1EQ/v4g5RP4hXsCxkmf8qzzLsQqIccNaB3FLVpc3MFTetLxWGLG19E+0grGPAxj5MCB11n/0nExljxxuj9MNhpWFGvCiVEzxQfdS1svGPbXoFe0kfZr4mzOUGWypcxaP8vDlq0YPfgaJhfWnWUphPN/sJhBineLOLPyWn/KIc9HaRC5kItq5ZqzzOu4Mhp+LHw2F3cUh9QloJ++iYb+PUPFLszsTFn1pbKAHCE8LXoLrt+xBgF0f03cqWDSRaUx3vCRHu+TYipWJw2/HC4L3T4mHLaqwywO2opCjrr28C2H/HiyArMFzUDY9nqYxEvaAh1EI2Ng==","text":[],"encrypted":"0PIukFQjxY53U4YxehZK5KdiSAJHNlAVDNjsKCLwdHzCL9Zl5AODGou/1Q4v4B4RVIFvW4qsQ0KvPVRQ/TUnADs1RMbXKuxun8H9nnuzDF3fzq1W7+dyghVxp0q07Xx/p1XZj4cU4ocO8ksq9wduyenn7EkgA7ZjtDWDuH9fd8XV9IXf8awk5e7APUOHtrnZ5YdzUiUL5jhoazS0A0s6b64yiybw5nJuCLNw6ui1XywQ/99MUoQo5eyFfinEvmIWM4FMkGs0Z6syN/i/R5nBYVAUF6xYJ0RttpKBaSF0lrP3DJX2ABrp9LHssriHo8oXdaYSeZO0S+pCwYKQHvGQtURxFp5A3mR9rNDGgXaYKZgLC7ZVV8lA4F/m9XMRwefy5ohKYoZa+ygNlIgYXob19UdLDYvbRwF7Bd5rsrZk21z5AYWD4D923Hp30pd0A5kWGWLt4JIlnMFIq1GLTOPewIA0qpEjxwpnVsKKGuitjovh/BJtxBsUYyMwPlhygOG0MH9TmpX6WufabH90i9oq8wsbd3iTj8kwT78693Z1UL+85bZBMGfJqxNMuV49/7O62AP/nbQ9M7w8rxZQobEBNqtopw3jAbZPXsQ9Ph4hw7tsj7Bthx25LIsABEmDwUwUZJ/+nstWjyPS5GQNSOK3CPf+kOwOS3kyNTvqORnZsoVsA8pvFCzdKOjDMs/UlGHfHWd6Yhp0yJncphRA75dTN+BGYnlhsn+N4r2ZEorqRbn15q/GCKn+kD4QQPyjliG40BjHvULnWWsiz3CmPU4PSReS9dE9Xe3Z+/8pZKH0VX8rfKzEnDF8/zlyLzuV3n7S6SE9djEVJQLypi5mnK9xmxbUfdNVBdvDfsJtBqhO4zBAqVeoThk1tCBRg7RZl6wpxWQPjkvxSu8LxqgZk/O0DYiVieZGs/TbnCOB9pf/iT1E2rBDfDflCns4t1OUvQg+/SkcnoQoiFWWReZH7rhu1AxbDa4x8pzZ6zOH53qY6uSAmNqaagwtGLIrC3zMYTgHMgiFOFD7wQ66XwuP4/pCt5+IiZybhax1KC38tQa1KDJdCQmiuxAfbkVhBEC0MGWidbAOum9acuP6y1DFAP/2sEwPyVVprNmgaZ0z42/KMvR+IMgRgHO7D0Z/j0oifEpBQmHCHwF/FSOg8XF2gVE/qYzGkTkYDM1QTZ/a/Q4pS0h96L1LT6g+/izc/2oYlMQqvg2okkS1/kU1FnLlSXiKKm4P5T8Y4ro1xwBepi21G2LxV0yw4OjjrPZ1AWCJc8ex+sdoFF4cIM/YlWkm3um/mfyiJBRKSca1YANvPK8ET3gSW0Stu94E16SFhj1bDDg1hoIdZ2BK00BCXXBXhJHXJnD4P5CjAXvoVHLe66xW0AT7U5lbZE/ulb1H5/tLvRKMaVd34A+cqhWzMycYfVZBYAW2ZIjwaxGiC1F2PdJLNRpCIZMllCAmL8m0Yo3uX37irOoPe4GW0qgeplE6HOfqLy7XoM1J+qEW7I/j2Qjo2yn3YoDvBqzErfBMnSy7tbiHf10EEfxd3Lp3vc5i44q974r2qehpjISbsjvta+wlocgohGEm2GMx55COdkmugWhdGmozQYy1P3Kb88wuVpctuEVc4Ic50H5WOfQ7B0COk2i635RDJ8FhDJ55obbQM7jN1lGYPRvAwdUZs4aX6IJZbLJHP+S1wvfRlreoLXvEAqdcB7/S0OgFkw==","tokens":29},"timestamp":1774364243648},{"response":"","toolCalls":[{"id":"call_oxvuF5OemQ9wARpbH9MRmMlt__vscode-1774363162456","name":"grep_search","arguments":"{\"query\":\"OnPlayerUpgradeApplied\",\"isRegexp\":false,\"includePattern\":\"Assets/_Project/Scripts/**/*.cs\",\"maxResults\":40}"},{"id":"call_lwGJHo2AdnG2NOwjcZnR4BHt__vscode-1774363162457","name":"grep_search","arguments":"{\"query\":\"ApplyUpgrade\\\\(\",\"isRegexp\":true,\"includePattern\":\"Assets/_Project/Scripts/Player/PlayerController.cs\",\"maxResults\":20}"},{"id":"call_6Rrcmecn1Tf7KJy0ZnIbwz17__vscode-1774363162458","name":"grep_search","arguments":"{\"query\":\"GameEvents\\\\.UpgradeApplied\\\\(|GameEvents\\\\.OnPlayerUpgradeApplied\",\"isRegexp\":true,\"includePattern\":\"Assets/_Project/Scripts/**/*.cs\",\"maxResults\":80}"}],"toolInputRetry":0,"id":"1313c5cd-5fbf-4194-9b52-7559336e8d39","statefulMarker":"Js4IQ1MdyZhSP8vtb6GogkFBYb+AstxpkN1NvSCmAUJeGvAG/nuM/DRKQPeRUvDkWKSMh8BWjKQIpnT+nGsMbAq+4dEfRBxiNA6JBURWsMfT1Z1slpjoaiDzCc2B+klOUwZWrRyYbKdh1L5v5x7HaoB/Y+ljqjHEfRCN1tTQ1z3vlx5HMXFdRsaIIrfU7rwjJYaDHxnSFnOIhBRaylfjgX8XQRbTqMIbflkPUVM+cRRJHPPf7SW9jiwpcysj+ZKzDkppMte04nrv3sHAM7gsNa39qrwxzvIryye3kjLlGDcqXu4t+t5fhEepV3NWboI+CUZMhSB0cVdG3N4D1orQe2przu5MeRQWE0UV1/pkbCYM3gNPXg9sDDfWwt5KmVoUk7N0Pawv3RBoEsXb6f7Apn7ZGRzD7b1s","thinking":{"id":"2Zj4vjfpk9PDIoJzmxJ/1RM4LRCwwpTzw0VeZIKo2vwC8Y23EJ5TNS547+1M+u4m6JIHWtQohxfzVf3z+7SLfrrpEqij/81Fj0zXI5+dlPZE4VUWhhte73EBAREFhSnRydzEDDDJH/shQn1WVGuLsXuvLtBBNF6CAdt1bdqreGepx55gSU9boK+xBacQfJ0893PvCRlDJVtJzclxs+3OASQx6fN8OaSXFYulLUrdB6kyHzvRuBpbqbV1sKbXlpXNEUQkHKdcoLSxVoJ6+sbcrkA1il6lH4JjXXDa4P3kyOn6F27p3Zm1WF7L4YNbOkUvo3cEZ/keI9M4ucxMzis7e7FZIYdd8Oo/AIhb1J1MvFXKU2W+MNvZ1x9V5v+wMlXE0M1EYn7X3E6TJNX0QxS1lnYpJ+aV9w==","text":[],"encrypted":"k6yW98une19SkmhW3AI8uuQr9eyZ2xF51+SoJk//+duAGdt8gu56/TSbtvWZwNP2b8bBMajPF1pVmWtXg4ohe2INrSm4Y5fXEi6znqvYX4h7GoOo+O6xrjulIzochAoZthLZP1y/wLun2Lgd/NcwG3Pwc/2V8ajd8cTZvvh+N7ikvRth13KWcmF/nWn6+KupMjvwew+qjg+21hWmPs9JHmMxqrUzDmhDLgGNoYaTc3dkWwApNWUxcPDTyRufxiZe/cBOnXRti/iUTROJLJjWt+TnCHeNcupFW5l9ZDdwgWRH+FC/2E/1rgqAoVWyjmJm4zCvQVAsbtVKF61gOUpP3oxvhRGK6ERXaSUmUz0+HW1Z4YP4FQFnoVfn0YFatGFBZOmoMAA4b8yvIj6Jfi/1t4s+qSdjzuJmrVxSEM3Yw+iyjAOErabC+0qvFaC+JVxuWiJim6x/cOsguUcdCGAd49M0SJb2Tp2w1NkdcmQtbdpBCu+qNSmxGWxBWXBkEQSEQexIRbNB/kT+bZbPYuLr1C56gD1favzii7cTBHeszZyHWlVTv8ofcuRU1vhdYvsozuTAWMeo1A/kHuEY5yAxGnRZRDY8UK6FlNhsN6S3LLlWxbuWIiSySfIYgCkUuuLj9i5oC3jXa38e8aYKpra8RRVLm5l+NmtLaYL9d2ZDPLg+dd+fH7UHc604B+8Oh+ZB5+RfJUJarf3ezHLkiAFAQwZb0/WR93abGnKnLg003Q4uwXaqX75Z1OMXAY0SwMNDgOvJzicNgbeSy+bJ5qywqogsC23ayUBUF2IloLUszPVprszfBAhprNlgeX7q7aqSMzi8T+qY+cEh4Cls4J2RMsEWluxientD4nqckep2CncxixNUKpI/X2aOf/gri2OwXajz2kKfsRwFeLKG1V1g/hgqy9xM9d/xqvv9Lr8vK1QYel8WCt2PNqWADPkEbMtglX7Cd93Ibp8K2l+Wqn8BE7p7oPeBb0KLf3v+Dp/8sl4XDS0ZTOaLs5RAiEaaxhm7g1Ikpd9UWU8zxk6U7WGsCLeJ/7ziFrTWWhX1lVeEM5/RgEm4DG4vcYjf7k0W33mxZuXKKklCewV/aoXy1yWfZTt8UNiKkCndAWhVgNvR5dHXArwK85t3F9H5gUQVJJs/atrI4D5dT+LcQWtbog1pS8n9e/CC252kbx2RVhl1z89sT8eOxF4Fe3J0OsOjix3kXg7XQhegQ1BAIv7YKK7N8vgX+Nt+lUDPXwWVmPaM+z4kz2udHzrQYAUVa+urt0isxizKwgfDbVMeHRDc8ezDhZcmDhZXpAYo9JS/YLvXJYdjQlB2Fv5T6i4Xo7rkatD613lhAmlIfdoQp4hNr1ylHhEuGjDNEVsLhGISiLAL4TWIv9+TieQ3diiK0ou65yKqseEFGvN8iq5HAokZntFgUq8mKaaeOO3bDgrYETkWrwrkJ0CBOLFIlrwznWXiSxkJVTGYd0OeauqfmuYWWYe1/uDENB3qS7G3ghvj/50YDkaN3/Ie+PLf+vChtcPgLkvBEYLlBhZaGh9CH2jr9xJ3DyevRRgAvR2kAQXlvoq6ZC+cOGRRsMabk2OodFsH/ElU9Mk/5HbA6lotUaG7MUSJHOR8Ns9CXJzOIPhPRWdmEOW8ndXJWiB4XQOhEGpd+i4OHySTiviQ2Z0i9pcEQw7AYO5j2OS4c4s/x+Or2mqjtapjD5qY2PHNfV+SJw16cYaFcDsjJoeTa6CwZwo5jPFVMGLhTIdMHSiHMAAvyccIV145Cxd0y3k0zXqxTSJPjabrgtITITqxWMSIAUNI/1zY3RDSwKpPO5SdFWp2mIL0rcr/sD4dAM64velmOSddKjzkvuX4OBqDDIs46OlzbjglCvh/AfC45TeSZCaQww3cDO6cSQfZv+dDXT3DcKpPYQUmv7hQCJu1gcgR2X7qr+vb5x6TKs1E7iK+dNaxLmlzY8BjXuWA8kXEEaAf9D7nAMIaumfHvBkUu+gSKoVS2sFKbwQ3bLenMCizN5L95S1mJVDk35yb7evNJSyD+9W/Z9w3kdW9GTwnw1w=","tokens":68},"timestamp":1774364251153},{"response":"","toolCalls":[{"id":"call_mrX0QjBubQcDIr6bhEEoEJGM__vscode-1774363162459","name":"grep_search","arguments":"{\"query\":\"public class StupidAudio|using System.Threading;\",\"isRegexp\":true,\"includePattern\":\"Assets/_Project/Scripts/Enemies/StupidAudio.cs\",\"maxResults\":20}"},{"id":"call_Pec7sQPgMolB8rfYeLKy41un__vscode-1774363162460","name":"grep_search","arguments":"{\"query\":\"public static event Action<float, float> OnHealthChanged|OnHealthChanged = null;\",\"isRegexp\":true,\"includePattern\":\"Assets/_Project/Scripts/Events/GameEvents.cs\",\"maxResults\":20}"},{"id":"call_eCAYiiVwIiCz0lyyENvCvNwS__vscode-1774363162461","name":"grep_search","arguments":"{\"query\":\"Open `Scenes/GameplayTest.unity`|Open Assets/_Project/Scenes/TestScene.unity|Primary Scene\",\"isRegexp\":true,\"includePattern\":\"*.md\",\"maxResults\":50}"}],"toolInputRetry":0,"id":"b36253a2-6d42-468d-982d-683703523341","statefulMarker":"8YGDe1kt25hhM38DJwxBys35zDreDOiH+v4PdPb/24ZjXyTlQfxXOX6cQoXdUWirhGzgaEBLLzKfcfoJpGsIOGdTB5XvktxliLkGhBPk4vFnVZdgRY4bNnHgkExvOTRqYWiTmSXWTvS54HlAOZyEhNaPfORxu98NAdGlPIwqNXSVKnLi1vsN9ajg5T0urHQ+Gxk86P3nqrlZwOEK75XdiyAp5P/eZrCONHjfJpSIgK/LMBdtZKZ+C/tkiXIPNMROtIATg9kWNLOvSnEiWH0iemBSQkwtjKmAtr71kPO7oOqkO3/nulq1Qs9XD00Z9+tPox+MnUZ9uuf2JZMUBxDRqis07YtdUy9tADpGBPFDGDC5w/Ar2lId9ySp15RJpYKAe+N2gItQp6WKw2aUBNcJjs14fr0V6CCI","thinking":{"id":"1MsbkyMFkfNvJAoIVWCOswnETD38vNdeM12CXeTIJg3ODUSZhS3RN2aWScFwLEa23NDNkkAK72PoRRJSMInnbCqeWXxwsPTBblPLX5mmhUQgeb5F1rXXKZr/LSsv7eQA/M/kkmFI8K3P4EB23H1688Wm3hywQ/AjqtSe2UsBsPq/0zXw4InwAFCFbAcxgY2ITFMoBXb7pkvNAplzKE3acEZy173fIPOTx8D8nPtjaSjQCUCOk0IIcsnU1rLRcQOuQZJRMrba+tejXgfmM0zBNkh01x2O7XayXjIg8L/SiP2nVnk6w4IPoEMdjTlcFeQ6x+QEpYNrEwcYsHocmwGhNw9kH6GvPv1XCsBWGUnnVNZQKBTrZnxY7K4W788/FeDDoysaE76uylPHKmO982zCuKoTn7mt5g==","text":[],"encrypted":"L0qCuVl4O5dEcFOxPjY1IVlqplDN0lH/KlYJti75kihe86xwiUD1zeJyq5XBkcpVp9SDhBD+tn1o6zYo60Gl9+ohbDXQ67OTaplpMveYZ65b1mW0iktH1kKotxzrPNic8Z+yEmDDtfAAn55ve1XeTuq/3TAVXsHb1Lgqblfp1qHpxgx6uungn96kqTJ8ky7vdQXDJcrAlF6wuONOGpMJuc2oz/QUa25O7qqdFd+N/9ejcxrfJ1KL68n2rkk/XaJ32IftMWBP0A2Wo+Vese4jprjoil+haaA5HVHwdeSE3AN/irD4RSeSpRoC2wTipsFTw+gQZEiq40AKcGVEO7/SSmabv1+JYymcB6C6UbZrw+LDr07SE3Lt0jwygFJGGejS0b1wK6Eb7zWbL83kdRp4h0vk+vsHGnAixK9A50Iftpa4TtM02elcC9NDhu+KkmuBfiiNjrM5bohVFnorHXNlVnskMfS3Ilyxb4YiAH+Sa7K3rPVg/bZXqtePI2K3o++F9D0wVyKjLwKSS94zIlQLkybbqSdVGME4h8OD/C5Q3uL/Asx53ae0FnomP3sLFmMdGHGDcE5K7qvxobmWuzSruZdLwop6TrL7CzYEcmuJSvNysS4F9h/pxKPFrxW9dqWFi+Qxyyhhbu9aQXMswbJcchoFNY+LsnvtJUSzDreYDc1urKPhZw3i9yQNsWAwI/KfQyGRoOj6GKw4XYC9dpikKpq5Jhh55pBwTX4bGplgODHxXbOM17ginY5mTqDlO1xgTc8yj9oATb8IHJ4sZIPO5o0YGykXBEOx3YmVsfCrIJKaRGnJ7qPPJixgZWRpiT9ls0t6TRAIHDYkdP/FCObHVarOc0/WLq0zRMgM/kq9eyKw4cZi+CA7gFxUIQYfSs717GKi39qMz5neKkizMHUdUKHz7QsayfTKUOkUiZw72p0A+/X0fPvgncsJbP+xn5Y1LUU7O0UAsk5Qx3oOLE2gM6js5oNtGSqwpbmtKs1p+cx1kE8+8qSx5P6335A82bXRp2zlQUaZ6I2P9qFszeWbY4kw9OFtXE1Fy4yWgF5FSeQxrUH1smM8VdmdUveNuet1Ywn35nedNMawqlaVaORAMnRUVx/iaWl3g7/1Xy1sDTBAfSSoax/VLLhdvRKT9taD1o2sjTbXUgtLkQjMTOEVASQRuWG9yd0Oal2A6/C8Cdm4ECKcS5hR93wT48C53DdBa081u0+4QTTMUoySb/2peiA0EMZDxymsShxewgfG6iYHxPMDr0vIoazrMQXaxe1HhLHJ5U5s+s0CbrTdKtxXYnqsgkuLXtFeOPjYur6ykDOFCj1yR3iWT3osaVC6VBxnTnCSysy/COWrhiHAILEUeN/ucfI6y7hJ4EsBdVN5f0HvzG7Qf2lqcSf1H3iizIfalbHmiXEhGhadFpd3pM1Izl5ldxOMDzi4VGoRYTyJoRO7vJC/TiCk7eHIcRHfTDLQansRLu7tGuD4kGHlvI8/7K5ooCNfO0lfMSMeeqO3OwgJKZAZ5SsiCQpdVnfc0xAYLpi3Nv8U9sBo+wNaYZzFEkXl5Cq0Uu5CZWBur60rQ68aG9ohwo//6Zaac3EAE0hOHrkVcyNb9FaO53iZaHxi8t3VhU+sLjouLe1hnoszUTwhKtquhHrjrfaXzEB3WghN56W5mtWRi2DZbJc2HofXefXnxLQv4mHz8QoB9XJp5gak5M1jhgg477ZZQFk4P6CaCoEV+x3bBwKhfLfmdfAp77Re/CPIozSWCH5xlsJfUfa4+JF4rKRIEGV+nzITcTa7zQY+SwuwdQg/wuVAtT5ncEAJXYpgxoiS5CJKheQxiQElhXAUVow1iG+do12Gv49YX9Y3RygUoD+dukobYG0cU5BdpAN+X/5A9/0/O6l4T+ld4OfdN/F6NpaFFOyPm5c5DocvDD7lL1jxvWt3K8ruyqn6XpzglAWUZ1VP5p48soFyYH0JK1vnNVz+9eqey08ijD+/Kszs57qm9yA5UkTlX/0cNzJ6fK6BUbD7SRvImPbZC5PgL+bNSzKvLbKk6iYbGRY5Uaf00tCivtJDDmy8Xxj+hmIE0SQEYpMAsi9s962krBNL36RVQ9hW23YyT5eitmEdLUuiy3OGtmsd+6yJ3hMgcM1tvCQXUTbWsZKOTREJE00eCRTTntO0Y8G/vcdoqU37Bg8hdX+HMSG4yckfte5fdlS9Zlz3vThpP1Iz0POK38OdK3BLb8HzlipL+Gmp7YTQqKsxn84Y1ThoRNlQJvk7pXB9jr8axb6hCt6g88avcwipOo/4ZAamqcvbajYZ25XP+fsKbeWwJXDuWPb8aHaiJX2aW2DVaGCDEaNm3hn6xqsQ5TSbKHH0M+V72SyCIotHxoox6V9JDeloVgXJMtztA/tADcv095kWfjnPibQ+hUz5tYCMLqFKSSbxbWXU69YBMpGIyENFZsnaiLooe7//gUCPYzyzu4tT0dyhqO/7iRRbLqVg9nFyHCYaa0UMy9+nzACxS8Kgnu7feAWbtxs+SdMLJ44AGuNa2N/sg0NUOvzvPzCrFUdHST7fs+nM0CyHBGJNTECCcJZcFiBd2XUBilWqZyJXk04q8yL6is1/bCQbj/cRnhb8JQXjz8Ba+48XqJXdfoFRtB6EZjzNzNWUM1PlKkt8cQrTU6v1kK7OPxaXyLL6avNIjlg=","tokens":141},"timestamp":1774364258317},{"response":"","toolCalls":[{"id":"call_nXA38wafgRVIByG3MPc0CLF0__vscode-1774363162462","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/ProjectSettings/EditorBuildSettings.asset\",\"startLine\":1,\"endLine\":120}"}],"toolInputRetry":0,"id":"a3e7bf86-bc06-4117-ae8a-1a9776244938","statefulMarker":"27gAIMGk8wKQ6dpeIh9GnNWwC7bupj7nre4gq/M5EmxcpaVyWNKp2fhwJflzjeTapI6cbU+a36VhgsMSpKfW5GIg8OfNDb6ELswCk9V9EUlNPAs0uRXF0O9aZ9mEWpnxIylyghtpXRzV7kyX60d6m452Oqg9MT3oghRVancOwKdqSn9TK70bKw4zV0+bOn6nF5jYLkD6AAQxGHqIg/DTWoakLzNDkU2rt5w03KkI4Uob68hokC2jvRqi4fXFwD1zu7S/gzpB90OzG1Xy4nkBR5x6HDUdlWukUoNRfM0b+951LXhviPP05EAfy+r8R/92lp9ZBWS4cd8xLqEori0CjUhuvriExm9IU7fUYYxqwjU2iRkHc1TfAv2xtIqVPbqSztvgC6+7Cd+lhxLCs1RFBb1JRnYWCmlD","thinking":{"id":"AaaGs14orZayVKzoCMpkCuzjxIl+nxBkKV/MsTavSgpb2tbjYZUpwdm4/TRdTo84KvEAD3urQUoORpdN7B0+jVO/lIKj7Rz2euPOIvpkK7YH67WuNwz50K8iDer+29B/Jgw3xZcUWjD6mEBn1xOCCnXWBye+sVu+pW7cDP4bI+8lccdLY033eH5Lro4Q+1Dp46P+NcztBd9oOoDb8QP8hI8grD+Z0BV6kr1qpAS6NvDDMCLuDNxBfuMvGIAkIZ1R7ZkL83mjB88QXNYZh8erX6g7VclhhPL9DqdNsHYmTc59O3BSGdbVZT6W3ebLYLmknVJpH8fsUHpCMa05jBGogB0+A62d+ew82YZuxlgMHiJMu0NPQ7HcFKW34Ms1paJV+vIY+2tjzAYdRGQQNmlVjIayF/Docg==","text":[],"encrypted":"Bj4gOyq2dHH4qAxGZvy1UGbdUHDMnx2FPXxofVr1vFUIT1o0zv0QKe25ysEHBAzZwqrO3ivo8V9F9fSzSkGwZTdsDYQYNuhSiuQhDW7QIFPKYT9laITTCQwY1sC9cx4GoSgBgA6cAh4+nnmgSieqPGJnOh1UeS4XEL5Pfhhun/Gb+oaCyNbiNEt+yL2vQV93wSghnVP8+t9O5ruFwPpn7gPLt7tzffwN2E4dLyVTB/EfVaGP3fqfl2yKc0TPzCNeXTFmNoKWnfpTzrjVbZkZ9/J3NQMcVlOaeA+iyPHe3AEEwuQ2RTuioDAu5Equq2HJvWbbyTQ2LulC6oH/T7X9QELDh16+2vNk4rWyPgCTXnYPfplYlYB8BaP7dJ2OURE5G66QwM/DioRmiQP4byTmP0djyo5+h1L7Xuu1suH3dsFhiTmnM4xVNedhr2S6JgLzA+Yw3ZoGf7i0rwBDtRiALKTR/y+ASjNZm/OgGPjcxKyj8VkrRTSXZltFLs697uTxSLrwqF4+EX0PFqLDMiD8IvGAbN67xQyBd7PT9zCTE0EfV0dGamUqamLYy+Dh5WZf9uPkmIBk66b2xyM3uIn9/Uh0sVymugM6wt4MA6GUukSfXMxGVyOLCtG7pyBRCsScf5KtTx2qQM6j8tFnLLrC00D4c1yhCvAiB9Xccr2lTpMzrOpEY9/e5LkLRBDwKCnlaW9BocWcmrHDbCiWFH5ipO5O0bmAP6c4PcwpY9TUQfAhiDaKSKvl3osKbI0YVLLSy/8fRTCyKx/26XDigzsMrohsuJseh0wYgIsDuqQoON8KkFxUlX5G8W0DfhqKz+Tb9xt7GOHAmQZ2LV58VKGN/P5MMYDEvhsu68l8pFcueLk2q+AcqjKOAm82dEzbx5JDFZBIAEkjZd0k5CBNi1wCrDGQhRRUNvmnfztsuLRcyQmukNIGbwkMqdxn9SZnU+l6/+/k1s6Cfqx/yYRPy3YTuxK9OjPWmh59KeCnmtjIoo2zh+8von1p1R5meUBCl6Ajz9XkilUoKRXhAqtqaESjoR8pEGmZ1KjOhe1LCxWXOuyBQ4d87B8FpsRgyzBSWooKPd75TH0XmdYOP99tf49/H/nO+m3dSH/ZTbbd6VEK0GbSg9LyWGgRBYWYTwnc2uZkSc7Cs3/Gur+bfspSKwo7fMhFcZQRmbDEOTwg26nvcnjxfd5cSygAvFaI1gMJCG80UlCySHG0t9VpCZbOdNpTFtabPv7mP1lQBVguzETSt0VXquLHS6UHfVbhtfhbLlFIixR17DyT6qYlwoguhDSer2btvIP+zSbgpk4hmZiXrNvXiMG1dUK2XzEbbCMikx0aYxzDe8VXj7Chbr09/ADkIcSk54Nv6LrVPAhfPyS+bwjmP+0dPhmaVTTQhetKoq45X/h8TjtLtpNUM8uKvRB9A1TGIjTwRCGzCmdBXBMPNuu2TtPBHCG9cux/FYumeNdWQPxhqXgqxcNDMSw+IvHJp3N25yKmXhrtZFqubCxTQfdYBrPOJD+0zwajQiW1l8oTZKW7jToNbjADXlb6y7sZ/Kwsg8RYvp6sARNc1VDWbbEJkS5cWk/K7GFNb4C2IHFHrPU6wnoVQggtqvM77C8XdhfWit7HmlOAsRBw5bn8Z9dxR+PhZq75WDSVz9N98x6aIgVE9fof+s44ZxFTCnFWZDM/LWmKifXFnrY8ENFlT8E9BYKlXNF0C1XuTwR3JqYJUAUGhHsp9vF8bP4pQe0hIymnZLLfuKwXxAIK3ky712WpAzFXxNZ0Xr9Fxos2+zt5h0BoF6mUPvUxlfmOqq08RL0dNAlAqbFVR8kH/+tVTmLblW5DzYy8aZ2h0lGtEekxTHPx4A==","tokens":39},"timestamp":1774364262875},{"response":"","toolCalls":[{"id":"call_KRjvrSCKw4FEzvSKFtx2ms2c__vscode-1774363162463","name":"list_dir","arguments":"{\"path\":\"/home/breadway/Documents/Hazard Pay/Assets/Scenes\"}"}],"toolInputRetry":0,"id":"16f3c9d5-b82f-4568-a411-99b48e263456","statefulMarker":"YcRpMYt3F3rDHd/wgL9eN7bP6u3hQ1sMJMJSDDNiH/flKH8SHp/I7qoiVb2zdMtv7Dtm3OsmQI8zmtVKxlJopUAjqV86qHVCD6U++P/EiXvb4Rj7X+K2Ldwm8XMyoPrGCdMuchpY6MkBNzq3koZXOA/+eqHcGPE9R1fFtV3ZYHmhi1igteNtCM4vo+D4DCH+nsdL1f/NluIBPc6R3C20hgbsq89AzKLv8YQfIufWbblZDImpxFgLchoeRt5TvL/He9KkQiTqqxRfQnfEmYCAVMnh2lOMCwNWgYfAANj7t+PCvXHbWcAhLvbu41kbqWcz8gwd5biJnGX5NeBKMLgu4985x3LeVtFU2GnL3PcCZPw2Sgu0edEryXf1b2tRd0yftR9YGlCD2IMv6g1XkyjzZ9WKWdS4UKqm","thinking":{"id":"jQSLrXvc06wIQnHmyLxFJHeLEsD4uavaeu1l4O3hFAaVvmwHDDondFih7sn9jLHmR+yAdGd3xAVcLNb3TecqEsvZ7mYnn1LACoB00zFKR19s5lxB/Xp0kLRlaQc2syvyZT85XSPE/OH+Km5LS2X7ZI50hXNVdEZetEl/M/vwTaR/OuEHK5H0bK9UMow5oPRHF9CG/ilYVPdzUlBqBS+fHivwfGOLbZyW4zJRONAMltze6QFA7rwi2dRunot4yM58XW8fN1pGwUFsexlNbzXMhp/d5e57soBnNeRwCC7xbM9uWi3qySLc/8CTpnoQjAfJEwhBpDL6hikF8TBW/KsdEetTtxtOpygZJ16CVCR7RPLrCgTbTZkCQ9UlJ0y6XmskymvukSk1p/b94pf1QpM1J5VITPNfYA==","text":[],"encrypted":"siuV2fXBvSQiB6KY/sN0yyBttrTgTdGXl4JzILk2NF2ORKb7NdcRS9C8Y3KBWL9RoOegdBPBNdQaN2DEn4fsk4uUj6FxpqHmlPubabwtEZ+0o8p6lEbgai8yFH87V7KNCtx8yIELsVqv1Cuzjy5efcVhEbn+YIXGvPyUI5d70UYwfgoA9dAH+lfvYFrgmwrAPADlAGZBVVbgcQK2h8RTaAoN4kzsj9FZIlUwNjaaUba3fCG040rkGP8RLsl1lP6SEMHTFhrBjb5sO9HIQqvio/kz0n6Jas4MiSZ1GzgckoalVzB3KRZUD9D5byKryLxER3LotUWz99RXavUXnmyFjVtriUHPdeJHK/gSAuzuP13CE7kJKLhoHIQgQuX8R7gzqDR2r6nPVBft6c3nf4PdimobFTODHjYPvJBg/Sa2HxM4VG0C9jP0ekcCzf/BLLfcG2+D7f1pEs2WuPJUs1CJObMgvL4EmO8E+/W+zpYqK5p7geWKSVzcNSyO6IfKwdjJDjLFDXhO7jhOVD/LWHTVfOAePHuzcfUPKe9cq50/6es8aMWhr+DwBseaHVR02A3U/+B4g+whr9A8r4fF4Rr9IPCfAOmp+ajjQjj034g0bqGXYEDyeNFqdAEFLH4+jBDHkfxTCEPyLYzY0T3vgDDVx9Nq8qfdXi7kkmQKODRPS9M+chsoT1lfbn30yJEBoO93Q+zclFyXLxGcGSj8glEmHRRDix+CsVtTqUE0h0QJXHteRgPqIAQylT47n2L3Mo18uROKioierJrPNLXMcXP1UX7TpEiHAUKYo+mBPS7AdL9Vn08eW6Ps7e3xrkJBJ8XLRoiI8VRnEr1NzsNKmdYteg9rpOiKsC9HfnJMOolBuBiXbsnQ6znjtUfdZd+6Kj4rpTThNEMlZ+twvzMx+pAjwMVyJA9BR9LM2Uuwj/G//mEXMYjtsEaMMfjbVY05Y03Fj6TIMA5ChWabBiO3I3xfKb/VV+cFPRr1XIrbWsrEulU9OWgzNg8jM3IwciwlFmrf5HXric7hTwSxhf/4pESQ6eAGtAYdMixHaAyUM8fFC3c9hUDuoSbMYeyrgYljpwwDbWlqZW2ZknCUtz5DCJ/bJFPBEM/kvQ0AIgN2eVW3OU3z6GtVtk7c8vxeQadKwlXQq7pOKBaoCuSxWlx1W3ryMwQXwDTPDGVA/6LRTQYnuWLUDCpN19nipVF8aN9OQ4FvPl0+ETnuhr+pf4RESGhkrijPiBYcW0B5f59M+NpQ0hZIQE3LNRE45cmXsOaLOAc6VMO79imx8x8rA+qfp/Yz3al5iprSnHW7b4bd1F+1otpGlSy3QqTfMPuG2u8NdkXCkCWdE7uSID836QJ5Ayd8jjxnMakpQ2mAwLd/QcNgifMIdVv/Sxu/vqeezUmM0mRr3GJTS7Y/IX6TcgGjatyYzIKWzvFhZaQISK+fsjUEkMSsSsBULBC0PQwCC2jR4QePE9EL4sAwRLe4oLU2hXEV/hPZn/yu4Btx8tGQvUjijgzWVBFAu5ZJndck3wNqj7JfKNobDRnb2OOAsEK6uckpup4Mi0QqpAWQunl+HCj0ycvq6jmd2+/eGUBSN5/eYM1A1cvQDqwTOj4cvToHGhWAAlOOY0nM2xX0s63vhOWN+/X/TCZ6cRKVj7ZTpZF1v4Wc6qsAQrMhOp3WfTA1ZHI9xRKdBBkG9t+lNW/EkW0p7NAHpkn2N2PE2fZ9jypt4Is1ATstprkEIiviTBYJqykM+KpAjb4bQCwYlp0NRV1vW+EavhM1rJ+2cCK7dBiXvwFcPDY/1bb4Z59ZuCdOwhAiiWWCDiFY54RL6LhT4A==","tokens":40},"timestamp":1774364266884},{"response":"I found a high-impact configuration issue: build settings still point to a non-existent sample scene, which can break play/build workflows. I’ll do one last targeted scan of remaining core scripts and then deliver a prioritized validation report with concrete fixes.","toolCalls":[{"id":"call_JJiMUGQlTYGJIC9HE3nMlrbO__vscode-1774363162464","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs\",\"startLine\":1,\"endLine\":260}"},{"id":"call_Dd3Dzt2TCBCtJf8BCIU5i4wj__vscode-1774363162465","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs\",\"startLine\":1,\"endLine\":280}"},{"id":"call_hrZbG7kMSy4lCJdzjunHBIqH__vscode-1774363162466","name":"read_file","arguments":"{\"filePath\":\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs\",\"startLine\":1,\"endLine\":220}"}],"toolInputRetry":1,"id":"75aa7d7e-811b-4b31-ac36-28f087aa02fe","statefulMarker":"65IyQSIj9b36rzOsBAqRYq55TkioMJQypvtwWACcdPAOsx6hsyWd9Qxl5vhHFwBx+zgUT4FxpJvQr9/KH8KvIfaT93N18Lt7aS/37kVhQLGESJFEjO1xoxKuFKFoHDUNxprPo2r/pJD9QVAe2dwLCNErXrgYRHKzId20cXwMin+XQxEDI/e/icJklYRidmd2vZAhpFKGJnGvzOmzWdTlTzt/9+mClfTE1hOU8E7HrcFlKhgYe/WelLs3p0IVmlLzjUYlOcpmEYFG4Snq3tgZzmPWie46W2wo9y3QfSKohp/iCLoEeUA+lgl0UT2BoMOthj1vhn3AVXTGGoiuOdCnarsYlrU3zMBGYSJ2v3WG0MGjP1KPMqZRgq8GMQKQXArnNIZenJgpzoLGsvTZmzWy93zvUP7ANCpU","thinking":{"id":"w3dNuEu/LgL8bsXuy1pbo5joIJrganeRoVOTyYZJJKxdJMginqZR55oKSKZcgRSDJKCLzRe4WDgTfQP0+R040rnskOAsGealDfLzWqWhNjRHB8FXtaxyH2Lbkt6WL0ZFXK+cvmGaYh1hAc3e9l8nKMHi25clYJHPmgNsNGndEoeCvZbAF3NRTyzfoTA104w3ZbU1Cuz4gJQIIzaRStAs5V01CHXCuJT49rQye8EBtprvvNirICRLUIRvqVQkjA6FAd/nZSVEzGTfMnWEg8SFAs2jxycJnBFWR1swvdmIrx7599KYKHKMKvAKFYBDzT2a3a1NtWm9Nlo6/uXdw0e5oWnfDLxqsLiI9VCYkP6HLKndXYRg6NZxpc2PLVdWUfBXanZUR7TAzGcXPcRvzIr8pEfRPUM4Kg==","text":[],"encrypted":"+pAfIqCz0+kQdgoEOh1Itb14vIF1l9yf4TK+SEVpoAxMDLopCu5OHBAS1GCCpJtSQ2NqMAri1JF4fzn8hGbJJkb47d8glPXpnK7mDT1L0fQnQfQarrCBW4H7kEK67xZ9lpjNIHwdx7XJxszVcS6Lij6wZmc7zroS2gXgRGYRU3S1ev97OrOk5MXDtB+TVJ3TH6+jI+M40S+/S8fx+VHUuowYMf/mhHtXp+CKmOTy1XQeSOyP/oicyHW2d3vZhC1EU0t7p1GASOAbc2u/p8Cf6YPI1imFKTLXkzzC/dmQmtpLS4OG0XJCF67tA/HkjVrWEqixM68fb7DVaGN21py/XGRV4FlvJqwbod3KdAJMn//NIMq1z9WoWgtGKklX/QfHX3GtFWUQzctDcD4UwMooCyCPINbcvgOWIqN0hOnsHjeB1PDgzCEck9VF1Yq86LglavmwGOwP5KNBQj2PttMYINUKCpX8ULXZgx9jm99Ro/qzCB9+IXnZ77cfcO938wRtuk0Tg/PvfjkLB/d0NdKWR01aBEM36vsVz0D3y6EBGgDbQLRYu7tE0hiGJrmkkIXXhqPihDO0/zNeROByN4sJDng2E8Ho7c/UkXct8voaZEr9cc/F9DcwPTH6/qh3SWkMK+l/l83qcOX31iqmEsF5K+ODOPHBRH7tKfkv5iMSfclAuYxTcYPM5SgK6Mz4hFcmgafw5jZyKe3citzLiFnqFXC8ZS6oZPazmeMbfE1jtOi6kXoYdjiQAxsX8CltBhzaEWM7wd9Z+XAYIUuIAIhQEWkIXgjr7dLtKI5VuTo0m6AIB3QDRtq6jRf4uhRJ1VuSGnrQHyBRucSSB3EXYnezCIVdj8ubL73nYu/RdVeFKOmF8FR6toDEdTczkRj7g5jKcZEhbFCMZPFc9luN4Mt0iXMdo8okrXcj1bd2XKSgpPCHD5dHCnTlUzauUamk8s6hJfXXGpwdiza7QLuQacccOyJ5p8HKq8kWQopHTLeJCECMg+dMGRz6mN0McCDDpGyibROSMTf92aABGysTd5J9FzQ7dsiddu7OwZn9OUy96HXoGPbG7BF8LmMOxhxsK93K7RzIejTcv4W3Q+q54A4R7ffHpFTIJOB17mPH7RxJj3jnPYgUcazrkuNYSyUVRP1nL6lqwdp+LiaCVbhSd+oooyVjnUaSTrn9bq+UNj/iNSqP1eklAKuTP9j96dyUvR3bgQTPIMXiiu5hI/iq759sr4FfqKq0PISBDnRTaErMmt3raRTX+dw5plLxi1jE0eslMSqpvjNwXonQ/DoF20Y8IyxVLIXWrso5Qyvfgg8F0AHFhtpcwnNYWe2khKzfX2NpDmHV2J7lKSonxxJcSwkxGpvzDp0Tq0kFoPINSwOs8MMpMXF1/XoiKUY0CmOmFWHlWco6imp8ypzWwHyN2/l09x/dt1P0UoCLARgzQkkgHbvjedj6HUxx1nz1koBnKFPoOKOe1KJjhgbmETyu14T+sspkYz4d3gmTlVn7fbtKTYbqtIEqq82mbdZHzP4QawIf92BCWkhT4OEtlyPrRYRVeDIA016zHDOhtX94paHAODlZs4kSC4Rnmvu55QwUA9iDOdYs5QRHLfoa3hVnre+y0cTniSI+whxQY1bTdl3G06+y0BEy/IA0I9IdLpYUZVo2pltOQkveVIhpeaGU5J/vSaMgzF7Mj26qlQFkJnJpAYD19+jsVGvVyegalswsDeshokmZ+kmM6mIGcnlvlzqVdhmjRbeAo7FhewjHGV0Itfoap0aJhwtM34HAGvmLqLGMkQut48bh04DQvtkdJcsdzs3E4I2C2Ihfick/elcQIZLtv8lfmRNXnrPe5JrPa4r+XuWJgu6N1RKWZglZJV8P78RxP8vdqTAXvASkvYUrN+zEcA2jUJ2y7tBlIwC9y+uG7Ft24wPZRH+OHZZEtEZRFHN8TVBwR9uwG5mxTh3YkYIgmzp0yLBQwoqU5qLB4ft+YwYgMtUCoLg4m4loU3+fp+deOJFDLlYKaCFebY8tjCX/QyeFaYlw3KcuLv8q891Bf0Hg+93SdEdW2rS2i7yw2h8gXTOSL08BD4FRvhhQS4+sXrR0Tx6rPiJR3ZLBtnkASwyj4uoVKzrfDQONRbce/VM/Nbpje4cZ2OJBusmvRrrZ4nJwtMy1AWLw6X7fPSzKT08f+EKBFju4jCwzuXwi1wcw5TT00Jp8Luub8Ab4+uedPwS+YPHQswpZfdrTgeTeB1M5r60/t9DfKIPZtKJRyM+waNn+ZifZKDHjWz4h1ZNZ6jSXOOD9v7qsfuDESN1q9fHdbNFIXTp23TW3819n07zsRwoaAHWRd44wviYCaU/aU25Bc8sMBn46rmq6kccv9ZS9xZjpbDemQgQVuqKD+oOSdkndf1tZ4ng7zFuzckSzQuBDv/uo7s+tDDs=","tokens":116},"timestamp":1774364273240,"phase":"commentary","phaseModelId":"gpt-5.3-codex"},{"response":"","toolCalls":[{"id":"call_3iIspWAW1pPbK0YW8Jt8h9Vz__vscode-1774363162467","name":"manage_todo_list","arguments":"{\"todoList\":[{\"id\":1,\"title\":\"Inventory scripts and project structure\",\"status\":\"completed\"},{\"id\":2,\"title\":\"Assess code architecture patterns\",\"status\":\"completed\"},{\"id\":3,\"title\":\"Review docs for accuracy\",\"status\":\"completed\"},{\"id\":4,\"title\":\"Validate build/test readiness\",\"status\":\"completed\"},{\"id\":5,\"title\":\"Summarize findings and actions\",\"status\":\"in-progress\"}]}"}],"toolInputRetry":0,"id":"6129f0a5-de6b-4db9-9645-7f8ac783ec27","statefulMarker":"dZgpgtap6r9amMpjDPE1zVegGytloXBKPMG52n7+KKv+1q9ab5LMUddvmtAwLJrNi2es3bMzHAn4y4FdTwhumACqDOW87WM0/re1KHID/wPf/JP/BWOXJoZo6NQjU2MEskmgYVQI6ix72Js+c5h+KAwH2j+dtwh8HGBVcyAjAtqWzVuB0Opako+gLBNNCdkMg/lWyjto715b/iUGNqj+Y6EABKJn+whm0O/N5i5wIFZDyQ0iCiLhv1jjCSpD2fhVFGhrkX/T3YcX0lPtGQxOXX2oEKPh6bi+8v9+mDuvOvzUc3GNik1dKqi5vCEPoXj9BwbPQT8SXWmDVCbjgLq8SUF9jHsmqyaVnT+W6DZNGA9J09vqN7A8fCNFkVtoBEcVTXqpkaU9+ieUl/d80R0ArhzUshd6i57x","thinking":{"id":"gjuaZ39ZD1No/WhqTFydxevMziBKr67okdJmUPav8vNAdcYQrJR/bdRTvjEOWfwvdVfgnapFzcDZcm+Gm4mLwxAeEu3RUzWGWrtWMNpzyQFKQX5nIGhBaIk2s4weMWTVYEVAggzD9GPIg8DEH+sX9FtSMnY0NKnhPJxmQ424rRf7LiiPRtVRa7yfd6Dgk2SD6ztsDDpyW3MuIygNljQI2R5RsFAWV81ZiS1FrvEo2snkuUBxCwnrRT1NeFenIQSJQ/rPUjmVNLxeD3vGz4vxQ3lXhgr+P2ZAFQ7uPjonM1AbecGfQgTf4GxngDBEuOMtQhmrEF3jcAY6053E5WPXW06J0IjBg6eylp1E9USMvoXjoqKFdBGJsCM1e6YkyRNd5ehRtZu4tZuDBP7sL0ZztYKLWfsvXg==","text":[],"encrypted":"Kpy/m0D7ErPRdcz6BVQ0OzUdkwkwTm1W/Q8Z7JTJhxP1SIfVDIga2Fjqq5igVrltRARK/ZrPCQM+DLA8q6KNs0Hur1E8rgz1/0a5yq1W2SzGzbCPVdANmCDvP1ylBdNe7GmqZuKOHkWI+mkU50DOwXL5sWJ7cw6wA8EmWAuqQnzdT5X/ScBynfEa43JmtAH7o7jksUHa1uCw4bXrLZpkdkytErYWEb6ZxP6qWCRiAihmPanFnm11DE0oYLGBLHc67RilHHuUklrbpckmFeYV/EmVz2i8JrOBO+ChX0ucOTt2OeP5CKoIA59FU9zzqZUAc5XiEYqmjZ2acpWMSRVwGBggSVO/oI8PlgmjPZ1Y4OJLAgr/LwynqGFK8dNGuSbbymixgpL/OsLIf1LJxyS+OPfr8z8ILge3JkTmbC28icvk6RImr0gBezSmW6ZAWj581PqrHgmMGYu5BHzfjTynQKQCc5TmkHNKfFm0tXaisWeAqEysFeTN5oWj14ReIY83pk4Q/9v9dXMBIx1dmk/gRXWuI5kO7Dq0KvaxAKMZmlhfrL4yRN7+Ta21+r5/ij6gNe2nS3vToEPocyhj2GrgJcWsH0cvowygMVFSmki6tXGEzY6+m8PLN30F+Fika3KAycdbPobHqSGdCQjuDchss3IuyvO4jLLhGuhh4sEV6vfveAJadwZZ7OyYpiJEp+a7byXrLvW60WhlvlFnuV7Af+l1sU0jyxCDmTwWIIyCJ0/cMSvj1fR4D7decPc31DIOfThIWjQPzNmI2zMwmh/qGkKqtgKiGLypzJOkpmHYLz9X1ei/GEcF9DR05NMiU0e6NerF11J9aQEvi32o+SRu4IZTgySqaSnsqSPPIaUmgXzobOjrj0zlaNU45Q0SSn3quMqUsx5DPJlLuqOxsHY7SqfRhAPdn27cHDQVUJHzdlVlULjWeVzApNYMR/EKoR6MT5KnXl+JW9Si2D3SBaQJE/Rhd0HtqSOIN+iGCMXqyGb+vbWnbI1F44P81VCRI4uVV/teAH0jIxdCxtzfemJDb3A710wzT4H7yG2IEJvzskbQ40oGWpUFBwB0m6cH7zs8oHrkdNPVhmhmWwhHK02dcDzm1gEuq8GhSc72Wt8Iyf25hXVaqmG375QV2ruS8OLhk4bzkujz+pKw+ZLgnt+MU4ra0VFDaYVm2Tg3oDjXHPQUeDaAwTweiUOZHRASMMN6lX8sdV2W8hEnKnBA7SlpZV6GgCTr0lUleHITCH9QmQ7QB8OgN5sRBUTm8wFFUhhOjoxjf4tAm4khTd0Yi9EOIWVthV0PAMpprsLDhHm2aBPqOzTYXB8gAN0OCrCZBCfgdYalcr6SvbZkyyX+4B9N6TBdV5Hhjvn14Q9rww3XjdJLBTfFt6qUWO+fFN/CSXKAl02pG3V8vQZx+M8DULSsl9/uydJLZrtgdLDRpnUVoAvXdybkwDeP8gH1suDVSfx4SA3zpnsiZFT6XKQQMu0F9rMTDyoF3pPJJKtwztP9eMN3dNnczbkD52IlnQO8YFHYfJvk0RvMB3q9NZn9Zk/D16e+bMV296xHgbxP03A1AsgtCom9aN4H6qcd9hJYKwzFkGjtPAVJmLdmp498xn/LSWkuRvsJRTKw9NEEQvFi3q+0kZCrGyy50jUMwTIQlZsZf95v1XLSSoirtsFAW+2pKJQlgd9o45VnchBd2JCeKtN7kVMNxE99wTiG4yssgDkpAVkuemfnGbIhTtfb4XhwHSvw7J4OmjRK6KvO1g/5LT2EAwYQ99vWzj6EABjhbFkN84AH0qXYbzkbdaSqemFDzozSO9QTgxXj8dQ22KfR/VPU+YulIZwVgijQJYUPVItu8ZAXb8JXxP3c05kAyFW69ksipKInvm81ooBvYKB+ZqYtuzJOkGWaOkDqjeoH2bd0XVHe+PtltHeYaijQmmqQT7GFvSFx5wUF6vw7A0xXE1j/0VvS2hOc0SkNaQljbdz3rTv4bIJyqVVPBmHfFHeY2hhex4n69kvZhNeBr/blkOyuCc6K2Bt49ucxAX+Z1X7DZr3glLH4fYqKcJ2MjXfQQ1gjUj2dTSKHJW0EwggRTvNvF7mjj/Yo6wUqm5w2djMAaFMA1Nvc17VIUKGkxVB5/iP/NXG1kSmx4DMZCfghvbyhMyx4ltO1MGhMBaeiGrUyKe3300w6rrhtt3VJ75oHLOSaxL/FpXY7cACSUOT6sY+3c0yldMDma0t38YtGf2l9G7BvfC7PAdGHk4FBGpjTTm+GKmVTmu9P8v/iil1kXZwWbleFqU+k9M1Ve4hRCfR+cLKNkPpPzHUHsi5NIYUV0119pOsV/NV9V5TM0wLOXJNfuQuPhJqA4b4vUgaJBfJceE65QC+q+sO5gx2uEfJTggpFtk69EW3aGNGlDb+0meYbRXliAxrZfFP+0yUxnhWc5jF+Uej9CmQ2l3DbyVrqDUxF1Q0=","tokens":109},"timestamp":1774364278690},{"response":"","toolCalls":[{"id":"call_CV1VtrYCcy8Qxa4djGpNJitz__vscode-1774363162468","name":"manage_todo_list","arguments":"{\"todoList\":[{\"id\":1,\"title\":\"Inventory scripts and project structure\",\"status\":\"completed\"},{\"id\":2,\"title\":\"Assess code architecture patterns\",\"status\":\"completed\"},{\"id\":3,\"title\":\"Review docs for accuracy\",\"status\":\"completed\"},{\"id\":4,\"title\":\"Validate build/test readiness\",\"status\":\"completed\"},{\"id\":5,\"title\":\"Summarize findings and actions\",\"status\":\"completed\"}]}"}],"toolInputRetry":0,"id":"5289bea5-ff31-4292-b4e7-56639540b7a1","statefulMarker":"3QlkaXmQ83jV/okP5c0IFD/B/vkhv/0TMpU3o+fbNw7WfJrHPOem0tkpF4zy7n6E8SyQ/ppI90JxIrnG0ibluOoOJwZShiQpNIzV0GAxVs/E7QZvV8lJmdsonMJ80wyUdT6gfDroaKHDe1/mhQMcOArsxRgGQHDYtxB7DNT4Hj4EtthoqhogQu8XsIUTMyl5AiapGyJmDDY/9ocKaWxJ3vxGTAGsmrHqr68ohR/aV0AHmvcEICyUl7Jm0Neyy4QQV+U/9tQIVgHsYZ+YDIqoeEHHVWdln5Nko3RLzOSKyll4gta1pbrMcG580kYxsajpZ6I5KAeJnSrxMMQ63gYlm9X8etb+sZrrB0grEEaVMgm+KNQKjkuQAS0pZHu6m6PUVWIUN50X2p6tvKW3cUIE6rQhk98qHMrQ","thinking":{"id":"esbjH+MnaAxppcQCFC30pgrcxL0Gp1JlH7zKcX9lDskZlRQ2cgymvB9FDRnWCa1nlXIG+B1Wq0hWxDILsOFEZyjA5FyhKsmUof9MvaipJ8Gac3Tppl08vRpWyCr7QZ92su5zsv7qODOiM6oZimlQMEBjYXI0VuXYVLHfk7y2NxtrDjzW0PkmUHz9rkXGtoNIkMoUeoe/duNXQSq5q7g9Dwq1hLTI+xfNVrdYOsjlJMtXfhT7bJNgBqiaujpadAJhSr++p3ian2NsL+Fi5AZkUGKsY1Za5g3qRgra9Qsu1xzbdjaY/9aopwThlt/eQdFIqZawgKgEXWmA0Hmv8EfLTp0bYzCAAlqthrY3xnvk0jb2skJJVY0AGS5AKx2T51hGFBoglUSfoL9jbf95suba17wpGNWdhQ==","text":[],"encrypted":"[encoded data, 7008 characters]","tokens":639},"timestamp":1774364294179},{"response":"**Validation Summary**\n- Familiarization complete: I reviewed core docs, manager/system/player/enemy/UI scripts, project settings, and static diagnostics.\n- Current editor diagnostics are clean (no C# errors reported), but there are several structural and documentation mismatches that will cause confusion and some runtime risk.\n\n**What Looks Good**\n- Architecture direction is strong: component orchestration + event hub + ScriptableObject data are clearly present in [PlayerController.cs](Assets/_Project/Scripts/Player/PlayerController.cs), [Enemy.cs](Assets/_Project/Scripts/Enemies/Enemy.cs), [GameEvents.cs](Assets/_Project/Scripts/Events/GameEvents.cs), and [UpgradeData.cs](Assets/_Project/Scripts/Data/UpgradeData.cs).\n- Event subscription hygiene is generally solid (matching subscribe/unsubscribe pairs across UI/managers/player scripts).\n- Performance-conscious patterns are implemented (pooling, non-alloc status spread buffers) in [PoolingSystem.cs](Assets/_Project/Scripts/Systems/PoolingSystem.cs) and [StatusEffectController.cs](Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs).\n\n**High-Priority Issues**\n- Build settings point to a missing scene: [EditorBuildSettings.asset](ProjectSettings/EditorBuildSettings.asset#L7) references Assets/Scenes/SampleScene.unity, which does not exist.\n- Documentation is inconsistent with project reality:\n  - README says 2D + GameplayTest scene: [README.md](README.md#L3), [README.md](README.md#L148), [README.md](README.md#L194-L195)\n  - AGENTS says TestScene + Unity 6000.3.3f1: [AGENTS.md](AGENTS.md#L11), [AGENTS.md](AGENTS.md#L400-L401)\n  - Actual editor version is 6000.3.7f1: [ProjectVersion.txt](ProjectSettings/ProjectVersion.txt#L1)\n  - GEMINI also references old scene/version: [GEMINI.md](GEMINI.md#L12), [GEMINI.md](GEMINI.md#L91)\n\n**Code/Organization Risks**\n- Placeholder/incomplete core managers/UI remain: [RoomManager.cs](Assets/_Project/Scripts/Managers/RoomManager.cs#L3), [AudioManager.cs](Assets/_Project/Scripts/Managers/AudioManager.cs#L3), [UpgradeUI.cs](Assets/_Project/Scripts/UI/UpgradeUI.cs#L3).\n- Event cleanup helper is incomplete: [GameEvents.cs](Assets/_Project/Scripts/Events/GameEvents.cs#L522) does not clear some declared events such as [GameEvents.cs](Assets/_Project/Scripts/Events/GameEvents.cs#L16) and [GameEvents.cs](Assets/_Project/Scripts/Events/GameEvents.cs#L116).\n- StatusEffectController bypasses safe wrappers and invokes hub events directly: [StatusEffectController.cs](Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs#L83), [StatusEffectController.cs](Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs#L158), [StatusEffectController.cs](Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs#L181).\n- Upgrade flow appears partially disconnected: apply method exists in player [PlayerController.cs](Assets/_Project/Scripts/Player/PlayerController.cs#L137), but wiring is unclear and a stale comment remains in [XPManager.cs](Assets/_Project/Scripts/Managers/XPManager.cs#L54).\n- Naming/style drift and small hygiene issues: [StupidAudio.cs](Assets/_Project/Scripts/Enemies/StupidAudio.cs#L6), [StupidAudio.cs](Assets/_Project/Scripts/Enemies/StupidAudio.cs#L1), [GameManager.cs](Assets/_Project/Scripts/Managers/GameManager.cs#L1).\n\n**Recommended Next Actions (Order)**\n- Fix build scene configuration first, then align all docs to one source of truth (scene names, 2D/3D wording, Unity version, phase/status).\n- Complete or clearly mark placeholder managers/UI as out-of-scope to avoid false readiness signals.\n- Patch event hub consistency (ClearAllListeners coverage + prefer wrapper methods in systems).\n- Validate upgrade event path end-to-end and remove stale comments.\n- Add minimal test assembly scaffolding (none currently present, consistent with [AGENTS.md](AGENTS.md#L24)).\n\nIf you want, I can apply a focused remediation pass now: update build settings + docs consistency + event hub cleanup in one commit-sized change set.","toolCalls":[],"toolInputRetry":0,"id":"969f077a-bc90-43f6-97db-a72ff969601b","statefulMarker":"I7VngPtl1/5yh+NE+s+mwLuUKuvTDWk8OWy6A+1nBz7ogCNARV0+wae505mfEnMlffGzITp0w2bXG2KKAcavqPN9uR91g0pKM8BzgwVjT85KtjLkkVAqedg572WeEhsvA3pu4KACNLTHx9LBNlH0VEqrs75nYF6rIcxHgZBFJWYyYKVnA/KvzaWUh1JGvtVVTVhKSxwbzLdXyZIXhXgzCKRhjNT6MSY0qJIGjJNWHBs+iyOrSCwVJ8C8qjrpZUStJSQ2w/XzYNhAL6FNmrssLqRf+CBsAb+hX811+DOJJyMVlZgEHGgzZhXr3mo3o07VvjfIv2ByzA0i7e2tvDC4g7OEztRwYuB4gEr+xAKInD0u7KKDOjeOfxkxLi9+2EfKP3N6tQ2RRob2lhHmjxSaNY1wSKcPQY8H","thinking":{"id":"NNQM0o0Ojqn3omFejLrK5oYhLb5L60XJex5mAafWSrjqr1aRbfXZvylSuMTwh4NW0BoIln645xkFV9gyxzN8dWoZH2Wefz+cHYqRDu+K3wFwt8EHHSL7BSG+DgvM75GGg/TKD203V4HgZ3/xzfajtDtUgR2Fu5xuPQlhhd1F5NiC2yJvskGVyWMIqTdeyE8wDy91gHRmQUrQQjB5Bj4uCkd6mEj2xd4+JHpuv84fLIooRqWbkwc99YCtcY1Plg4WQu5rg6fpDHHVBcHMLMdpNqteiEf/d56e4UimY+KDNjorpdJ7C1FlhOGToGVZ4iK10Q04fRIoTVreBQD/f9tA2tnmXiPOxRrMFh8A10UYWd79ARKDh6tuYavSO4eoEO9KtJrkALTMaPfe4euQb17QGb/8Q716Rw==","text":[],"encrypted":"nvp2ocbkm1xoviao94JsmDxhOOXFT27usZ/38HolWO7hY2m3FBjJasdHp0DGSE/+De/hWB375/LZMNla1qci9oGK/JsunMPiNOIflB7tRD0SZw3eElB5hdzJk0yibs/eKTsOpfEDSwfqUpxVJ1H2XmuZMbVIyE3k9MkMa1FdnaYChHjI9W9VMkJ8ZOoqmNwKEat1e9FDdbZYmJRAtKUaRQL3QuGw1886rU6sfOYeunOoEAVLX22oJlnwGoz5fE1/0Bu6Vs4gdL5tOgXrm0ufV8lXJdW0dWtiYlYDj7PFhWbOKpmIYocjqGvbdgET85VHab4hgqP845YciY06V6yQSxqIB9FsdR/VE0NrLdLRmLFIkC8rZzg1tLzsndSQsDken9dx9mhyGiI8eKgKjRhxh9NtRjI5w3uMXAedFhtwx34L+/9LozJlafSz9CAeFWYq1Ud2SLIUX0TAt4hrpiD3uDqc9w3YWw9hkvXGEXwGFnkmxrH3XjM9U0c2kIOroy4EPtb1RUKnoEHsQ43RM3MJAsTBiKrPSedb9R/+BjJKHGo8ihCGeIn1oxiuPiAtNRjz/1h2nJ5p5sFxMdasfF9/pNiGWviELZdOSnC3rqvtr5ge4yOD9KO4WwNx1VLoZKtKU/6ajY9l0qMIGrPrOLVOOyRNyskQeUv9kj1aDxDcUm5tydeiYlVP9KHABVpJvdhHB9T+5knCIT1Qld3/UC662bfsUs5ftXLxnX12bCc+6yAjEJt98b0zXo+sbVRIHey3MGuIBdMg8unTLLzoChqEu6rpiXFasqkaa+D1s2/4gjx8anVFFTe/D9yNXcQ3CjkWpJl9RDlAz2FxdXu+o4Oh/oaiDxbDX48BtwVeUpfmIrDd0MR6tFqR0yZOIkc//QldtAfdDlU14GJSbAcp+lfwCgzJoMnjjEqYDdU6n24ZmZiLTU2q6OpNKI3xsNCNigubLYlZhdT+qO064gYPQoSoqNn6jKv5a5ERckuot4k9n9uMqcZazVEun3TJ3v5kmfot9Cwhd6TLq7LXXlExBZF7chWz0f8iOKmWHHuMAaAO++XSQx3XNPTXYKoHGjUCNHh+kStAwEAPJ0L5NK9CWTJnSKGDWe1bzYtAsX4j3OCozTeaz38t0jEiToGffWn8gPliUrIIri3vj8M/SX6EhTnPNC9JvfB8DJf9up3PGwacDcKumaXeYBTAiURnJhZwIc5q7Bn3QeErpk8DNPWHs66usST1j8CNk3yIQbd0SlYkwveNFceKAEbabgzOLz4y6HSM0wwpMnX1F0pVX2nhwn6TS3qbha8Eye0AMpRzpTj+OOnqjJuxOfW5xuLhGClVsClVlPBARu92S6YmZv6iOjqSeT/D6myDeqSu/zBmi9oQVHH42XXYPEfOhpJxio0BYcD5vzLeM0hmeYDmCtL5kUfyYcg2vRhDLNTTiQoQdvEBjI4+XpBS9ThXDmF6YWv11X1XZJw2fxA1agRp3GGEZoCNe3O+8xJt/+aPutMvDURY3Yw7eKWh0Yl1SSg0Owagp2xChiE9mlFPHJEUaa2ruJF6wUxQOqvyi9128IXpp1yyF9liWV5ytkNYFQYXWsLPhxLgDFlVzMr4qYe9LQAWj5rXzoME4NCCjgU1fmQMJD5QCmfrK7O7VTkq37oLCj0P7Vm8s/5pNHZBTK4scDomAG569OmVwFcfZkbe3GqK2zRhzIXgHFl4NpRtGXiiprMggNYk3ysHN26oG6rtLTZQA1YMQfySHkF7CXaLt3aM+01ujYARhiDyk4ustUzxYHs+OL9fYCSFxxOZQ2L/dsZbb8LvptAalKg0BRICxAsvHUWTre7LA2Km6oH20w0aK7LsfEMgQ1dV6IvAo+TgcgKUHwkvAYqoqFYqBwschff5sdDC7qSGa9FVR88KUiDNgQZMy6GZtkhVPwAZP1dscZxflyWHqk8Qs7hKLOknnshxDkdvkophqc2rvpuQfcZ+Cmw8wN3SaFX6THAZ1WP8hNevwaKQ9FSvwf/zh3lK7sE+2LX7y+S9FQVf5RYJAY57j2ouOkZjCo4uIbCwUjKlo3NN2OjNfkDt0Fe0jtuPal2grw==","tokens":66},"timestamp":1774364316005,"phase":"final_answer","phaseModelId":"gpt-5.3-codex"}],"toolCallResults":{"call_vJcANX7ShVYQIc8K4nFjhYeY__vscode-1774363162454":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"iFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"3 matches","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs\" line=116>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2657},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"    public static event Action<float, float> OnHealthChanged; // (currentHP, maxHP)","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":[{"line":115,"character":45},{"line":115,"character":60}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2657},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs\" line=397>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2658},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"    /// Safely invoke OnHealthChanged with null check and error handling.","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":[{"line":396,"character":22},{"line":396,"character":37}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2658},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs\" line=401>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2659},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"            OnHealthChanged?.Invoke(currentHP, maxHP);","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":[{"line":400,"character":12},{"line":400,"character":27}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2659},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4}],"props":{},"references":[]}}}]},"call_PXirfHmARlrhInKNgA0Vc1BP__vscode-1774363162455":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"iFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"1 match","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs\" line=522>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2856},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"    public static void ClearAllListeners() {","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":[{"line":521,"character":23},{"line":521,"character":41}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":2856},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4}],"props":{},"references":[]}}}]},"call_oxvuF5OemQ9wARpbH9MRmMlt__vscode-1774363162456":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"iFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"6 matches","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs\" line=465>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3055},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"                // \"OnPlayerUpgradeApplied -> Listeners: Player (apply upgrade)\"","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"range":[{"line":464,"character":20},{"line":464,"character":42}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3055},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs\" line=466>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3056},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"                GameEvents.OnPlayerUpgradeApplied?.Invoke(randomUpgrade);","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"range":[{"line":465,"character":27},{"line":465,"character":49}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3056},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs\" line=31>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3057},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"    public static Action<UpgradeData> OnPlayerUpgradeApplied;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":[{"line":30,"character":38},{"line":30,"character":60}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3057},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs\" line=482>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3058},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"            OnPlayerUpgradeApplied?.Invoke(upgrade);","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":[{"line":481,"character":12},{"line":481,"character":34}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3058},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs\" line=484>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3059},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"            GameEvents.DebugError($\"Error in OnPlayerUpgradeApplied listeners: {e.Message}\");","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":[{"line":483,"character":45},{"line":483,"character":67}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3059},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs\" line=537>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3060},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        OnPlayerUpgradeApplied = null;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":[{"line":536,"character":8},{"line":536,"character":30}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3060},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4}],"props":{},"references":[]}}}]},"call_lwGJHo2AdnG2NOwjcZnR4BHt__vscode-1774363162457":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"iFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"2 matches","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs\" line=137>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3073},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"    void ApplyUpgrade(UpgradeData upgrade) {","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"},"range":[{"line":136,"character":9},{"line":136,"character":22}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3073},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs\" line=139>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3074},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        stats.ApplyUpgrade(upgrade);","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"},"range":[{"line":138,"character":14},{"line":138,"character":27}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3074},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4}],"props":{},"references":[]}}}]},"call_6Rrcmecn1Tf7KJy0ZnIbwz17__vscode-1774363162458":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"iFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"2 matches","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs\" line=466>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3079},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"                GameEvents.OnPlayerUpgradeApplied?.Invoke(randomUpgrade);","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/DebugMenuUI.cs","scheme":"file"},"range":[{"line":465,"character":16},{"line":465,"character":49}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3079},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs\" line=96>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3080},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"        GameEvents.UpgradeApplied(upgrade);","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/UpgradeManager.cs","scheme":"file"},"range":[{"line":95,"character":8},{"line":95,"character":34}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3080},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4}],"props":{},"references":[]}}}]},"call_mrX0QjBubQcDIr6bhEEoEJGM__vscode-1774363162459":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"iFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"2 matches","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs\" line=1>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3285},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"using System.Threading;","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","scheme":"file"},"range":[{"line":0,"character":0},{"line":0,"character":23}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3285},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs\" line=6>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3286},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"public class StupidAudio : MonoBehaviour","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","scheme":"file"},"range":[{"line":5,"character":0},{"line":5,"character":24}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3286},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4}],"props":{},"references":[]}}}]},"call_Pec7sQPgMolB8rfYeLKy41un__vscode-1774363162460":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"iFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"1 match","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs\" line=116>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3291},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"    public static event Action<float, float> OnHealthChanged; // (currentHP, maxHP)","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":[{"line":115,"character":4},{"line":115,"character":60}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3291},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4}],"props":{},"references":[]}}}]},"call_eCAYiiVwIiCz0lyyENvCvNwS__vscode-1774363162461":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"iFt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"4 matches","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/README.md\" line=148>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3294},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"   - Open `Scenes/GameplayTest.unity`","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":[{"line":147,"character":5},{"line":147,"character":37}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3294},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/AGENTS.md\" line=11>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3295},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"Unity Editor → Open Assets/_Project/Scenes/TestScene.unity → Press Play button","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":[{"line":10,"character":15},{"line":10,"character":58}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3295},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/AGENTS.md\" line=401>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3296},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"**Primary Scene**: Assets/_Project/Scenes/TestScene.unity","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":[{"line":400,"character":2},{"line":400,"character":15}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3296},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4},{"type":1,"ctor":2,"ctorName":"$we","children":[{"type":1,"ctor":2,"ctorName":"n","children":[{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"<match path=\"/home/breadway/Documents/Hazard Pay/GEMINI.md\" line=91>\n","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3297},{"type":1,"ctor":2,"ctorName":"Zrt","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":1000,"text":"*   **Editor:** Open `Scenes/GameplayTest.unity` to test core mechanics.","references":[],"lineBreakBefore":true}],"props":{"priority":1000},"references":[]},{"type":2,"priority":1,"text":"\n","lineBreakBefore":false}],"props":{"flexGrow":1,"priority":1},"references":[{"anchor":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/GEMINI.md","external":"file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md","path":"/home/breadway/Documents/Hazard Pay/GEMINI.md","scheme":"file"},"range":[{"line":90,"character":16},{"line":90,"character":48}]},"options":{"isFromTool":true}}]},{"type":1,"ctor":2,"ctorName":"","children":[{"type":2,"priority":9007199254740991,"text":"</match>","lineBreakBefore":false}],"props":{},"references":[],"keepWithId":3297},{"type":2,"priority":9007199254740991,"text":"\n","lineBreakBefore":false}],"props":{},"references":[]}],"props":{"passPriority":true},"references":[],"flags":4}],"props":{},"references":[]}}}]},"call_nXA38wafgRVIByG3MPc0CLF0__vscode-1774363162462":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"```yaml\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/ProjectSettings/EditorBuildSettings.asset","external":"file:///home/breadway/Documents/Hazard%20Pay/ProjectSettings/EditorBuildSettings.asset","path":"/home/breadway/Documents/Hazard Pay/ProjectSettings/EditorBuildSettings.asset","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"%YAML 1.1\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"%TAG !u! tag:unity3d.com,2011:\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"--- !u!1045 &1\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"EditorBuildSettings:\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"  m_ObjectHideFlags: 0\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"  serializedVersion: 2\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"  m_Scenes:\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"  - enabled: 1\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"    path: Assets/Scenes/SampleScene.unity\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"    guid: 8c9cfa26abfee488c85f1582747f6a02\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"  m_configObjects:\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"    com.unity.input.settings.actions: {fileID: -944628639613478452, guid: a395fb44a2fca424c97260268c9a19ca, type: 3}\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"  m_UseUCBPForAssetBundles: 0\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_KRjvrSCKw4FEzvSKFtx2ms2c__vscode-1774363162463":{"$mid":20,"content":[{"$mid":21,"value":"ERROR while calling tool: Error: ENOENT: no such file or directory, scandir '/home/breadway/Documents/Hazard Pay/Assets/Scenes'\nPlease check your input and try again."}]},"call_JJiMUGQlTYGJIC9HE3nMlrbO__vscode-1774363162464":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":136},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":135,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":135},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":134,"text":"using UnityEngine.InputSystem;\n","references":[],"lineBreakBefore":true}],"props":{"priority":134},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":133,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":133},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":132,"text":"/// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":132},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":131,"text":"/// Handles player aiming direction based on mouse position.\n","references":[],"lineBreakBefore":true}],"props":{"priority":131},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":130,"text":"/// Responsibility: Read mouse input → Calculate aim direction → Rotate firePoint (NOT player character)\n","references":[],"lineBreakBefore":true}],"props":{"priority":130},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":129,"text":"/// Fires aiming events for other systems to react to (animation, UI, etc).\n","references":[],"lineBreakBefore":true}],"props":{"priority":129},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":128,"text":"/// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":128},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":127,"text":"public class PlayerAiming : MonoBehaviour\n","references":[],"lineBreakBefore":true}],"props":{"priority":127},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":126,"text":"{\n","references":[],"lineBreakBefore":true}],"props":{"priority":126},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":125,"text":"    [Header(\"References\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":125},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":124,"text":"    [Tooltip(\"The transform that should rotate to face the mouse. Usually a child object containing the weapon/attack point.\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":124},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":123,"text":"    [SerializeField] private Transform firePoint;\n","references":[],"lineBreakBefore":true}],"props":{"priority":123},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":122,"text":"    [SerializeField] private Camera mainCamera;\n","references":[],"lineBreakBefore":true}],"props":{"priority":122},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":121,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":121},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":120,"text":"    [Header(\"Settings\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":120},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":119,"text":"    [Tooltip(\"If true, the firePoint will instantly snap to face the mouse. If false, it will smoothly rotate.\")]\n","references":[],"lineBreakBefore":true}],"props":{"priority":119},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":118,"text":"    [SerializeField] private bool instantAim = true;\n","references":[],"lineBreakBefore":true}],"props":{"priority":118},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":117,"text":"    [SerializeField] private float aimSmoothSpeed = 15f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":117},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":116,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":116},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":115,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":115},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":114,"text":"    /// Current aim direction in world space (normalized).\n","references":[],"lineBreakBefore":true}],"props":{"priority":114},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":113,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":113},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":112,"text":"    public Vector2 AimDirection { get; private set; } = Vector2.up;\n","references":[],"lineBreakBefore":true}],"props":{"priority":112},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":111,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":111},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":110,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":110},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":109,"text":"    /// Current mouse position in world space.\n","references":[],"lineBreakBefore":true}],"props":{"priority":109},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":108,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":108},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":107,"text":"    public Vector2 MouseWorldPosition { get; private set; }\n","references":[],"lineBreakBefore":true}],"props":{"priority":107},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":106,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":106},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":105,"text":"    /// <summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":105},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":104,"text":"    /// The effective range of the current weapon. Queried from IWeaponAttack.\n","references":[],"lineBreakBefore":true}],"props":{"priority":104},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":103,"text":"    /// Used for UI feedback (range indicators, etc).\n","references":[],"lineBreakBefore":true}],"props":{"priority":103},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":102,"text":"    /// </summary>\n","references":[],"lineBreakBefore":true}],"props":{"priority":102},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":101,"text":"    public float WeaponRange { get; private set; }\n","references":[],"lineBreakBefore":true}],"props":{"priority":101},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":100,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":100},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":99,"text":"    private IWeaponAttack currentWeapon;\n","references":[],"lineBreakBefore":true}],"props":{"priority":99},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":98,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":98},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":97,"text":"    void Awake()\n","references":[],"lineBreakBefore":true}],"props":{"priority":97},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":96,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":96},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":95,"text":"        if (mainCamera == null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":95},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":94,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":94},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":93,"text":"            mainCamera = Camera.main;\n","references":[],"lineBreakBefore":true}],"props":{"priority":93},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":92,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":92},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":91,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":91},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":90,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":90},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":89,"text":"    void Start()\n","references":[],"lineBreakBefore":true}],"props":{"priority":89},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":88,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":88},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":87,"text":"        // Query weapon range from the weapon component\n","references":[],"lineBreakBefore":true}],"props":{"priority":87},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":86,"text":"        // This is decoupled - PlayerAiming finds the weapon, weapon doesn't need to know about aiming\n","references":[],"lineBreakBefore":true}],"props":{"priority":86},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":85,"text":"        currentWeapon = GetComponent<IWeaponAttack>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":85},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":84,"text":"        if (currentWeapon == null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":84},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":83,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":83},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":82,"text":"            currentWeapon = GetComponent<IWeaponAttack>();\n","references":[],"lineBreakBefore":true}],"props":{"priority":82},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":81,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":81},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":80,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":80},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":79,"text":"        if (currentWeapon != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":79},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":78,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":78},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":77,"text":"            WeaponRange = currentWeapon.WeaponRange;\n","references":[],"lineBreakBefore":true}],"props":{"priority":77},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":76,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":76},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":75,"text":"        else\n","references":[],"lineBreakBefore":true}],"props":{"priority":75},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":74,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":74},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":73,"text":"            GameEvents.DebugWarning(\"PlayerAiming: No IWeaponAttack component found. WeaponRange will be 0.\", DebugCategory.Input);\n","references":[],"lineBreakBefore":true}],"props":{"priority":73},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":72,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":72},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":71,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":71},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":70,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":70},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":69,"text":"    void Update()\n","references":[],"lineBreakBefore":true}],"props":{"priority":69},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":68,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":68},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":67,"text":"        UpdateAimDirection();\n","references":[],"lineBreakBefore":true}],"props":{"priority":67},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":66,"text":"        RotateFirePoint();\n","references":[],"lineBreakBefore":true}],"props":{"priority":66},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":65,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":65},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":64,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":64},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":63,"text":"    private void UpdateAimDirection()\n","references":[],"lineBreakBefore":true}],"props":{"priority":63},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":62,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":62},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":61,"text":"        if (mainCamera == null) return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":61},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":60,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":60},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":59,"text":"        // Get mouse screen position from input system\n","references":[],"lineBreakBefore":true}],"props":{"priority":59},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":58,"text":"        if (Mouse.current == null) return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":58},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":57,"text":"        Vector2 mouseScreenPos = Mouse.current.position.ReadValue();\n","references":[],"lineBreakBefore":true}],"props":{"priority":57},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":56,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":56},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":55,"text":"        // Convert to world position\n","references":[],"lineBreakBefore":true}],"props":{"priority":55},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":54,"text":"        MouseWorldPosition = mainCamera.ScreenToWorldPoint(mouseScreenPos);\n","references":[],"lineBreakBefore":true}],"props":{"priority":54},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":53,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":53},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":52,"text":"        // Calculate direction from player to mouse\n","references":[],"lineBreakBefore":true}],"props":{"priority":52},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":51,"text":"        Vector2 toMouse = MouseWorldPosition - (Vector2)firePoint.position;\n","references":[],"lineBreakBefore":true}],"props":{"priority":51},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":50,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":50},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":49,"text":"        if (toMouse.sqrMagnitude > 0.001f)\n","references":[],"lineBreakBefore":true}],"props":{"priority":49},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":48,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":48},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":47,"text":"            AimDirection = toMouse.normalized;\n","references":[],"lineBreakBefore":true}],"props":{"priority":47},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":46,"text":"            \n","references":[],"lineBreakBefore":true}],"props":{"priority":46},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":45,"text":"            // Fire event for other systems (animation, UI crosshair, etc)\n","references":[],"lineBreakBefore":true}],"props":{"priority":45},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":44,"text":"            GameEvents.OnPlayerAimDirectionChanged?.Invoke(AimDirection);\n","references":[],"lineBreakBefore":true}],"props":{"priority":44},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":43,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":43},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":42,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":42},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":41,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":41},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":40,"text":"    private void RotateFirePoint()\n","references":[],"lineBreakBefore":true}],"props":{"priority":40},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":39,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":39},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":38,"text":"        if (firePoint == null) return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":38},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":37,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":37},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":36,"text":"        // Calculate target rotation (2D: rotate around Z axis so \"up\" faces the aim direction)\n","references":[],"lineBreakBefore":true}],"props":{"priority":36},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":35,"text":"        float targetAngle = Mathf.Atan2(AimDirection.y, AimDirection.x) * Mathf.Rad2Deg - 90f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":35},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":34,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":34},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":33,"text":"        if (instantAim)\n","references":[],"lineBreakBefore":true}],"props":{"priority":33},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":32,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":32},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":31,"text":"            firePoint.rotation = Quaternion.Euler(0f, 0f, targetAngle);\n","references":[],"lineBreakBefore":true}],"props":{"priority":31},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":30,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":30},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":29,"text":"        else\n","references":[],"lineBreakBefore":true}],"props":{"priority":29},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":28,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":28},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":27,"text":"            Quaternion targetRotation = Quaternion.Euler(0f, 0f, targetAngle);\n","references":[],"lineBreakBefore":true}],"props":{"priority":27},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":26,"text":"            firePoint.rotation = Quaternion.Slerp(firePoint.rotation, targetRotation, aimSmoothSpeed * Time.deltaTime);\n","references":[],"lineBreakBefore":true}],"props":{"priority":26},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":25,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":25},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":24,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":24},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":23,"text":"    \n","references":[],"lineBreakBefore":true}],"props":{"priority":23},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":22,"text":"    #if UNITY_EDITOR\n","references":[],"lineBreakBefore":true}],"props":{"priority":22},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":21,"text":"    void OnDrawGizmosSelected()\n","references":[],"lineBreakBefore":true}],"props":{"priority":21},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":20,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":20},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":19,"text":"        if (firePoint == null) return;\n","references":[],"lineBreakBefore":true}],"props":{"priority":19},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"        // Draw aim direction line with weapon range\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"        Gizmos.color = Color.cyan;\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"        Vector3 start = firePoint.position;\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"        float displayRange = WeaponRange > 0 ? WeaponRange : 3f;\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"        Vector3 end = start + (Vector3)(AimDirection * displayRange);\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"        Gizmos.DrawLine(start, end);\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"        Gizmos.DrawWireSphere(end, 0.2f);\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"        \n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"        // Draw range circle\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"        Gizmos.color = new Color(0, 1, 1, 0.1f);\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"        UnityEditor.Handles.color = new Color(0, 1, 1, 0.3f);\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"        UnityEditor.Handles.DrawWireDisc(start, Vector3.forward, displayRange);\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"    #endif\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":136,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":136},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_Dd3Dzt2TCBCtJf8BCIU5i4wj__vscode-1774363162465":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":18},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":17,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":17},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":16,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":16},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":15,"text":"public class EnemyAttack : MonoBehaviour {\n","references":[],"lineBreakBefore":true}],"props":{"priority":15},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":14,"text":"    // Enemy attack logic\n","references":[],"lineBreakBefore":true}],"props":{"priority":14},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":13,"text":"    EnemyData enemyData;\n","references":[],"lineBreakBefore":true}],"props":{"priority":13},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":12,"text":"    IAttackBehaviour attackBehavior;\n","references":[],"lineBreakBefore":true}],"props":{"priority":12},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":11,"text":"    public void Initialize(EnemyData enemyDatainit, IAttackBehaviour attackBehavior)\n","references":[],"lineBreakBefore":true}],"props":{"priority":11},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":10,"text":"    {\n","references":[],"lineBreakBefore":true}],"props":{"priority":10},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"        enemyData = enemyDatainit;\n","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"        this.attackBehavior = attackBehavior;\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"        if (attackBehavior != null)\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"        {\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"            attackBehavior.Initialize(enemyData);\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"        }\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":18,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":18},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_hrZbG7kMSy4lCJdzjunHBIqH__vscode-1774363162466":{"$mid":20,"content":[{"$mid":23,"value":{"node":{"type":1,"ctor":2,"ctorName":"oxe","children":[{"type":1,"ctor":2,"ctorName":"tn","children":[{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"```csharp\n","references":[{"anchor":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs","scheme":"file"},"options":{"isFromTool":true}}],"lineBreakBefore":true}],"props":{"priority":9},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":8,"text":"using UnityEngine;\n","references":[],"lineBreakBefore":true}],"props":{"priority":8},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":7,"text":"\n","references":[],"lineBreakBefore":true}],"props":{"priority":7},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":6,"text":"public static class CombatCalculator {\n","references":[],"lineBreakBefore":true}],"props":{"priority":6},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":5,"text":"    public static int CalculateDamage(int attack, int defense) {\n","references":[],"lineBreakBefore":true}],"props":{"priority":5},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":4,"text":"        return Mathf.Max(0, attack - defense);\n","references":[],"lineBreakBefore":true}],"props":{"priority":4},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":3,"text":"    }\n","references":[],"lineBreakBefore":true}],"props":{"priority":3},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":2,"text":"}\n","references":[],"lineBreakBefore":true}],"props":{"priority":2},"references":[]},{"type":1,"ctor":2,"ctorName":"sBe","children":[{"type":2,"priority":9,"text":"```","references":[],"lineBreakBefore":true}],"props":{"priority":9},"references":[]}],"props":{},"references":[]}],"props":{},"references":[]}}}]},"call_3iIspWAW1pPbK0YW8Jt8h9Vz__vscode-1774363162467":{"$mid":20,"content":[{"$mid":21,"value":"Successfully wrote todo list\n\nWarning: Did you mean to update so many todos at the same time? Consider working on them one by one."}]},"call_CV1VtrYCcy8Qxa4djGpNJitz__vscode-1774363162468":{"$mid":20,"content":[{"$mid":21,"value":"Successfully wrote todo list"}]}},"modelMessageId":"7eff5647-2323-4098-a087-612780338027","responseId":"2e3ebf3e-d26a-40f6-aee6-e7da9819b949","sessionId":"d7baaa3c-b2ef-4e34-9fea-d0781e7533e0","agentId":"github.copilot.editsAgent"},"details":"GPT-5.3-Codex • 1x","usage":{"completionTokens":1030,"promptTokens":76971,"promptTokenDetails":[{"category":"System","label":"System Instructions","percentageOfPrompt":10},{"category":"System","label":"Tool Definitions","percentageOfPrompt":13},{"category":"User Context","label":"Messages","percentageOfPrompt":11},{"category":"User Context","label":"Tool Results","percentageOfPrompt":66}]}}}
{"kind":1,"k":["requests",1,"responseMarkdownInfo"],"v":[]}
{"kind":1,"k":["requests",1,"followups"],"v":[]}
{"kind":1,"k":["requests",1,"modelState"],"v":{"value":1,"completedAt":1774364316390}}
{"kind":2,"k":["requests",1,"response"],"v":[{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerAiming.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"9f107555-760b-40ce-8568-2340ea8c22c9","toolId":"copilot_readFile","generatedTitle":"Reviewed 3 files and managed todo list"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/EnemyAttack.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"1b1e8ff4-789e-46fb-9c9d-16bbce535c81","toolId":"copilot_readFile","generatedTitle":"Reviewed 3 files and managed todo list"},{"kind":"toolInvocationSerialized","invocationMessage":{"value":"Reading [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs","scheme":"file"}}},"pastTenseMessage":{"value":"Read [](file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs)","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/CombatCalculator.cs","scheme":"file"}}},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolCallId":"76365aa6-7cb5-476b-9edb-9fb32b5013fe","toolId":"copilot_readFile","generatedTitle":"Reviewed 3 files and managed todo list"},{"kind":"thinking","value":[],"id":"gjuaZ39ZD1No/WhqTFydxevMziBKr67okdJmUPav8vNAdcYQrJR/bdRTvjEOWfwvdVfgnapFzcDZcm+Gm4mLwxAeEu3RUzWGWrtWMNpzyQFKQX5nIGhBaIk2s4weMWTVYEVAggzD9GPIg8DEH+sX9FtSMnY0NKnhPJxmQ424rRf7LiiPRtVRa7yfd6Dgk2SD6ztsDDpyW3MuIygNljQI2R5RsFAWV81ZiS1FrvEo2snkuUBxCwnrRT1NeFenIQSJQ/rPUjmVNLxeD3vGz4vxQ3lXhgr+P2ZAFQ7uPjonM1AbecGfQgTf4GxngDBEuOMtQhmrEF3jcAY6053E5WPXW06J0IjBg6eylp1E9USMvoXjoqKFdBGJsCM1e6YkyRNd5ehRtZu4tZuDBP7sL0ZztYKLWfsvXg=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":"","pastTenseMessage":{"value":"Starting: *Summarize findings and actions* (5/5)","isTrusted":false,"supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolSpecificData":{"kind":"todoList","todoList":[{"id":"1","title":"Inventory scripts and project structure","status":"completed"},{"id":"2","title":"Assess code architecture patterns","status":"completed"},{"id":"3","title":"Review docs for accuracy","status":"completed"},{"id":"4","title":"Validate build/test readiness","status":"completed"},{"id":"5","title":"Summarize findings and actions","status":"in-progress"}]},"toolCallId":"38d98cfe-2a15-48a1-8e89-0e6f7d1a883e","toolId":"manage_todo_list"},{"kind":"thinking","value":[],"id":"esbjH+MnaAxppcQCFC30pgrcxL0Gp1JlH7zKcX9lDskZlRQ2cgymvB9FDRnWCa1nlXIG+B1Wq0hWxDILsOFEZyjA5FyhKsmUof9MvaipJ8Gac3Tppl08vRpWyCr7QZ92su5zsv7qODOiM6oZimlQMEBjYXI0VuXYVLHfk7y2NxtrDjzW0PkmUHz9rkXGtoNIkMoUeoe/duNXQSq5q7g9Dwq1hLTI+xfNVrdYOsjlJMtXfhT7bJNgBqiaujpadAJhSr++p3ian2NsL+Fi5AZkUGKsY1Za5g3qRgra9Qsu1xzbdjaY/9aopwThlt/eQdFIqZawgKgEXWmA0Hmv8EfLTp0bYzCAAlqthrY3xnvk0jb2skJJVY0AGS5AKx2T51hGFBoglUSfoL9jbf95suba17wpGNWdhQ=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"other"}},{"kind":"toolInvocationSerialized","invocationMessage":"","pastTenseMessage":{"value":"Completed: *Summarize findings and actions* (5/5)","isTrusted":false,"supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false},"isConfirmed":{"type":1},"isComplete":true,"source":{"type":"internal","label":"Built-In"},"toolSpecificData":{"kind":"todoList","todoList":[{"id":"1","title":"Inventory scripts and project structure","status":"completed"},{"id":"2","title":"Assess code architecture patterns","status":"completed"},{"id":"3","title":"Review docs for accuracy","status":"completed"},{"id":"4","title":"Validate build/test readiness","status":"completed"},{"id":"5","title":"Summarize findings and actions","status":"completed"}]},"toolCallId":"d0878ef1-ed63-4462-8ddd-9937ce7a4e3b","toolId":"manage_todo_list"},{"kind":"thinking","value":[],"id":"NNQM0o0Ojqn3omFejLrK5oYhLb5L60XJex5mAafWSrjqr1aRbfXZvylSuMTwh4NW0BoIln645xkFV9gyxzN8dWoZH2Wefz+cHYqRDu+K3wFwt8EHHSL7BSG+DgvM75GGg/TKD203V4HgZ3/xzfajtDtUgR2Fu5xuPQlhhd1F5NiC2yJvskGVyWMIqTdeyE8wDy91gHRmQUrQQjB5Bj4uCkd6mEj2xd4+JHpuv84fLIooRqWbkwc99YCtcY1Plg4WQu5rg6fpDHHVBcHMLMdpNqteiEf/d56e4UimY+KDNjorpdJ7C1FlhOGToGVZ4iK10Q04fRIoTVreBQD/f9tA2tnmXiPOxRrMFh8A10UYWd79ARKDh6tuYavSO4eoEO9KtJrkALTMaPfe4euQb17QGb/8Q716Rw=="},{"kind":"thinking","value":"","id":"","metadata":{"vscodeReasoningDone":true,"stopReason":"text"}},{"value":"**Validation Summary**\n- Familiarization complete: I reviewed core docs, manager/system/player/enemy/UI scripts, project settings, and static diagnostics.\n- Current editor diagnostics are clean (no C# errors reported), but there are several structural and documentation mismatches that will cause confusion and some runtime risk.\n\n**What Looks Good**\n- Architecture direction is strong: component orchestration + event hub + ScriptableObject data are clearly present in ","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Player/PlayerController.cs","inlineReference":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"}},{"value":", ","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Enemies/Enemy.cs","inlineReference":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Enemy.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/Enemy.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/Enemy.cs","scheme":"file"}},{"value":", ","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Events/GameEvents.cs","inlineReference":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"}},{"value":", and ","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Data/UpgradeData.cs","inlineReference":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/UpgradeData.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Data/UpgradeData.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Data/UpgradeData.cs","scheme":"file"}},{"value":".\n- Event subscription hygiene is generally solid (matching subscribe/unsubscribe pairs across UI/managers/player scripts).\n- Performance-conscious patterns are implemented (pooling, non-alloc status spread buffers) in ","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Systems/PoolingSystem.cs","inlineReference":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/PoolingSystem.cs","scheme":"file"}},{"value":" and ","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","inlineReference":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","scheme":"file"}},{"value":".\n\n**High-Priority Issues**\n- Build settings point to a missing scene: ","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"inlineReference","name":"ProjectSettings/EditorBuildSettings.asset#L7","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/ProjectSettings/EditorBuildSettings.asset","external":"file:///home/breadway/Documents/Hazard%20Pay/ProjectSettings/EditorBuildSettings.asset","path":"/home/breadway/Documents/Hazard Pay/ProjectSettings/EditorBuildSettings.asset","scheme":"file"},"range":{"startLineNumber":7,"startColumn":1,"endLineNumber":7,"endColumn":1}}},{"value":" references Assets/Scenes/SampleScene.unity, which does not exist.\n- Documentation is inconsistent with project reality:\n  - README says 2D + GameplayTest scene: ","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"inlineReference","name":"README.md#L3","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":{"startLineNumber":3,"startColumn":1,"endLineNumber":3,"endColumn":1}}},{"value":", ","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"inlineReference","name":"README.md#L148","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":{"startLineNumber":148,"startColumn":1,"endLineNumber":148,"endColumn":1}}},{"value":", ","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"inlineReference","name":"README.md#L194-L195","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/README.md","external":"file:///home/breadway/Documents/Hazard%20Pay/README.md","path":"/home/breadway/Documents/Hazard Pay/README.md","scheme":"file"},"range":{"startLineNumber":194,"startColumn":1,"endLineNumber":195,"endColumn":1}}},{"value":"\n  - AGENTS says TestScene + Unity 6000.3.3f1: ","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"inlineReference","name":"AGENTS.md#L11","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":{"startLineNumber":11,"startColumn":1,"endLineNumber":11,"endColumn":1}}},{"value":", ","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"inlineReference","name":"AGENTS.md#L400-L401","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":{"startLineNumber":400,"startColumn":1,"endLineNumber":401,"endColumn":1}}},{"value":"\n  - Actual editor version is 6000.3.7f1: ","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"inlineReference","name":"ProjectSettings/ProjectVersion.txt#L1","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/ProjectSettings/ProjectVersion.txt","external":"file:///home/breadway/Documents/Hazard%20Pay/ProjectSettings/ProjectVersion.txt","path":"/home/breadway/Documents/Hazard Pay/ProjectSettings/ProjectVersion.txt","scheme":"file"},"range":{"startLineNumber":1,"startColumn":1,"endLineNumber":1,"endColumn":1}}},{"value":"\n  - GEMINI also references old scene/version: ","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"inlineReference","name":"GEMINI.md#L12","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/GEMINI.md","external":"file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md","path":"/home/breadway/Documents/Hazard Pay/GEMINI.md","scheme":"file"},"range":{"startLineNumber":12,"startColumn":1,"endLineNumber":12,"endColumn":1}}},{"value":", ","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"inlineReference","name":"GEMINI.md#L91","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/GEMINI.md","external":"file:///home/breadway/Documents/Hazard%20Pay/GEMINI.md","path":"/home/breadway/Documents/Hazard Pay/GEMINI.md","scheme":"file"},"range":{"startLineNumber":91,"startColumn":1,"endLineNumber":91,"endColumn":1}}},{"value":"\n\n**Code/Organization Risks**\n- Placeholder/incomplete core managers/UI remain: ","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Managers/RoomManager.cs#L3","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/RoomManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/RoomManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/RoomManager.cs","scheme":"file"},"range":{"startLineNumber":3,"startColumn":1,"endLineNumber":3,"endColumn":1}}},{"value":", ","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Managers/AudioManager.cs#L3","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/AudioManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/AudioManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/AudioManager.cs","scheme":"file"},"range":{"startLineNumber":3,"startColumn":1,"endLineNumber":3,"endColumn":1}}},{"value":", ","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/UI/UpgradeUI.cs#L3","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/UI/UpgradeUI.cs","scheme":"file"},"range":{"startLineNumber":3,"startColumn":1,"endLineNumber":3,"endColumn":1}}},{"value":".\n- Event cleanup helper is incomplete: ","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Events/GameEvents.cs#L522","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":{"startLineNumber":522,"startColumn":1,"endLineNumber":522,"endColumn":1}}},{"value":" does not clear some declared events such as ","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Events/GameEvents.cs#L16","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":{"startLineNumber":16,"startColumn":1,"endLineNumber":16,"endColumn":1}}},{"value":" and ","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Events/GameEvents.cs#L116","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Events/GameEvents.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Events/GameEvents.cs","scheme":"file"},"range":{"startLineNumber":116,"startColumn":1,"endLineNumber":116,"endColumn":1}}},{"value":".\n- StatusEffectController bypasses safe wrappers and invokes hub events directly: ","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs#L83","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","scheme":"file"},"range":{"startLineNumber":83,"startColumn":1,"endLineNumber":83,"endColumn":1}}},{"value":", ","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs#L158","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","scheme":"file"},"range":{"startLineNumber":158,"startColumn":1,"endLineNumber":158,"endColumn":1}}},{"value":", ","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs#L181","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Systems/StatusEffects/StatusEffectController.cs","scheme":"file"},"range":{"startLineNumber":181,"startColumn":1,"endLineNumber":181,"endColumn":1}}},{"value":".\n- Upgrade flow appears partially disconnected: apply method exists in player ","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Player/PlayerController.cs#L137","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Player/PlayerController.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Player/PlayerController.cs","scheme":"file"},"range":{"startLineNumber":137,"startColumn":1,"endLineNumber":137,"endColumn":1}}},{"value":", but wiring is unclear and a stale comment remains in ","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Managers/XPManager.cs#L54","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/XPManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/XPManager.cs","scheme":"file"},"range":{"startLineNumber":54,"startColumn":1,"endLineNumber":54,"endColumn":1}}},{"value":".\n- Naming/style drift and small hygiene issues: ","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Enemies/StupidAudio.cs#L6","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","scheme":"file"},"range":{"startLineNumber":6,"startColumn":1,"endLineNumber":6,"endColumn":1}}},{"value":", ","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Enemies/StupidAudio.cs#L1","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Enemies/StupidAudio.cs","scheme":"file"},"range":{"startLineNumber":1,"startColumn":1,"endLineNumber":1,"endColumn":1}}},{"value":", ","supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"},"uris":{}},{"kind":"inlineReference","name":"Assets/_Project/Scripts/Managers/GameManager.cs#L1","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","external":"file:///home/breadway/Documents/Hazard%20Pay/Assets/_Project/Scripts/Managers/GameManager.cs","path":"/home/breadway/Documents/Hazard Pay/Assets/_Project/Scripts/Managers/GameManager.cs","scheme":"file"},"range":{"startLineNumber":1,"startColumn":1,"endLineNumber":1,"endColumn":1}}},{"value":".\n\n**Recommended Next Actions (Order)**\n- Fix build scene configuration first, then align all docs to one source of truth (scene names, 2D/3D wording, Unity version, phase/status).\n- Complete or clearly mark placeholder managers/UI as out-of-scope to avoid false readiness signals.\n- Patch event hub consistency (ClearAllListeners coverage + prefer wrapper methods in systems).\n- Validate upgrade event path end-to-end and remove stale comments.\n- Add minimal test assembly scaffolding (none currently present, consistent with ","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}},{"kind":"inlineReference","name":"AGENTS.md#L24","inlineReference":{"uri":{"$mid":1,"fsPath":"/home/breadway/Documents/Hazard Pay/AGENTS.md","external":"file:///home/breadway/Documents/Hazard%20Pay/AGENTS.md","path":"/home/breadway/Documents/Hazard Pay/AGENTS.md","scheme":"file"},"range":{"startLineNumber":24,"startColumn":1,"endLineNumber":24,"endColumn":1}}},{"value":").\n\nIf you want, I can apply a focused remediation pass now: update build settings + docs consistency + event hub cleanup in one commit-sized change set.","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/home/breadway/Documents/Hazard Pay/","scheme":"file"}}],"i":29}
