src/effectvehicle_base.h
author translators
Sat, 13 Dec 2008 18:45:37 +0000
changeset 10420 553508015907
parent 9009 6684576ef32b
permissions -rw-r--r--
(svn r14673) -Update: WebTranslator2 update to 2008-12-13 18:45:31
arabic_egypt - 230 fixed by khaloofah (230)
indonesian - 2 fixed by Gonrong (2)
italian - 1 changed by lorenzodv (1)
portuguese - 12 fixed by SnowFlake (7), rmrebelo (5)
thai - 32 fixed by vetbook (32)
/* $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 */