Added weapons to gta_data_service. (#365)

This commit is contained in:
aa15032261
2022-07-29 19:51:19 +08:00
committed by GitHub
parent 205a3f3a4e
commit 28c28fd244
7 changed files with 296 additions and 241 deletions

View File

@ -2,17 +2,13 @@
#include "file_manager/file.hpp"
#include "vehicle_item.hpp"
#include "ped_item.hpp"
#include "weapon_item.hpp"
#include "gta/joaat.hpp"
namespace big
{
class gta_data_service
{
file m_vehicle_file;
file m_vehicle_file_etag;
file m_ped_file;
file m_ped_file_etag;
std::vector<std::string> m_vehicle_class_arr;
std::map<Hash, int> m_vehicle_hash_idx_map;
std::vector<vehicle_item> m_vehicle_item_arr;
@ -23,23 +19,33 @@ namespace big
std::vector<ped_item> m_ped_item_arr;
const ped_item empty_ped_item = ped_item();
std::vector<std::string> m_weapon_type_arr;
std::map<Hash, int> m_weapon_hash_idx_map;
std::vector<weapon_item> m_weapon_item_arr;
const weapon_item empty_weapon_item = weapon_item();
public:
gta_data_service();
~gta_data_service();
const vehicle_item& find_vehicle_by_hash(Hash hash);
std::vector<std::string>& get_vehicle_class_arr();
std::vector<vehicle_item>& get_vehicle_arr();
const std::vector<std::string>& get_vehicle_class_arr();
const std::vector<vehicle_item>& get_vehicle_arr();
const ped_item& find_ped_by_hash(Hash hash);
std::vector<std::string>& get_ped_type_arr();
std::vector<ped_item>& get_ped_arr();
const std::vector<std::string>& get_ped_type_arr();
const std::vector<ped_item>& get_ped_arr();
const weapon_item& find_weapon_by_hash(Hash hash);
const std::vector<std::string>& get_weapon_type_arr();
const std::vector<weapon_item>& get_weapon_arr();
private:
void load_from_file(file file_to_load, file file_etag, std::string url, void(gta_data_service::* load_func)(), std::string data_name);
void load_from_file(std::string file_path, std::string etag_path, std::string url, void(gta_data_service::* load_func)(file), std::string data_name);
void load_vehicles();
void load_ped();
void load_vehicles(file file_to_load);
void load_peds(file file_to_load);
void load_weapons(file file_to_load);
};
inline gta_data_service* g_gta_data_service{};