Mod service: BuildingService

Available commands:
void           		 EnableBuilding( Exor::Entity ent ) void           		 DisableBuilding( 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 ) void           		 PauseGuiTimer( Exor::Entity ent ) void           		 ResumeGuiTimer( Exor::Entity ent ) void           		 RemoveGuiTimer( Exor::Entity ent ) bool           		 TryDecreaseResourceByEntity( Exor::Entity entity, Exor::String resource, float amount ) float          		 CalculateBuildTime bool           		 IsBuildingSpaceOccupied( Exor::Entity building ) void           		 EnablePhysics( Exor::Entity building ) float          		 GetEnergyAmount( Exor::Entity building ) 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 ) 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 ) GetFinishedBuildingByName( const char * name ) Exor::EntityIds 		 GetFinishedBuildingByBp( const char * bp) Exor::EntityIds 		 GetFinishedBuildingByType( const char * type ) 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           		 CreateRadarComponent( Exor::Entity ent, float radius ) bool           		 CanAffordRepair( Exor::Entity ent, float amount ) void           		 RepairBuilding( Exor::Entity ent, float amount ) std::pair FindEmptySpotInRadius( Exor::Entity::Id ent, float radius, const Exor::String &typeCheck ) void   			 DisableSellOption( entity ) Entity 			 CreateGuiTimer( entity, timer ) void   			 SetGuiTimer( timerEntity, time ) bool   			 IsResourceConnected( entity, localResourceName ) void                            IncreaseBuildingLimits( Exor::String name, unsigned int limit ) void                            DecreaseBuildingLimits( Exor::String name, unsigned int limit ) std::pair  FindNearestBuilding( Exor::Entity::Id ent ) EnableSellOption( Exor::Entity ent ) SetGuiTimerLimit( Exor::Entity ent, float limit ) GetResourceVeins( Entity building, String resourceName )