994 Commits

Author SHA1 Message Date
MSWS
999ba67d2b Additional unit testing and slight signature update 2025-07-29 16:50:34 -07:00
MSWS
c67bd3b919 feat: Add countdown parameter to game start method
- Update `Start` method across game logic to include a configurable countdown parameter
- Adjust `RoundBasedGameTest` to reflect new countdown logic and validate state transitions during delayed starts
- Modify `PlayerJoinGameStartListener` to pass a 5-second countdown when starting the game
- Update `IGame` interface to support countdown parameter in `Start` method and revise documentation accordingly
2025-07-29 16:31:11 -07:00
MSWS
a02583a800 Add Nix-OS specific files 2025-07-29 16:28:05 -07:00
MSWS
6ada09a37b Fix OS-specific issues 2025-07-29 16:14:10 -07:00
MSWS
c56b9f6e03 Tidy up repo 2025-07-29 15:52:53 -07:00
MSWS
33b8d1678f Format & Optimize 2025-07-28 23:11:38 -07:00
MSWS
905734ac3d test: Add tests and state handling for game start and rounds
- Rename `State.cs` in `TTT.Game` without modifying its content.
- Register `IGameManager` with `GameManager` implementation in `TTT.Test/Startup.cs`.
- Add new tests for joining games in `JoinStartTest.cs` to handle state transitions and messaging.
- Update logic in `RoundBasedGame.cs` to notify players of countdown interruptions and handle insufficient players during round start.
- Add `State` property to `IGame` interface and fix formatting in `TTT.Api/IGame.cs`.
- Simplify `DetectiveRole` constructor logic and clean up formatting in `TTT.Game/Roles/DetectiveRole.cs`.
2025-07-28 23:10:41 -07:00
MSWS
2e0a4e7ca4 Improve role balancing 2025-07-28 22:45:14 -07:00
MSWS
42ab80a350 Always generate code coverage summary 2025-07-28 21:41:34 -07:00
MSWS
4b78f49f08 ci: Simplify code coverage conditions in workflows
- Simplify code coverage conditional checks in dotnet workflow
- Remove conditional execution of export code coverage step based on .NET version
2025-07-28 21:34:38 -07:00
MSWS
7afe4c1445 ci: Update coverage file path in dotnet.yml workflow
Update coverage file path in GitHub Actions workflow

- Update the file path in `.github/workflows/dotnet.yml` to use a specific coverage file instead of a generic pattern.
2025-07-28 21:32:24 -07:00
MSWS
555951f898 ci: Update test coverage file path in dotnet workflow
Update test coverage file path in dotnet.yml workflow
2025-07-28 21:28:57 -07:00
MSWS
8464430503 ci: Add restore and build steps to test job in dotnet CI
Add steps for restoring dependencies and building in test job
2025-07-28 21:25:49 -07:00
MSWS
e92093439c ci: Simplify dotnet.yml test job and fix command syntax
- Update `.github/workflows/dotnet.yml` to streamline the test job by removing the dependency restoration step and unused commented-out build step, and adding quotes around the test command for consistency.
2025-07-28 21:23:40 -07:00
MSWS
f697c1bf43 ci: Update dotnet workflow to refine test job execution
- Update .NET GitHub Actions workflow
  - Comment out the build step in the test job
  - Adjust `dotnet run` command to include explicit `--project` flag
