Skip to content

modules and lobbies messages#56

Closed
franek73 wants to merge 35 commits intomasterfrom
feature/modules-and-lobbies-messages
Closed

modules and lobbies messages#56
franek73 wants to merge 35 commits intomasterfrom
feature/modules-and-lobbies-messages

Conversation

@franek73
Copy link
Collaborator

No description provided.

Manie-K and others added 30 commits July 26, 2025 13:02
Set up automatic github action for testing on push.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Refactored the lobby system with modular design using `ILobby` and `LobbyManager` for managing multiple lobbies. Introduced a new `Server` class to handle client connections and delegate lobby operations. Added logging via `ILogger` and exception handling with `NullLobbyException`. Updated namespaces and project structure for better organization. Removed legacy code and improved thread management and client communication. Enhanced code readability with comments and XML documentation.
* Added basics for messages communication

* Changes in client loop in server, changes in message communication

* Added project for manual testing, bugs fixed

* Some changes

* IMessage interface changed for MessageBase abstract class
Changed logging architecture to event base to decouple the server from the rest.
Added resending new info about entity to others.
Added initial processing of world entities' states updates.
Changed world state update to tick-based
server logs are transfered to ui app
base for http api (now only lobbies api endpoints)
lobby service transfered into shared library
…ment

Added simple entities movement handling.
franek73 and others added 5 commits September 11, 2025 14:31
…tion

Added simple API for managing modules.
* Improved Module class.

Added Behaviour type tree.

Added a way to create Module instances using fluent builder.

* Created interaction type resolver in world entity update.

* Added services.

Added ModuleService.
Added BehaviourService.
Added simple in-memory behaviours catalouge.
Created most basic implementations of behaviours.

* Add important comment.

* Added a very primitive modules id system.

Prevents extensive memory usage by removing need for multiple instances of module class in world entities. Now, lobby will only contain instances of loaded modules once, not once per entity. It will also reduce the number of behaviour classes instances to once per modules its included in.
#46)

* Added disjoining lobby option and message, added new elemnts to create lobby message

* disjoin lobby message type enum bug fixed

* join lobby message type bug fixed
* classes from Server.Shared project transfered into Server.Core and SharedLibrary projects

* Changed lobby creation to support modules.

Made other minor changes.

---------

Co-authored-by: Maciej Góralczyk <goralczykmaciek@gmail.com>
@franek73 franek73 requested a review from Manie-K September 21, 2025 16:23
@franek73 franek73 self-assigned this Sep 21, 2025
@franek73 franek73 added the enhancement New feature or request label Sep 21, 2025
@franek73 franek73 closed this Sep 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants