30#ifndef HORIZON_ZONE_GAME_GAMELOGICPROCESS_HPP
31#define HORIZON_ZONE_GAME_GAMELOGICPROCESS_HPP
55 void initialize(std::shared_ptr<GameLogicProcess> game_logic_process)
68 void spawn_monster_internal(std::shared_ptr<Map> map,
int spawn_dataset_id,
int monster_id, int16_t amount, int16_t x, int16_t y, int16_t x_area, int16_t y_area);
84 void initialize(
int segment_number = 1)
override;
86 void update(uint64_t diff);
119 std::map<std::string, map_data>
_maps;
Definition: GameLogicProcess.hpp:51
LockedLookupTable< uint32_t, std::shared_ptr< monster_spawn_data > > _monster_spawn_db
Definition: GameLogicProcess.hpp:78
std::shared_ptr< GameLogicProcess > get_container()
Definition: GameLogicProcess.hpp:62
int32_t _last_monster_spawn_id
Definition: GameLogicProcess.hpp:75
void register_monster_spawn_info(uint32_t id, std::shared_ptr< monster_spawn_data > data)
Definition: GameLogicProcess.hpp:71
void initialize(std::shared_ptr< GameLogicProcess > game_logic_process)
Definition: GameLogicProcess.hpp:55
std::weak_ptr< GameLogicProcess > _game_logic_process
Definition: GameLogicProcess.hpp:77
void despawn_monsters(std::string map_name)
Definition: GameLogicProcess.cpp:328
~MonsterSpawnAgent()
Definition: GameLogicProcess.cpp:220
std::shared_ptr< monster_spawn_data > get_monster_spawn_info(uint32_t id)
Definition: GameLogicProcess.hpp:72
void reschedule_single_monster_spawn(std::shared_ptr< Horizon::Zone::Units::Monster > monster)
Definition: GameLogicProcess.cpp:225
void spawn_monsters(std::string map_name)
Definition: GameLogicProcess.cpp:264
void spawn_monster_internal(std::shared_ptr< Map > map, int spawn_dataset_id, int monster_id, int16_t amount, int16_t x, int16_t y, int16_t x_area, int16_t y_area)
Definition: GameLogicProcess.cpp:352
void clear_monster_spawn_info()
Definition: GameLogicProcess.hpp:73
Definition: GameLogicProcess.hpp:48
GameLogicProcess(struct s_game_process_configuration config)
Definition: GameLogicProcess.cpp:57
std::atomic< bool > _is_initialized
Definition: GameLogicProcess.hpp:104
void start_internal()
Definition: GameLogicProcess.cpp:159
TaskScheduler _scheduler
Definition: GameLogicProcess.hpp:117
bool is_initialized() override
Definition: GameLogicProcess.hpp:88
std::map< std::string, map_data > _maps
Definition: GameLogicProcess.hpp:119
bool load_map_cache()
Definition: GameLogicProcess.cpp:117
MonsterSpawnAgent _monster_spawn_agent
Definition: GameLogicProcess.hpp:116
std::atomic< bool > _is_finalized
Definition: GameLogicProcess.hpp:105
MonsterSpawnAgent & get_monster_spawn_agent()
Definition: GameLogicProcess.hpp:99
void on_map_update(int64_t diff)
ResourceManager _resource_manager
Definition: GameLogicProcess.hpp:111
struct s_game_process_configuration & game_config()
Definition: GameLogicProcess.hpp:101
struct s_game_process_configuration _config
Definition: GameLogicProcess.hpp:120
void finalize() override
Definition: GameLogicProcess.cpp:98
TaskScheduler & getScheduler()
Definition: GameLogicProcess.hpp:95
void update(uint64_t diff)
Definition: GameLogicProcess.cpp:194
void initialize(int segment_number=1) override
Definition: GameLogicProcess.cpp:68
std::thread _thread
Definition: GameLogicProcess.hpp:118
ResourceManager & get_resource_manager()
Definition: GameLogicProcess.hpp:113
bool is_finalized() override
Definition: GameLogicProcess.hpp:89
The class Map is the representation of a map in the game. It contains all the cells and the grid hold...
Definition: Map.hpp:62
Definition: Monster.hpp:47
Definition: Server.hpp:192
Definition: LockedLookupTable.hpp:44
void clear()
Definition: LockedLookupTable.hpp:112
void insert(const Key &key, const Value &value)
Definition: LockedLookupTable.hpp:68
Value at(Key const &key, Value const &default_value=Value()) const
Definition: LockedLookupTable.hpp:63
Definition: Server.hpp:113
The TaskScheduler class provides the ability to schedule std::function's in the near future....
Definition: TaskScheduler.hpp:58
Definition: Element.hpp:7
Definition: Server.hpp:93