OpenTTD AI API: AIEventEnginePreview Class Reference

OpenTTD AI API 14.0-beta2

Public Member Functions | Static Public Member Functions
AIEventEnginePreview Class Reference

Event Engine Preview, indicating a manufacturer offer you to test a new engine. More...

Inheritance diagram for AIEventEnginePreview:

## Public Member Functions
std::optional< std::string > | GetName ()
| Get the name of the offered engine. More...
CargoID | GetCargoType ()
| Get the cargo-type of the offered engine. More...
int32_t | GetCapacity ()
| Get the capacity of the offered engine. More...
int32_t | GetMaxSpeed ()
| Get the maximum speed of the offered engine. More...
Money | GetPrice ()
| Get the new cost of the offered engine. More...
Money | GetRunningCost ()
| Get the running cost of the offered engine. More...
AIVehicle::VehicleType | GetVehicleType ()
| Get the type of the offered engine. More...
bool | AcceptPreview ()
| Accept the engine preview. More...
Public Member Functions inherited from AIEvent
| AIEvent (AIEvent::AIEventType type)
| Constructor of AIEvent, to get the type of event. More...
AIEventType | GetEventType ()
| Get the event-type. More...

## Static Public Member Functions
static AIEventEnginePreview * | Convert (AIEvent *instance)
| Convert an AIEvent to the real instance. More...

## Additional Inherited Members
Public Types inherited from AIEvent
enum | AIEventType { ET_INVALID, ET_TEST, ET_SUBSIDY_OFFER, ET_SUBSIDY_OFFER_EXPIRED, ET_SUBSIDY_AWARDED, ET_SUBSIDY_EXPIRED, ET_ENGINE_PREVIEW, ET_COMPANY_NEW, ET_COMPANY_IN_TROUBLE, ET_COMPANY_ASK_MERGER, ET_COMPANY_MERGER, ET_COMPANY_BANKRUPT, ET_VEHICLE_CRASHED, ET_VEHICLE_LOST, ET_VEHICLE_WAITING_IN_DEPOT, ET_VEHICLE_UNPROFITABLE, ET_INDUSTRY_OPEN, ET_INDUSTRY_CLOSE, ET_ENGINE_AVAILABLE, ET_STATION_FIRST_VEHICLE, ET_DISASTER_ZEPPELINER_CRASHED, ET_DISASTER_ZEPPELINER_CLEARED, ET_TOWN_FOUNDED, ET_AIRCRAFT_DEST_TOO_FAR, ET_ADMIN_PORT, ET_WINDOW_WIDGET_CLICK, ET_GOAL_QUESTION_ANSWER, ET_EXCLUSIVE_TRANSPORT_RIGHTS, ET_ROAD_RECONSTRUCTION, ET_VEHICLE_AUTOREPLACED, ET_STORYPAGE_BUTTON_CLICK, ET_STORYPAGE_TILE_SELECT, ET_STORYPAGE_VEHICLE_SELECT }
| The type of event. More...

## Detailed Description

Event Engine Preview, indicating a manufacturer offer you to test a new engine.

You can get the same information about the offered engine as a real user would see in the offer window. And you can also accept the offer.

## Member Function Documentation

## ◆ AcceptPreview()

bool AIEventEnginePreview::AcceptPreview | ( |  | ) |

Accept the engine preview.

Returns
  True when the accepting succeeded.

## ◆ Convert()

static AIEventEnginePreview* AIEventEnginePreview::Convert | ( | AIEvent * | instance | ) |
| inlinestatic

Convert an AIEvent to the real instance.

Parameters

  instance | The instance to convert.

Returns
  The converted instance.

## ◆ GetCapacity()

int32_t AIEventEnginePreview::GetCapacity | ( |  | ) |

Get the capacity of the offered engine.

In case it can transport multiple cargoes, it returns the first/main.

Returns
  The capacity of the engine.

## ◆ GetCargoType()

CargoID AIEventEnginePreview::GetCargoType | ( |  | ) |

Get the cargo-type of the offered engine.

In case it can transport multiple cargoes, it returns the first/main.

Returns
  The cargo-type of the engine.

## ◆ GetMaxSpeed()

int32_t AIEventEnginePreview::GetMaxSpeed | ( |  | ) |

Get the maximum speed of the offered engine.

Returns
  The maximum speed the engine has.

Note
  The speed is in OpenTTD's internal speed unit. This is mph / 1.6, which is roughly km/h. To get km/h multiply this number by 1.00584.

## ◆ GetName()

std::optional<std::string> AIEventEnginePreview::GetName | ( |  | ) |

Get the name of the offered engine.

Returns
  The name the engine has.

## ◆ GetPrice()

Money AIEventEnginePreview::GetPrice | ( |  | ) |

Get the new cost of the offered engine.

Returns
  The new cost the engine has.

## ◆ GetRunningCost()

Money AIEventEnginePreview::GetRunningCost | ( |  | ) |

Get the running cost of the offered engine.

Returns
  The running cost of the vehicle per year.

Note
  Cost is per year; divide by 365 to get per day.

## ◆ GetVehicleType()

AIVehicle::VehicleType AIEventEnginePreview::GetVehicleType | ( |  | ) |

Get the type of the offered engine.

Returns
  The type the engine has.