author | rubidium |
Sun, 25 May 2008 19:17:03 +0000 | |
changeset 9354 | 845e07db4549 |
parent 9009 | 6684576ef32b |
permissions | -rw-r--r-- |
8144
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
1 |
/* $Id$ */ |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
2 |
|
9009
6684576ef32b
(svn r12804) -Codechange: move the effect vehicle handling out of vehicle.cpp
rubidium
parents:
9008
diff
changeset
|
3 |
/** @file effectvehicle_base.h Base class for all effect vehicles. */ |
8144
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
4 |
|
9009
6684576ef32b
(svn r12804) -Codechange: move the effect vehicle handling out of vehicle.cpp
rubidium
parents:
9008
diff
changeset
|
5 |
#ifndef EFFECTVEHICLE_BASE_H |
6684576ef32b
(svn r12804) -Codechange: move the effect vehicle handling out of vehicle.cpp
rubidium
parents:
9008
diff
changeset
|
6 |
#define EFFECTVEHICLE_BASE_H |
8144
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
7 |
|
9009
6684576ef32b
(svn r12804) -Codechange: move the effect vehicle handling out of vehicle.cpp
rubidium
parents:
9008
diff
changeset
|
8 |
#include "vehicle_base.h" |
8144
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
9 |
|
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
10 |
/** |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
11 |
* This class 'wraps' Vehicle; you do not actually instantiate this class. |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
12 |
* You create a Vehicle using AllocateVehicle, so it is added to the pool |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
13 |
* and you reinitialize that to a Train using: |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
14 |
* v = new (v) Train(); |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
15 |
* |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
16 |
* As side-effect the vehicle type is set correctly. |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
17 |
* |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
18 |
* A special vehicle is one of the following: |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
19 |
* - smoke |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
20 |
* - electric sparks for trains |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
21 |
* - explosions |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
22 |
* - bulldozer (road works) |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
23 |
* - bubbles (industry) |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
24 |
*/ |
9008
de19c73e405f
(svn r12803) -Cleanup: rename SpecialVehicle to EffectVehicle to have a uniform naming of the thing instead of using both names for the same thing.
rubidium
parents:
8938
diff
changeset
|
25 |
struct EffectVehicle : public Vehicle { |
8144
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
26 |
/** Initializes the Vehicle to a special vehicle */ |
9008
de19c73e405f
(svn r12803) -Cleanup: rename SpecialVehicle to EffectVehicle to have a uniform naming of the thing instead of using both names for the same thing.
rubidium
parents:
8938
diff
changeset
|
27 |
EffectVehicle() { this->type = VEH_EFFECT; } |
8144
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
28 |
|
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
29 |
/** We want to 'destruct' the right class. */ |
9008
de19c73e405f
(svn r12803) -Cleanup: rename SpecialVehicle to EffectVehicle to have a uniform naming of the thing instead of using both names for the same thing.
rubidium
parents:
8938
diff
changeset
|
30 |
virtual ~EffectVehicle() {} |
8144
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
31 |
|
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
32 |
const char *GetTypeString() const { return "special vehicle"; } |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
33 |
void UpdateDeltaXY(Direction direction); |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
34 |
void Tick(); |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
35 |
}; |
65cec0877b78
(svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes.
rubidium
parents:
diff
changeset
|
36 |
|
9009
6684576ef32b
(svn r12804) -Codechange: move the effect vehicle handling out of vehicle.cpp
rubidium
parents:
9008
diff
changeset
|
37 |
#endif /* EFFECTVEHICLE_BASE_H */ |