AIMarine Class Reference

Class that handles all marine related functions. More...


Public Types

enum  ErrorMessages {
  ERR_MARINE_BASE,
  ERR_MARINE_MUST_BE_BUILT_ON_WATER
}
 All marine related error messages. More...
enum  BuildType {
  BT_DOCK,
  BT_DEPOT,
  BT_BUOY
}
 Types of water-related objects in the game. More...

Static Public Member Functions

static bool IsWaterDepotTile (TileIndex tile)
 Checks whether the given tile is actually a tile with a water depot.
static bool IsDockTile (TileIndex tile)
 Checks whether the given tile is actually a tile with a dock.
static bool IsBuoyTile (TileIndex tile)
 Checks whether the given tile is actually a tile with a buoy.
static bool IsLockTile (TileIndex tile)
 Checks whether the given tile is actually a tile with a lock.
static bool IsCanalTile (TileIndex tile)
 Checks whether the given tile is actually a tile with a canal.
static bool AreWaterTilesConnected (TileIndex tile_from, TileIndex tile_to)
 Checks whether the given tiles are directly connected, i.e.
static bool BuildWaterDepot (TileIndex tile, TileIndex front)
 Builds a water depot on tile.
static bool BuildDock (TileIndex tile, StationID station_id)
 Builds a dock where tile is the tile still on land.
static bool BuildBuoy (TileIndex tile)
 Builds a buoy on tile.
static bool BuildLock (TileIndex tile)
 Builds a lock on tile.
static bool BuildCanal (TileIndex tile)
 Builds a canal on tile.
static bool RemoveWaterDepot (TileIndex tile)
 Removes a water depot.
static bool RemoveDock (TileIndex tile)
 Removes a dock.
static bool RemoveBuoy (TileIndex tile)
 Removes a buoy.
static bool RemoveLock (TileIndex tile)
 Removes a lock.
static bool RemoveCanal (TileIndex tile)
 Removes a canal.
static Money GetBuildCost (BuildType build_type)
 Get the baseprice of building a water-related object.


Detailed Description

Class that handles all marine related functions.

Member Enumeration Documentation

All marine related error messages.

Enumerator:
ERR_MARINE_BASE  Base for marine related errors.
ERR_MARINE_MUST_BE_BUILT_ON_WATER  Infrastructure must be built on water.

Types of water-related objects in the game.

Enumerator:
BT_DOCK  Build a dock.
BT_DEPOT  Build a ship depot.
BT_BUOY  Build a buoy.


Member Function Documentation

static bool AIMarine::IsWaterDepotTile ( TileIndex  tile  )  [static]

Checks whether the given tile is actually a tile with a water depot.

Parameters:
tile The tile to check.
Precondition:
AIMap::IsValidTile(tile).
Returns:
True if and only if the tile has a water depot.

static bool AIMarine::IsDockTile ( TileIndex  tile  )  [static]

Checks whether the given tile is actually a tile with a dock.

Parameters:
tile The tile to check.
Precondition:
AIMap::IsValidTile(tile).
Returns:
True if and only if the tile has a dock.

static bool AIMarine::IsBuoyTile ( TileIndex  tile  )  [static]

Checks whether the given tile is actually a tile with a buoy.

Parameters:
tile The tile to check.
Precondition:
AIMap::IsValidTile(tile).
Returns:
True if and only if the tile has a buoy.

static bool AIMarine::IsLockTile ( TileIndex  tile  )  [static]

Checks whether the given tile is actually a tile with a lock.

Parameters:
tile The tile to check.
Precondition:
AIMap::IsValidTile(tile).
Returns:
True if and only if the tile has a lock.

static bool AIMarine::IsCanalTile ( TileIndex  tile  )  [static]

Checks whether the given tile is actually a tile with a canal.

Parameters:
tile The tile to check.
Precondition:
AIMap::IsValidTile(tile).
Returns:
True if and only if the tile has a canal.

static bool AIMarine::AreWaterTilesConnected ( TileIndex  tile_from,
TileIndex  tile_to 
) [static]

Checks whether the given tiles are directly connected, i.e.

whether a ship vehicle can travel from the center of the first tile to the center of the second tile.

Parameters:
tile_from The source tile.
tile_to The destination tile.
Precondition:
AIMap::IsValidTile(tile_from).

AIMap::IsValidTile(tile_to).

'tile_from' and 'tile_to' are directly neighbouring tiles.

Returns:
True if and only if a ship can go from tile_from to tile_to.

static bool AIMarine::BuildWaterDepot ( TileIndex  tile,
TileIndex  front 
) [static]

Builds a water depot on tile.

Parameters:
tile The tile where the water depot will be build.
front A tile on the same axis with 'tile' as the depot shall be oriented.
Precondition:
AIMap::IsValidTile(tile).

