Available commands:
void EnableBuilding( Exor::Entity ent );
void DisableBuilding( Exor::Entity ent );
void DisableSellOption( Exor::Entity ent );
void EnableSellOption( Exor::Entity ent );
bool IsOnResource( Exor::Entity ent , const Exor::String & resource );
Exor::Entity AttachMissingResourceIcon( Exor::Entity ent , const Exor::String & resource, bool withoutMinimap );
Exor::Entity AttachGuiTimer( Exor::Entity ent, float time, bool removeAfter );
Exor::Entity CreateGuiTimer( Exor::Entity ent, float time);
void SetGuiTimer( Exor::Entity ent, float time );
void SetGuiTimerLimit( Exor::Entity ent, float limit );
void PauseGuiTimer( Exor::Entity ent );
void ResumeGuiTimer( Exor::Entity ent );
void RemoveGuiTimer( Exor::Entity ent );
int GetBuildingLevel( Exor::Entity ent );
void EnableDiscoverableSystem( bool value );
bool TryDecreaseResourceByEntity( Exor::Entity entity, Exor::String resource , float amount );
float CalculateBuildTime( Exor::Entity entity );
bool IsSpaceOccupied( const Exor::Vector3 & pos, Exor::String physicsCheck, Exor::String excludedTerrainType );
bool IsBuildingSpaceOccupied( Exor::Entity building );
void EnablePhysics( Exor::Entity building );
float GetEnergyAmount( Exor::Entity building );
bool IsResourceConnected( Exor::Entity entity, Exor::String resource );
float GetResourceConnected( Exor::Entity entity, Exor::String resource );
void DecreaseEnergyAmount( Exor::Entity building, float amount );
void AddConverterEfficientyModifier( Exor::Entity building, float value, Exor::StringHash name );
void RemoveConverterEfficientyModifier( Exor::Entity building, Exor::StringHash name );
void AddConverterCostModifier( Exor::Entity building, float value, Exor::String name );
void RemoveConverterCostModifier( Exor::Entity building, Exor::String name );
void ClearResourceGraphs( Exor::Entity building );
float GetGeothermalPowerModificator();
float GetWindPowerModificator();
float GetSolarPowerModificator();
void SetResourceConverterEfficientyModificator( Exor::Entity building, float value, Exor::String name );
void RemoveResourceConverterEfficientyModificator( Exor::Entity building, Exor::String name );
BuildingMode GetBuildingMode( Exor::Entity::Id building );
bool IsBuildingPowered( Exor::Entity::Id building );
bool IsResourceSupplied( Exor::Entity::Id building );
bool IsWorking( Exor::Entity::Id building );
Exor::EntityIds GetFinishedBuildingByName( Exor::Entity target, const char * name, float radius );
Exor::EntityIds GetFinishedBuildingByBp( Exor::Entity target, const char * bp, float radius );
Exor::EntityIds GetFinishedBuildingByType( Exor::Entity target, const char * type, float radius );
Exor::EntityIds GetFinishedBuildingByName( const char * name );
Exor::EntityIds GetFinishedBuildingByBp( const char * bp );
Exor::EntityIds GetFinishedBuildingByType( const char * type );
Exor::EntityIds GetResourceVeins( Exor::Entity::Id building, const char * resourceName );
Exor::StringVector GetMissingResources( Exor::Entity::Id building ) const;
bool HasBuildingWithBp( Exor::String bp );
unsigned int GetBuildingByBpCount( Exor::String bp );
bool HasBuildingWithName( Exor::String name );
unsigned int GetBuildingByNameCount( Exor::String name );
unsigned int GetBuildingByTypeCount( Exor::String type );
Exor::String GetPipeResourceClaimed( Exor::Entity ent );
Exor::String GetBuildingName( Exor::Entity end );
bool IsBuildingFinished( Exor::Entity ent );
void IncreaseBuildingLimits( Exor::String name, unsigned int limit );
void DecreaseBuildingLimits( Exor::String name, unsigned int limit );
void CreateRadarComponent( Exor::Entity ent, float radius );
Exor::String CreateFloraCultivatorComponent( Exor::Entity ent, Exor::String prefab );
bool CanAffordRepair( Exor::Entity ent, float amount );
void RepairBuilding( Exor::Entity ent, float amount );
Exor::Entities SpawnCultivatorSaplingsAt( Exor::Entity ent, Exor::Vector3 position );
Exor::Entity GetMeshEntity( Exor::Entity ent )
bool IsFloor( Exor::Entity ent )
Exor::String GetBuildingType( Exor::Entity ent );
bool IsBuildingAvailable( Exor::String blueprint)
void SetBuildingLastLevel( baseName, lvlName)
void FindBaseBuilding( const Exor::String & blueprint )
Exor::Vector3 GetBuildingGridSize( Exor::Entity::Id entity )
void UnlockBuilding( Exor::StringView blueprint );