Horizon Official Technical Documentation
|
|
#include <GameLogicProcess.hpp>
Classes | |
class | MonsterSpawnAgent |
Protected Types | |
using | PrimaryResource = SharedPriorityResourceMedium< s_segment_storage< std::string, std::shared_ptr< Map > > > |
using | SecondaryResource = SharedPriorityResourceMedium< s_segment_storage< uint64_t, std::shared_ptr< Units::Player > > > |
using | TertiaryResource = SharedPriorityResourceMedium< s_segment_storage< uint64_t, std::shared_ptr< Unit > > > |
using | ResourceManager = SharedPriorityResourceManager< PrimaryResource, SecondaryResource, TertiaryResource > |
Protected Attributes | |
std::atomic< bool > | _is_initialized {false} |
std::atomic< bool > | _is_finalized {false} |
ResourceManager | _resource_manager |
Private Attributes | |
MonsterSpawnAgent | _monster_spawn_agent |
TaskScheduler | _scheduler |
std::thread | _thread |
std::map< std::string, map_data > | _maps |
struct s_game_process_configuration | _config |
|
protected |
|
protected |
|
protected |
|
protected |
GameLogicProcess::GameLogicProcess | ( | struct s_game_process_configuration | config | ) |
|
overridevirtual |
Reimplemented from KernelComponent.
References _is_finalized, _thread, SharedPriorityResourceManager< SharedPriorityResourceMediums >::clear(), Horizon::Zone::GameLogicProcess::MonsterSpawnAgent::clear_monster_spawn_info(), get_monster_spawn_agent(), get_resource_manager(), HLog, RESOURCE_PRIORITY_PRIMARY, RESOURCE_PRIORITY_SECONDARY, and RESOURCE_PRIORITY_TERTIARY.
|
inline |
|
inline |
References _monster_spawn_agent.
Referenced by finalize(), and initialize().
|
inline |
References _resource_manager.
Referenced by Horizon::Zone::GameLogicProcess::MonsterSpawnAgent::despawn_monsters(), finalize(), Horizon::Zone::GameLogicProcess::MonsterSpawnAgent::spawn_monsters(), start_internal(), and update().
|
inline |
References _scheduler.
Referenced by update().
|
overridevirtual |
Static Databases
Reimplemented from KernelComponent.
References _is_initialized, ExpDB, get_monster_spawn_agent(), Horizon::Zone::GameLogicProcess::MonsterSpawnAgent::initialize(), ItemDB, JobDB, load_map_cache(), MonsterDB, KernelComponent::set_segment_number(), SkillDB, start_internal(), static_db_loaded, StatusEffectDB, and StorageDB.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Reimplemented from KernelComponent.
References _is_initialized.
Referenced by Horizon::Zone::ScriptManager::initialize().
bool GameLogicProcess::load_map_cache | ( | ) |
References _maps, Horizon::Libraries::MapCache::getMapCachePath(), Horizon::Libraries::MapCache::getMapListPath(), Horizon::Libraries::MapCache::getMCache(), HLog, Horizon::Libraries::MapCache::ImportFromCacheFile(), MCACHE_CONFIG_OK, MCACHE_IMPORT_CELLINFO_ERROR, MCACHE_IMPORT_DECOMPRESS_ERROR, MCACHE_IMPORT_INVALID_CHECKSUM, MCACHE_IMPORT_MAPINFO_ERROR, MCACHE_IMPORT_NONEXISTENT_FILE, MCACHE_IMPORT_READ_ERROR, Horizon::Libraries::MapCache::ReadMapListConfig(), Horizon::Libraries::MapCache::setMapCachePath(), Horizon::Libraries::MapCache::setMapListPath(), and sZone.
Referenced by initialize().
void Horizon::Zone::GameLogicProcess::on_map_update | ( | int64_t | diff | ) |
void GameLogicProcess::start_internal | ( | ) |
References _maps, _thread, SharedPriorityResourceManager< SharedPriorityResourceMediums >::add(), GridTypeListIterator::count(), get_resource_manager(), KernelComponent::get_segment_number(), get_shutdown_stage(), HLog, MAX_CORE_UPDATE_INTERVAL, RESOURCE_PRIORITY_PRIMARY, SHUTDOWN_NOT_STARTED, sZone, and update().
Referenced by initialize().
void GameLogicProcess::update | ( | uint64_t | diff | ) |
References KernelComponent::calculate_and_set_cpu_load(), get_resource_manager(), KernelComponent::get_system_routine_manager(), KernelComponent::get_thread_cpu_id(), getScheduler(), Horizon::System::SystemRoutineManager::process_queue(), KernelComponent::set_thread_cpu_id(), KernelComponent::set_total_execution_time(), and TaskScheduler::Update().
Referenced by start_internal().
|
private |
Referenced by game_config().
|
protected |
Referenced by finalize(), and is_finalized().
|
protected |
Referenced by initialize(), and is_initialized().
|
private |
Referenced by load_map_cache(), and start_internal().
|
private |
Referenced by get_monster_spawn_agent().
|
protected |
Referenced by get_resource_manager().
|
private |
Referenced by getScheduler().
|
private |
Referenced by finalize(), and start_internal().