2025-07-28 21:17:20 -07:00
MSWS
7ca9acf195 ci: Align dotnet test workflow with build phase steps
- Update test job in dotnet.yml workflow to align processes with build phase
- Remove explicit project path from dotnet restore command in test job
2025-07-28 21:15:24 -07:00
MSWS
e3a46e4088 Fix path again 2025-07-28 21:11:49 -07:00
MSWS
7a993e81bc ci: Fix project paths in dotnet workflow commands
- Fix project path in restore dependencies command in dotnet.yml
- Update project path in dotnet run command in dotnet.yml
2025-07-28 21:09:54 -07:00
MSWS
9455e204c2 ci: Refactor and enhance project structure and tooling.
```
- Update `TTT.Api.csproj` to target .NET 8.0, add GitVersion.MsBuild reference, and retain existing package references.
- Modify `.github/workflows/dotnet.yml` to split test and build jobs, report code coverage, and introduce conditional tasks.
- Add code coverage badge to `README.md` and improve formatting.
- Remove debug-related properties and add GitVersion.MsBuild reference in `TTT.Game.csproj` and `TTT.CS2.csproj`.
- Clean up unused imports and update namespaces in `IPlayerConverter.cs` and other listener files to align with `TTT.Api.Player`.
```
2025-07-28 21:07:45 -07:00
MSWS
42ec1468a1 Re-enable debug symbols for code coverage 2025-07-28 20:35:34 -07:00
MSWS
08c2a67e4a build: Remove GenerateGitVersion tool and update TTT.Game debug settings
- Remove `GenerateGitVersion` project and related C# program
- Update `TTT.Game.csproj` to disable debug symbols and set debug type to none
2025-07-28 20:03:31 -07:00
MSWS
da569181a3 build: Refactor build configs and remove deprecated projects
```
- Remove "tools" and "GenerateGitVersion" projects from TTT.sln and their associated configuration and mappings.
- Update TTT.Plugin.csproj with improved publish configuration, including new properties, versioned ZIP output, and refined file handling.
- Disable debug symbols and set debug type to none in TTT.CS2.csproj.
```
2025-07-28 20:02:23 -07:00
MSWS
972f647a7a ci: Update workflow triggers for branches and paths
Update trigger configuration in dotnet workflow
2025-07-28 19:44:54 -07:00
MSWS
39b6190902 Disable caching in nightly 2025-07-28 19:44:05 -07:00
MSWS
267059b51b ci: Update GitHub Actions checkout configurations
- Fix formatting in `nightly.yml`
- Update `dotnet.yml` with enhanced `actions/checkout` configuration, including `fetch-depth` set to 0, enabled `fetch-tags`, and `show-progress`.
2025-07-28 19:42:02 -07:00
MSWS
61c059934b Start reworking gitversioning 2025-07-28 19:39:47 -07:00
MSWS
0aecb56de0 Update dotnet path 2025-07-28 19:23:30 -07:00
MSWS
effa2a277c Add workflows 2025-07-28 19:21:54 -07:00
MSWS
5df2a6e5f9 feat: Introduce reactive support and enhance DI across modules
```
Add new features, interfaces, and improve dependency injection across multiple components

- Update `IGameManager` interface to include the `ActiveGame` property and `CreateGame` method.
- Add `DelayAsync` method to the `IDelayer` interface for asynchronous delays utilizing `TimeSpan`.
- Implement dependency injection for `IOnlineMessenger`, `IRoleAssigner`, and `TestScheduler` in `TTT.Test/Startup.cs`.
- Enhance `FakeMessenger` to implement `IOnlineMessenger` and update messaging logic with stricter type validation and new methods.
- Modify `removePlayer` logic in `FakePlayerFinder` to use `Id` for player matching, with improved filtering via `RemoveWhere`.

- Register `IScheduler` in `TTTServiceCollection` and restructure module loading logic in `TTT.Plugin/TTT.cs`.
- Update `IGame` interface to make `Start` method return an `IObservable<long>` for reactive support.
- Implement new tests in `RoundBasedGameTest` to cover game state transitions based on players and delays.
```
2025-07-28 19:12:11 -07:00
MSWS
80201c94d5 Start work on concrete loading 2025-07-28 18:06:41 -07:00
MSWS
caa985023d Figure out time-based unit tests 2025-07-28 17:49:00 -07:00
MSWS
59ff2bd608 Format and add Windows Support 2025-07-28 15:18:52 -07:00
MSWS
e062d77955 feat: Introduce IRoleAssigner for role assignment refactor 2025-07-28 14:31:03 -07:00
MSWS
e4980eca4c Add more player methods 2025-07-28 14:12:22 -07:00
MSWS
c8b5941837 Reformat & Cleanup 2025-07-28 13:26:40 -07:00
MSWS
404fef40b0 More work on events 2025-07-28 13:26:14 -07:00
MSWS
c47851f4c5 Start work on messaging 2025-07-28 09:31:51 -07:00
MSWS
08adb86f65 Rename Test/Core -> Test/Game to match previous reorganization 2025-07-28 08:33:37 -07:00
MSWS
336335a854 Finish reorganizing 2025-07-28 08:29:20 -07:00
MSWS
a52885f586 Reorganize 2025-07-28 08:21:25 -07:00
MSWS
c935acb0a8 Figure out versioning again 2025-07-28 06:31:17 -07:00
MSWS
75af41c922 Move TTT.Core into repo 2025-07-28 05:49:17 -07:00
MSWS
4c76f089d3 Clean up repo, add event stuff 2025-07-28 05:44:29 -07:00
MSWS
dabc2a6913 Init 0.0.0 2025-07-28 04:41:00 -07:00