ai_group.hpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00012 #ifndef AI_GROUP_HPP
00013 #define AI_GROUP_HPP
00014
00015 #include "ai_object.hpp"
00016 #include "ai_vehicle.hpp"
00017
00021 class AIGroup : public AIObject {
00022 public:
00024 static const char *GetClassName() { return "AIGroup"; }
00025
00029 enum GroupID {
00030
00031 GROUP_ALL = 0xFFFD,
00032 GROUP_DEFAULT = 0xFFFE,
00033 GROUP_INVALID = 0xFFFF,
00034 };
00035
00042 static bool IsValidGroup(GroupID group_id);
00043
00051 static GroupID CreateGroup(AIVehicle::VehicleType vehicle_type);
00052
00060 static bool DeleteGroup(GroupID group_id);
00061
00068 static AIVehicle::VehicleType GetVehicleType(GroupID group_id);
00069
00080 static bool SetName(GroupID group_id, const char *name);
00081
00088 static char *GetName(GroupID group_id);
00089
00098 static bool EnableAutoReplaceProtection(GroupID group_id, bool enable);
00099
00106 static bool GetAutoReplaceProtection(GroupID group_id);
00107
00115 static int32 GetNumEngines(GroupID group_id, EngineID engine_id);
00116
00128 static bool MoveVehicle(GroupID group_id, VehicleID vehicle_id);
00129
00138 static bool EnableWagonRemoval(bool keep_length);
00139
00144 static bool HasWagonRemoval();
00145
00157 static bool SetAutoReplace(GroupID group_id, EngineID engine_id_old, EngineID engine_id_new);
00158
00167 static EngineID GetEngineReplacement(GroupID group_id, EngineID engine_id);
00168
00176 static bool StopAutoReplace(GroupID group_id, EngineID engine_id);
00177 };
00178
00179 #endif