mirror of
https://github.com/Mr-X-GTA/YimMenu.git
synced 2025-06-23 01:02:23 +08:00
refactor!: Replace premake5 with CMake. (#551)
Co-authored-by: tupoy-ya <tupoy-ya@users.noreply.github.com>
This commit is contained in:
40
src/services/vehicle/handling_service.hpp
Normal file
40
src/services/vehicle/handling_service.hpp
Normal file
@ -0,0 +1,40 @@
|
||||
#pragma once
|
||||
#include "handling_profile.hpp"
|
||||
|
||||
namespace big
|
||||
{
|
||||
using handling_profiles = std::map<std::string, std::unique_ptr<handling_profile>>;
|
||||
class handling_service final
|
||||
{
|
||||
public:
|
||||
handling_service();
|
||||
~handling_service();
|
||||
|
||||
handling_service(const handling_service&) = delete;
|
||||
handling_service(handling_service&&) noexcept = delete;
|
||||
handling_service& operator=(const handling_service&) = delete;
|
||||
handling_service& operator=(handling_service&&) noexcept = delete;
|
||||
|
||||
std::size_t load_files();
|
||||
handling_profiles& profiles();
|
||||
|
||||
handling_profile* active_profile();
|
||||
void apply_profile(handling_profile* profile);
|
||||
bool save_profile(std::string name);
|
||||
|
||||
bool backup_vehicle();
|
||||
void restore_vehicle() const;
|
||||
|
||||
private:
|
||||
const folder m_profiles_folder;
|
||||
|
||||
handling_profile* m_active_profile;
|
||||
handling_profiles m_handling_profiles;
|
||||
|
||||
// contains the handling profiles of a vehicles before they're been modified
|
||||
std::unordered_map<std::uint32_t, std::unique_ptr<handling_profile>> m_vehicle_backups;
|
||||
|
||||
};
|
||||
|
||||
inline handling_service* g_handling_service{};
|
||||
}
|
Reference in New Issue
Block a user