#pragma once #include struct World; struct RequestWeatherChange; struct RequestCurrentWeather; struct WeatherService { WeatherService(World& aWorld, entt::dispatcher& aDispatcher) noexcept; ~WeatherService() noexcept = default; TP_NOCOPYMOVE(WeatherService); protected: void OnWeatherChange(const PacketEvent& acMessage) const noexcept; void OnRequestCurrentWeather(const PacketEvent& acMessage) const noexcept; private: World& m_world; entt::scoped_connection m_weatherChangeConnection; entt::scoped_connection m_currentWeatherConnection; };