geometry-tower-defense/AGENTS.md

2.3 KiB

Repository Guidelines

Project Structure & Module Organization

  • Assets/ contains all Unity assets and code. Game-specific content lives under Assets/GameMain/.
  • Assets/GameMain/Scripts/ holds gameplay code organized by domain (Procedure/, Entity/, UI/, Scene/, Sound/, Utility/).
  • Assets/GameMain/Scenes/ stores Unity scenes (start from Assets/Launcher.unity).
  • Assets/GameMain/Configs/ and Assets/GameMain/DataTables/ store runtime configuration and data tables.
  • StreamingAssets/ is for runtime-loaded files that must be preserved on build.
  • docs/ contains design notes (see docs/GameDesign.md).
  • Êý¾Ý±í/ is a top-level data table workspace; keep it in sync with Assets/GameMain/DataTables/ when exporting.

Build, Test, and Development Commands

  • Open the project with Unity Hub and load GeometryTD as a Unity project.
  • Play locally via the Unity Editor Play button (no custom CLI runner is defined in this repo).
  • Build via Unity: File > Build Settings... then choose target and build.
  • IDE support: open GeometryTD.sln or Assembly-CSharp.csproj for C# navigation and tooling.

Coding Style & Naming Conventions

  • C# uses 4-space indentation and Allman braces (see Assets/GameMain/Scripts/Procedure/ProcedureLaunch.cs).
  • Types, methods, and public members use PascalCase; locals and parameters use camelCase.
  • Namespaces follow GeometryTD.* by feature area (example: GeometryTD.Procedure).
  • Keep Unity .meta files with their assets; do not delete or regenerate them manually.

Testing Guidelines

  • No project-specific tests are present yet. Unity¡¯s Test Runner is available if tests are added.
  • If you add tests, place them under Assets/ with Editor or Runtime assembly definition files and use *Tests.cs naming.

Commit & Pull Request Guidelines

  • This repository does not include Git history in the workspace, so no commit convention can be inferred.
  • Use clear, scoped commit messages (example: Add tower targeting component), and include a brief PR description plus screenshots for visual changes.

Configuration Tips

  • Project settings live in ProjectSettings/ and Packages/; review diffs carefully when they change.
  • Avoid committing Library/, Temp/, or Logs/ outputs; they are generated by Unity.