Founntain / osuplayer

Official osu!player repository. osu!player is a music player for the game osu! made by Dean 'peppy' Herbert. Written in the cross-platform framework AvaloniaUI
MIT License
62 stars 6 forks source link

Implementation of console logging & Project Restructure #233

Closed Founntain closed 10 months ago

Founntain commented 11 months ago

This PR implements a basic logging service, that provides us with the ability to log to the console. Also every service now prints it's status when de-/initializing.

Founntain commented 10 months ago

This PR also includes a huge overhaul of the project structure.

The key problem was, that it wasn't possible to call services in a variety of projects. Mostly IO or Network. This was and would be a big hindrance in the future, as for example it wouldn't be possible to call the LoggingService in IO or Network. This is now possible as @Cesan and I restructured the project. There is a new Interface project that helps us telling other projects what service exist and what they can do. Which in the end gives us the ability to call these services in the IO or Network project.

The reference Hierarchy was as followed:

Now it is as followed: