Skip to content
This repository was archived by the owner on Jun 17, 2025. It is now read-only.

Conversation

@tgiachi
Copy link
Owner

@tgiachi tgiachi commented May 14, 2025

No description provided.

tgiachi added 10 commits May 13, 2025 15:02
…stom serialization headers for entities

feat(Prima.Core.Server): create SerializationData class to handle serialization data
feat(Prima.Server): implement PersistenceManager service for entity serialization
feat(Prima.UOData): introduce BaseEntitySerializer for entity serialization
feat(Prima.UOData): define interfaces for entity serialization and persistence management
…ializationEntryData to improve data serialization structure

feat(PersistenceManager): add support for registering entity serializers and saving data to file asynchronously
feat(IEntitySerializer): add Header and FileName properties to interface for serialization
feat(BaseEntitySerializer): add Header and FileName properties to base serializer class for entities
…methods to write strings, Point2D, Point3D, and Serial types to a binary writer
…change magicNumber to byte array, add entitySerializersAsType dictionary for better entity type lookup

feat(PersistenceManager.cs): remove DirectoriesConfig dependency from constructor, update SerializeAsync method to use entity type for serializer lookup
feat(PersistenceManager.cs): update SaveToFileAsync method to use FileStream FileMode.CreateNew, update serialization process
feat(PersistenceManager.cs): add DeserializeAsync method to read serialized data from file and deserialize into entities
feat(ItemEntity.cs, MobileEntity.cs): add properties Name, Hue, Position to ItemEntity and MobileEntity classes
feat(MobileEntity.cs): add Direction property to MobileEntity class
feat(BinaryItemSerializer.cs): create BinaryItemSerializer for serializing and deserializing ItemEntity objects
feat(BinaryMobileSerializer.cs): create BinaryMobileSerializer for serializing and deserializing MobileEntity objects
feat(Direction.cs): create Direction enum for representing cardinal directions and movement
feat(StreamWriterExtension.cs): add extension methods for writing and reading data using SpanWriter and SpanReader
feat(Serial.cs): make Serial constructor public, add empty line
feat(IPersistenceManager.cs): update SaveToFileAsync and DeserializeAsync methods to be generic for any ISerializableEntity
feat(BinarySerializerTests.cs): create tests for saving and reading serialized MobileEntity objects
…readability

refactor(BaseWorldEntity.cs): change class from abstract to non-abstract for consistency
feat(ItemEntity.cs): add properties for Name, Hue, and Position to represent an item entity
feat(MobileEntity.cs): add properties for IsPlayer and Direction to represent a mobile entity
refactor(Serial.cs): remove unnecessary empty line for cleaner code
style(Prima.UOData.csproj): remove unnecessary empty lines for cleaner project file
perf(BinarySerializerTests.cs): update MaxSize constant value for more appropriate testing size
…erializableHeaderAttribute constructor as it is not used

refactor(SerializationEntryData.cs): remove FileName property and related constructor parameters as it is not used
refactor(PersistenceManager.cs): remove unused DeserializeAsync method
refactor(PersistenceManager.cs): refactor SaveToFileAsync method to calculate and write checksum for data
feat(ItemEntity.cs): remove fileName parameter from SerializableHeader attribute
feat(MobileEntity.cs): remove fileName parameter from SerializableHeader attribute
feat(StreamWriterExtension.cs): remove unused Write method for string
feat(StreamWriterExtension.cs): remove unused ReadPoint, ReadPoint3D, Write methods
feat(StreamWriterExtension.cs): remove unused ReadDirection method
feat(BaseEntitySerializer.cs): remove FileName property as it is not used
feat(BinaryItemSerializer.cs): refactor Serialize method to use BinaryWriter instead of SpanWriter
feat(BinaryMobileSerializer.cs): refactor Deserialize method to use BinaryReader instead of SpanReader
feat(BinaryMobileSerializer.cs): remove unused using statement for Orion.Foundations.Spans
feat(BinarySerializerTests.cs): refactor test methods to create and read files for MobileEntity and ItemEntity
feat: add Autosave property to ShardConfig class to store AutosaveConfig
feat: add IWorldManagerService interface for managing world entities
feat: add WorldManagerService class to implement IWorldManagerService
feat: add methods to WorldManagerService for adding and generating world entities
feat: add tests for WorldManagerService to test adding mobiles and items
…Service interface for saving world data asynchronously

feat(WorldManagerService): implement SaveWorldAsync method in WorldManagerService to autosave world data
feat(WorldManagerServiceTests): add test case for SaveWorldAsync method in WorldManagerServiceTests to ensure successful saving of world data
…le world saving events

feat(WorldManagerService): implement event handling for world saving events to improve data persistence and logging
feat(WorldManagerServiceTests): update tests to include event bus setup for WorldManagerService instances
@tgiachi tgiachi merged commit ca5fbca into main May 14, 2025
1 check passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants