Uper-parent object of all API classes. More...
#include <script_object.hpp>
Data Structures | |
| class | ActiveInstance |
| A class that handles the current active instance. More... | |
Static Public Member Functions | |
| static void | SetLastCommandRes (bool res) |
| Store the latest result of a DoCommand per company. | |
| static class ScriptInstance * | GetActiveInstance () |
| Get the currently active instance. | |
Static Protected Member Functions | |
| static bool | DoCommand (TileIndex tile, uint32 p1, uint32 p2, uint cmd, const char *text=NULL, Script_SuspendCallbackProc *callback=NULL) |
| Executes a raw DoCommand for the AI. | |
| static void | SetDoCommandCosts (Money value) |
| Sets the DoCommand costs counter to a value. | |
| static void | IncreaseDoCommandCosts (Money value) |
| Increase the current value of the DoCommand costs counter. | |
| static Money | GetDoCommandCosts () |
| Get the current DoCommand costs counter. | |
| static void | SetLastError (ScriptErrorType last_error) |
| Set the DoCommand last error. | |
| static ScriptErrorType | GetLastError () |
| Get the DoCommand last error. | |
| static void | SetRoadType (RoadType road_type) |
| Set the road type. | |
| static RoadType | GetRoadType () |
| Get the road type. | |
| static void | SetRailType (RailType rail_type) |
| Set the rail type. | |
| static RailType | GetRailType () |
| Get the rail type. | |
| static void | SetDoCommandMode (ScriptModeProc *proc, ScriptObject *instance) |
| Set the current mode of your AI to this proc. | |
| static ScriptModeProc * | GetDoCommandMode () |
| Get the current mode your AI is currently under. | |
| static ScriptObject * | GetDoCommandModeInstance () |
| Get the instance of the current mode your AI is currently under. | |
| static void | SetDoCommandDelay (uint ticks) |
| Set the delay of the DoCommand. | |
| static uint | GetDoCommandDelay () |
| Get the delay of the DoCommand. | |
| static bool | GetLastCommandRes () |
| Get the latest result of a DoCommand. | |
| static VehicleID | GetNewVehicleID () |
| Get the latest stored new_vehicle_id. | |
| static SignID | GetNewSignID () |
| Get the latest stored new_sign_id. | |
| static GroupID | GetNewGroupID () |
| Get the latest stored new_group_id. | |
| static GoalID | GetNewGoalID () |
| Get the latest stored new_goal_id. | |
| static void | SetAllowDoCommand (bool allow) |
| Store a allow_do_command per company. | |
| static bool | GetAllowDoCommand () |
| Get the internal value of allow_do_command. | |
| static void | SetCompany (CompanyID company) |
| Set the current company to execute commands for or request information about. | |
| static CompanyID | GetCompany () |
| Get the current company we are executing commands for or requesting information about. | |
| static CompanyID | GetRootCompany () |
| Get the root company, the company that the script really runs under / for. | |
| static void | SetLastCost (Money last_cost) |
| Set the cost of the last command. | |
| static Money | GetLastCost () |
| Get the cost of the last command. | |
| static void | SetCallbackVariable (int index, int value) |
| Set a variable that can be used by callback functions to pass information. | |
| static int | GetCallbackVariable (int index) |
| Get the variable that is used by callback functions to pass information. | |
| static bool | CanSuspend () |
| Can we suspend the AI at this moment? | |
| static void *& | GetEventPointer () |
| Get the pointer to store event data in. | |
| static void *& | GetLogPointer () |
| Get the pointer to store log message in. | |
Static Private Member Functions | |
| static void | SetNewVehicleID (VehicleID vehicle_id) |
| Store a new_vehicle_id per company. | |
| static void | SetNewSignID (SignID sign_id) |
| Store a new_sign_id per company. | |
| static void | SetNewGroupID (GroupID group_id) |
| Store a new_group_id per company. | |
| static void | SetNewGoalID (GoalID goal_id) |
| Store a new_goal_id per company. | |
Friends | |
| class | ScriptInstance |
Uper-parent object of all API classes.
You should never use this class in your script, as it doesn't publish any public functions. It is used internally to have a common place to handle general things, like internal command processing, and command-validation checks. none
Definition at line 34 of file script_object.hpp.
| ScriptInstance * ScriptObject::GetActiveInstance | ( | ) | [static] |
Get the currently active instance.
Definition at line 51 of file script_object.cpp.
Referenced by CanSuspend(), DoCommand(), ScriptController::GetOpsTillSuspend(), ScriptController::GetSetting(), GetStorage(), ScriptController::GetTick(), ScriptController::Import(), ScriptExecMode::~ScriptExecMode(), and ScriptTestMode::~ScriptTestMode().
| bool ScriptObject::GetAllowDoCommand | ( | ) | [static, protected] |
Get the internal value of allow_do_command.
This can differ from CanSuspend() if the reason we are not allowed to execute a DoCommand is in squirrel and not the API. In that case use this function to restore the previous value.
Definition at line 200 of file script_object.cpp.
References ScriptStorage::allow_do_command, and GetStorage().
Referenced by ScriptInstance::Save(), and ScriptList::Valuate().
| CompanyID ScriptObject::GetCompany | ( | ) | [static, protected] |
Get the current company we are executing commands for or requesting information about.
Definition at line 213 of file script_object.cpp.
References ScriptStorage::company, and GetStorage().
Referenced by ScriptRoad::_BuildRoadStationInternal(), ScriptVehicle::_MoveWagonInternal(), ScriptVehicle::_SellWagonInternal(), ScriptAirport::BuildAirport(), ScriptBridge::BuildBridge(), ScriptMarine::BuildBuoy(), ScriptMarine::BuildCanal(), ScriptCompany::BuildCompanyHQ(), ScriptMarine::BuildDock(), ScriptIndustryType::BuildIndustry(), ScriptMarine::BuildLock(), ScriptRail::BuildNewGRFRailStation(), ScriptRoad::BuildOneWayRoad(), ScriptRoad::BuildOneWayRoadFull(), ScriptRail::BuildRail(), ScriptRail::BuildRailDepot(), ScriptRail::BuildRailStation(), ScriptRail::BuildRailTrack(), ScriptRail::BuildRailWaypoint(), ScriptRoad::BuildRoadDepot(), ScriptRail::BuildSignal(), ScriptTunnel::BuildTunnel(), ScriptVehicle::BuildVehicle(), ScriptMarine::BuildWaterDepot(), ScriptVehicle::CloneVehicle(), ScriptRail::ConvertRailType(), ScriptTile::DemolishTile(), DoCommand(), ScriptTown::ExpandTown(), ScriptInstance::GameLoop(), ScriptGroup::GetEngineReplacement(), ScriptTown::GetExclusiveRightsCompany(), ScriptAirport::GetHangarOfAirport(), ScriptGroup::GetNumEngines(), ScriptAirport::GetNumHangars(), ScriptTown::HasStatue(), ScriptGroup::HasWagonRemoval(), ScriptTown::IsActionAvailable(), ScriptTile::IsBuildable(), ScriptEngine::IsBuildable(), ScriptRail::IsRailTypeAvailable(), ScriptRoad::IsRoadTypeAvailable(), ScriptBaseStation::IsValidBaseStation(), ScriptEngine::IsValidEngine(), ScriptGroup::IsValidGroup(), ScriptSign::IsValidSign(), ScriptStation::IsValidStation(), ScriptVehicle::IsValidVehicle(), ScriptWaypoint::IsValidWaypoint(), ScriptTile::LevelTiles(), ScriptTile::LowerTile(), ScriptTown::PerformTownAction(), ScriptTile::PlantTree(), ScriptTile::PlantTreeRectangle(), ScriptIndustryType::ProspectIndustry(), ScriptTile::RaiseTile(), ScriptVehicle::RefitVehicle(), ScriptAirport::RemoveAirport(), ScriptBridge::RemoveBridge(), ScriptMarine::RemoveBuoy(), ScriptMarine::RemoveCanal(), ScriptMarine::RemoveDock(), ScriptMarine::RemoveLock(), ScriptRail::RemoveRail(), ScriptRail::RemoveRailStationTileRectangle(), ScriptRail::RemoveRailTrack(), ScriptRail::RemoveRailWaypointTileRectangle(), ScriptRoad::RemoveRoad(), ScriptRoad::RemoveRoadDepot(), ScriptRoad::RemoveRoadFull(), ScriptRoad::RemoveRoadStation(), ScriptRail::RemoveSignal(), ScriptTunnel::RemoveTunnel(), ScriptMarine::RemoveWaterDepot(), ScriptVehicle::ReverseVehicle(), ScriptCompanyMode::ScriptCompanyMode(), ScriptDepotList::ScriptDepotList(), ScriptEngineList::ScriptEngineList(), ScriptStationList::ScriptStationList(), ScriptVehicleList_DefaultGroup::ScriptVehicleList_DefaultGroup(), ScriptVehicleList_Depot::ScriptVehicleList_Depot(), ScriptVehicleList_Group::ScriptVehicleList_Group(), ScriptVehicleList_Station::ScriptVehicleList_Station(), ScriptWaypointList::ScriptWaypointList(), ScriptVehicle::SellVehicle(), ScriptVehicle::SendVehicleToDepot(), ScriptVehicle::SendVehicleToDepotForServicing(), ScriptCompany::SetLoanAmount(), ScriptCompany::SetMinimumLoanAmount(), ScriptVehicle::SetName(), ScriptBaseStation::SetName(), and ScriptVehicle::StartStopVehicle().
| CompanyID ScriptObject::GetRootCompany | ( | ) | [static, protected] |
Get the root company, the company that the script really runs under / for.
Definition at line 218 of file script_object.cpp.
References GetStorage(), and ScriptStorage::root_company.
Referenced by ScriptLog::Log().
| void ScriptObject::SetAllowDoCommand | ( | bool | allow | ) | [static, protected] |
Store a allow_do_command per company.
| allow | The new allow. |
Definition at line 195 of file script_object.cpp.
References ScriptStorage::allow_do_command, and GetStorage().
Referenced by ScriptInstance::GameLoop(), ScriptInstance::Initialize(), ScriptInstance::Save(), and ScriptList::Valuate().
| void ScriptObject::SetCompany | ( | CompanyID | company | ) | [static, protected] |
Set the current company to execute commands for or request information about.
| company | The new company. |
Definition at line 205 of file script_object.cpp.
References _current_company, ScriptStorage::company, GetStorage(), INVALID_OWNER, and ScriptStorage::root_company.
Referenced by ScriptCompanyMode::ScriptCompanyMode(), ScriptController::ScriptController(), and ScriptCompanyMode::~ScriptCompanyMode().
| void ScriptObject::SetLastCommandRes | ( | bool | res | ) | [static] |
Store the latest result of a DoCommand per company.
| res | The result of the last command. |
Definition at line 140 of file script_object.cpp.
References _new_sign_id, GetStorage(), ScriptStorage::last_command_res, SetNewGoalID(), SetNewGroupID(), SetNewSignID(), and SetNewVehicleID().
Referenced by _DoCommandReturnSetOrderFlags(), DoCommand(), and ScriptInstance::DoCommandCallback().
| void ScriptObject::SetNewGoalID | ( | GoalID | goal_id | ) | [static, private] |
Store a new_goal_id per company.
| goal_id | The new GoalID. |
Definition at line 185 of file script_object.cpp.
References GetStorage(), and ScriptStorage::new_goal_id.
Referenced by SetLastCommandRes().
| void ScriptObject::SetNewGroupID | ( | GroupID | group_id | ) | [static, private] |
Store a new_group_id per company.
| group_id | The new GroupID. |
Definition at line 175 of file script_object.cpp.
References GetStorage(), and ScriptStorage::new_group_id.
Referenced by SetLastCommandRes().
| void ScriptObject::SetNewSignID | ( | SignID | sign_id | ) | [static, private] |
Store a new_sign_id per company.
| sign_id | The new SignID. |
Definition at line 165 of file script_object.cpp.
References GetStorage(), and ScriptStorage::new_sign_id.
Referenced by SetLastCommandRes().
| void ScriptObject::SetNewVehicleID | ( | VehicleID | vehicle_id | ) | [static, private] |
Store a new_vehicle_id per company.
| vehicle_id | The new VehicleID. |
Definition at line 155 of file script_object.cpp.
References GetStorage(), and ScriptStorage::new_vehicle_id.
Referenced by SetLastCommandRes().
1.7.1