AIMap::IsValidTile(front).

Exceptions:
AIError::ERR_AREA_NOT_CLEAR 
AIError::ERR_SITE_UNSUITABLE 
AIMarine::ERR_MARINE_MUST_BE_BUILT_ON_WATER 
Returns:
Whether the water depot has been/can be build or not.
Note:
A WaterDepot is 1 tile in width, and 2 tiles in length.

The depot will be built towards the south from 'tile', not necessarily towards 'front'.

static bool AIMarine::BuildDock ( TileIndex  tile,
StationID  station_id 
) [static]

Builds a dock where tile is the tile still on land.

Parameters:
tile The tile still on land of the dock.
station_id The station to join, AIStation::STATION_NEW or AIStation::STATION_JOIN_ADJACENT.
Precondition:
AIMap::IsValidTile(tile).

station_id == AIStation::STATION_NEW || station_id == AIStation::STATION_JOIN_ADJACENT || AIStation::IsValidStation(station_id).

Exceptions:
AIError::ERR_AREA_NOT_CLEAR 
AIError::ERR_SITE_UNSUITABLE 
AIStation::ERR_STATION_TOO_CLOSE_TO_ANOTHER_STATION 
AIStation::ERR_STATION_TOO_MANY_STATIONS 
Returns:
Whether the dock has been/can be build or not.

static bool AIMarine::BuildBuoy ( TileIndex  tile  )  [static]

Builds a buoy on tile.

Parameters:
tile The tile where the buoy will be build.
Precondition:
AIMap::IsValidTile(tile).
Exceptions:
AIError::ERR_AREA_NOT_CLEAR 
AIError::ERR_SITE_UNSUITABLE 
AIStation::ERR_STATION_TOO_MANY_STATIONS 
Returns:
Whether the buoy has been/can be build or not.

static bool AIMarine::BuildLock ( TileIndex  tile  )  [static]

Builds a lock on tile.

Parameters:
tile The tile where the lock will be build.
Precondition:
AIMap::IsValidTile(tile).
Exceptions:
AIError::ERR_LAND_SLOPED_WRONG 
AIError::ERR_SITE_UNSUITABLE 
Returns:
Whether the lock has been/can be build or not.

static bool AIMarine::BuildCanal ( TileIndex  tile  )  [static]

Builds a canal on tile.

Parameters:
tile The tile where the canal will be build.
Precondition:
AIMap::IsValidTile(tile).
Exceptions:
AIError::ERR_AREA_NOT_CLEAR 
AIError::ERR_LAND_SLOPED_WRONG 
AIError::ERR_OWNED_BY_ANOTHER_COMPANY 
AIError::ERR_ALREADY_BUILT 
Returns:
Whether the canal has been/can be build or not.

static bool AIMarine::RemoveWaterDepot ( TileIndex  tile  )  [static]

Removes a water depot.

Parameters:
tile Any tile of the water depot.
Precondition:
AIMap::IsValidTile(tile).
Exceptions:
AIError::ERR_OWNED_BY_ANOTHER_COMPANY 
Returns:
Whether the water depot has been/can be removed or not.

static bool AIMarine::RemoveDock ( TileIndex  tile  )  [static]

Removes a dock.

Parameters:
tile Any tile of the dock.
Precondition:
AIMap::IsValidTile(tile).
Exceptions:
AIError::ERR_OWNED_BY_ANOTHER_COMPANY 
Returns:
Whether the dock has been/can be removed or not.

static bool AIMarine::RemoveBuoy ( TileIndex  tile  )  [static]

Removes a buoy.

Parameters:
tile Any tile of the buoy.
Precondition:
AIMap::IsValidTile(tile).
Exceptions:
AIError::ERR_OWNED_BY_ANOTHER_COMPANY 
Returns:
Whether the buoy has been/can be removed or not.

static bool AIMarine::RemoveLock ( TileIndex  tile  )  [static]

Removes a lock.

Parameters:
tile Any tile of the lock.
Precondition:
AIMap::IsValidTile(tile).
Exceptions:
AIError::ERR_OWNED_BY_ANOTHER_COMPANY 
Returns:
Whether the lock has been/can be removed or not.

static bool AIMarine::RemoveCanal ( TileIndex  tile  )  [static]

Removes a canal.

Parameters:
tile Any tile of the canal.
Precondition:
AIMap::IsValidTile(tile).
Exceptions:
AIError::ERR_OWNED_BY_ANOTHER_COMPANY 
Returns:
Whether the canal has been/can be removed or not.

static Money AIMarine::GetBuildCost ( BuildType  build_type  )  [static]

Get the baseprice of building a water-related object.

Parameters:
build_type the type of object to build
Returns:
The baseprice of building the given object.


Generated on Thu May 31 21:43:02 2012 for OpenTTD NoAI API by  doxygen 1.5.6