- Deleted `moonsharp-lua-integration.md` as it is no longer relevant.
- Removed `scripting-language-support.md` to streamline documentation.
- Eliminated `game_assembly_analysis.md` to avoid confusion with current architecture.
- Cleared `README.md` in `lib/references` to prevent outdated instructions.
- Removed `modding_core_architecture_summary.md` to simplify the documentation structure.
- Deleted `CHANGELOG.md` in `publish_full` to maintain a clean repository.
- Cleared `README.md` in `publish_full` to remove obsolete information.
Update project structure and versioning
- Updated `gregCore.csproj` to version `1.0.0.40-pre`.
- Modified `gregCore.sln` to include new project structure with multiple components.
- Disabled IMGUI drawing in Core.cs for Unity 6 stability.
- Consolidated GregCoreMod and DataCenterModLoaderMod into a single GregCoreMod class for better organization and clarity.
- Updated GregBootstrapper to use a boolean flag for hook integration.
- Simplified HookIntegration class by removing unnecessary fields and methods, focusing on essential functionality.
- Updated PlayerPatch and ShopPatch to emit hooks using string representation for better compatibility.
- Introduced ModMenu and GregHardwareID classes for centralized mod configuration and unique object identification.
- Enhanced GregDevConsole for improved logging and UI management.
- Added legacy shims for backward compatibility with older mods.
- Improved UI management with CanvasGroup for better input handling.
- Updated QoL settings to allow for a range in slider values.
feat(CommonShop): Add custom shop item registration and checkout handling
feat(CommonShop): Create CustomShopItem class for better item management
feat(CommonShop): Develop ShopAPI for injecting custom items into the shop
feat(FasterSFP): Introduce faster SFP modules with custom speeds and prices
feat(NoMoreEOL): Add patch to control visibility of error warning signs
feat(QoL): Implement various quality of life improvements including shop layout fixes and item deletion
refactor(Sdk): Create legacy event dispatcher for backward compatibility
- Added HardwareIdPersistencePatch to manage unique IDs for NetworkSwitch, PatchPanel, and Server.
- Introduced CleanId method to sanitize device IDs and prevent duplicates.
- Implemented legacy ID mapping in MapDataHealing to update old IDs to new formats.
- Created OverlayManager for centralized control of UI overlays and raycast blocking.
- Developed NoMoreEOL module to prevent servers and switches from reaching end-of-life, with auto-repair features.
- Integrated in-game configuration options for user customization.
- Implemented TechnicianHiring class to register and manage extra technician employees.
- Defined a struct TechDef to encapsulate technician properties such as ID, name, description, salary, and required reputation.
- Added methods for initializing technicians, handling hiring and firing events, and restoring technicians on load.
- Included logging for tracking registration, hiring, firing, and restoration processes.
- Implemented ShopPatch to emit a checkout event when the checkout button is pressed.
- Created TimePatch to track and emit events when a game day ends, including both canonical and legacy event emissions.
- Added GregEventDispatcher class for managing event subscriptions and emissions.
- Integrated event bus functionality for mod communication.
feat: Introduce GregCoreConfig for configuration management
- Created GregCoreConfig class to manage application-wide settings, including debug mode.
feat: Develop WallRack mod with initialization and logging
- Implemented Main class for WallRack mod with initialization and shutdown logging.
- Integrated logging functionality for various mod events.
feat: Enhance logging capabilities with GregLogger and GregModLogger
- Developed GregLogger for general logging and GregModLogger for mod-specific logging.
- Added structured logging methods for different log levels and actions.
feat: Create WallRack integration for wall management
- Implemented GregWallRegistry for managing wall grids and devices.
- Developed GregWallGrid and GregWallSlot for grid and slot management.
- Added GregWallDevice for device representation and mounting logic.
feat: Implement undo/redo functionality for wall actions
- Created GregWallUndoRedoService to manage undo and redo actions for wall modifications.
- Defined action records for mounting, unmounting, and swapping devices.
feat: Integrate wall placement controller for user interactions
- Developed GregWallPlacementController to handle wall build mode and user interactions.
- Implemented methods for mounting, unmounting, and swapping devices in the wall grid.
feat: Add save/load functionality for wall state
- Implemented WallSaveIntegration for saving and loading wall states using LiteDB.
- Created data models for wall and mounted device states.
feat: Enhance UI settings for WallRack mod
- Developed GregSettingsHubWallRackTab for managing mod settings and user preferences.
- Integrated feature guards to disable settings based on game state.
fix: Address various bugs and improve stability
- Fixed issues related to device mounting and grid management.
- Improved error handling and logging for better debugging.
Initialize the DataCenter-RustBridge submodule to integrate the Rust bridge plugin for the DataCenter project. This enables using the external Rust-based components as a git submodule.