Files @ r10232:40f71efe145b
Branch filter:

Location: cpp/openttd-patchpack/source/src/effectvehicle_base.h

translators
(svn r14460) -Update: WebTranslator2 update to 2008-10-12 17:43:44
bulgarian - 6 fixed, 1 changed by kokobongo (7)
english_US - 6 fixed by WhiteRabbit (6)
ido - 43 fixed by Cecile (43)
italian - 6 changed by lorenzodv (6)
korean - 41 changed by dlunch (41)
latvian - 54 changed by v3rb0 (54)
persian - 66 fixed by ali sattari (66)
/* $Id$ */

/** @file effectvehicle_base.h Base class for all effect vehicles. */

#ifndef EFFECTVEHICLE_BASE_H
#define EFFECTVEHICLE_BASE_H

#include "vehicle_base.h"

/**
 * This class 'wraps' Vehicle; you do not actually instantiate this class.
 * You create a Vehicle using AllocateVehicle, so it is added to the pool
 * and you reinitialize that to a Train using:
 *   v = new (v) Train();
 *
 * As side-effect the vehicle type is set correctly.
 *
 * A special vehicle is one of the following:
 *  - smoke
 *  - electric sparks for trains
 *  - explosions
 *  - bulldozer (road works)
 *  - bubbles (industry)
 */
struct EffectVehicle : public Vehicle {
	/** Initializes the Vehicle to a special vehicle */
	EffectVehicle() { this->type = VEH_EFFECT; }

	/** We want to 'destruct' the right class. */
	virtual ~EffectVehicle() {}

	const char *GetTypeString() const { return "special vehicle"; }
	void UpdateDeltaXY(Direction direction);
	void Tick();
};

#endif /* EFFECTVEHICLE_BASE_H */