TmpMenu/src/services/vehicle/handling_service.hpp
maybegreat48 97a8c5d60b Add more spoofing options and added clang-format (#1020)
* feat(Spoofing): add spoofing
* feat(Spoofing): prepare code for player attach
* remove(PlayerAttach): isn't going to work due to netsync architecture
* fix(GUI): fix scaling
* feat(Project): add clang-format file
* feat(Classes): update classes
* fix(BlackHole): remove unnecessary cleanup
* fix(Formatting): fix formatting for initializer lists
* feat(clang-format): Set tab width and 1 space before comment

Co-authored-by: Yimura <24669514+Yimura@users.noreply.github.com>
2023-03-01 21:27:15 +00:00

39 lines
1.0 KiB
C++

#pragma once
#include "handling_profile.hpp"
namespace big
{
using handling_profiles = std::map<std::string, 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, handling_profile> m_vehicle_backups;
};
inline handling_service* g_handling_service{};
}