# AIEventEnginePreview Class Reference

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

`#include <ai_event_types.hpp>`

Inheritance diagram for AIEventEnginePreview:

## Public Member Functions
| AIEventEnginePreview (EngineID engine)
char * | GetName ()
| Get the name of the offered engine.
CargoID | GetCargoType ()
| Get the cargo-type of the offered engine.
int32 | GetCapacity ()
| Get the capacity of the offered engine.
int32 | GetMaxSpeed ()
| Get the maximum speed of the offered engine.
Money | GetPrice ()
| Get the new cost of the offered engine.
Money | GetRunningCost ()
| Get the running cost of the offered engine.
AIVehicle::VehicleType | GetVehicleType ()
| Get the type of the offered engine.
bool | AcceptPreview ()
| Accept the engine preview.
## Static Public Member Functions
static const char * | GetClassName ()
static AIEventEnginePreview * | Convert (AIEvent *instance)
| Convert an AIEvent to the real instance.
## Private Attributes
EngineID | engine

## 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.

Definition at line 210 of file ai_event_types.hpp.

## Constructor & Destructor Documentation

AIEventEnginePreview::AIEventEnginePreview | ( | EngineID | engine | ) | `[inline]`

Parameters:

  | engine | The engine offered to test.

Definition at line 217 of file ai_event_types.hpp.

## Member Function Documentation

static AIEventEnginePreview* AIEventEnginePreview::Convert | ( | AIEvent * | instance | ) | `[inline, static]`

Convert an AIEvent to the real instance.

Parameters:

  | instance | The instance to convert.

Returns:
  The converted instance.

Definition at line 227 of file ai_event_types.hpp.

char * AIEventEnginePreview::GetName | ( |  | ) |

Get the name of the offered engine.

Returns:
  The name the engine has.

Definition at line 12 of file ai_event_types.cpp.

CargoID AIEventEnginePreview::GetCargoType | ( |  | ) |

Get the cargo-type of the offered engine.

In case it can transport 2 cargos, it returns the first.

Returns:
  The cargo-type of the engine.

Definition at line 22 of file ai_event_types.cpp.

int32 AIEventEnginePreview::GetCapacity | ( |  | ) |

Get the capacity of the offered engine.

In case it can transport 2 cargos, it returns the first.

Returns:
  The capacity of the engine.

Definition at line 29 of file ai_event_types.cpp.

References AircraftDefaultCargoCapacity().

int32 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.

Definition at line 55 of file ai_event_types.cpp.

References _settings_game, VehicleSettings::plane_speed, and GameSettings::vehicle.

Money AIEventEnginePreview::GetPrice | ( |  | ) |

Get the new cost of the offered engine.

Returns:
  The new cost the engine has.

Definition at line 63 of file ai_event_types.cpp.

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.

Definition at line 68 of file ai_event_types.cpp.

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

Get the type of the offered engine.

Returns:
  The type the engine has.

Definition at line 73 of file ai_event_types.cpp.

References AIEvent::type, AIVehicle::VT_AIR, AIVehicle::VT_RAIL, AIVehicle::VT_ROAD, and AIVehicle::VT_WATER.

bool AIEventEnginePreview::AcceptPreview | ( |  | ) |

Accept the engine preview.

Returns:
  True when the accepting succeeded.

Definition at line 84 of file ai_event_types.cpp.

References CMD_WANT_ENGINE_PREVIEW, and AIObject::DoCommand().

The documentation for this class was generated from the following files:

- src/ai/api/ai_event_types.hpp
- src/ai/api/ai_event_types.cpp