spring_ai_rs/ai_interface/callback/command/
command_topic.rs

1use spring_ai_sys::{
2    CommandTopic as CommandTopic_Sys, CommandTopic_COMMAND_CALL_LUA_RULES,
3    CommandTopic_COMMAND_CALL_LUA_UI, CommandTopic_COMMAND_CHEATS_GIVE_ME_NEW_UNIT,
4    CommandTopic_COMMAND_CHEATS_GIVE_ME_RESOURCE,
5    CommandTopic_COMMAND_CHEATS_SET_MY_INCOME_MULTIPLIER,
6    CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_ADD_POINT,
7    CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_DELETE_POINTS,
8    CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_SET_COLOR,
9    CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_SET_LABEL,
10    CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_SET_POS,
11    CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_SET_SIZE,
12    CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_ADD,
13    CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_DELETE,
14    CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_SET_LABEL,
15    CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_SET_POS,
16    CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_SET_SIZE,
17    CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_UPDATE,
18    CommandTopic_COMMAND_DRAWER_ADD_NOTIFICATION, CommandTopic_COMMAND_DRAWER_DRAW_UNIT,
19    CommandTopic_COMMAND_DRAWER_FIGURE_CREATE_LINE,
20    CommandTopic_COMMAND_DRAWER_FIGURE_CREATE_SPLINE, CommandTopic_COMMAND_DRAWER_FIGURE_DELETE,
21    CommandTopic_COMMAND_DRAWER_FIGURE_SET_COLOR, CommandTopic_COMMAND_DRAWER_LINE_ADD,
22    CommandTopic_COMMAND_DRAWER_PATH_BREAK, CommandTopic_COMMAND_DRAWER_PATH_DRAW_ICON_AT_LAST_POS,
23    CommandTopic_COMMAND_DRAWER_PATH_DRAW_LINE,
24    CommandTopic_COMMAND_DRAWER_PATH_DRAW_LINE_AND_ICON, CommandTopic_COMMAND_DRAWER_PATH_FINISH,
25    CommandTopic_COMMAND_DRAWER_PATH_RESTART, CommandTopic_COMMAND_DRAWER_PATH_START,
26    CommandTopic_COMMAND_DRAWER_POINT_ADD, CommandTopic_COMMAND_DRAWER_POINT_REMOVE,
27    CommandTopic_COMMAND_GROUP_ADD_UNIT, CommandTopic_COMMAND_GROUP_CREATE,
28    CommandTopic_COMMAND_GROUP_ERASE, CommandTopic_COMMAND_GROUP_REMOVE_UNIT,
29    CommandTopic_COMMAND_NULL, CommandTopic_COMMAND_PATH_FREE,
30    CommandTopic_COMMAND_PATH_GET_APPROXIMATE_LENGTH, CommandTopic_COMMAND_PATH_GET_NEXT_WAYPOINT,
31    CommandTopic_COMMAND_PATH_INIT, CommandTopic_COMMAND_PAUSE,
32    CommandTopic_COMMAND_SEND_RESOURCES, CommandTopic_COMMAND_SEND_START_POS,
33    CommandTopic_COMMAND_SEND_TEXT_MESSAGE, CommandTopic_COMMAND_SEND_UNITS,
34    CommandTopic_COMMAND_SET_LAST_POS_MESSAGE, CommandTopic_COMMAND_TRACE_RAY,
35    CommandTopic_COMMAND_TRACE_RAY_FEATURE, CommandTopic_COMMAND_UNIT_AI_SELECT,
36    CommandTopic_COMMAND_UNIT_ATTACK, CommandTopic_COMMAND_UNIT_ATTACK_AREA,
37    CommandTopic_COMMAND_UNIT_BUILD, CommandTopic_COMMAND_UNIT_CAPTURE,
38    CommandTopic_COMMAND_UNIT_CAPTURE_AREA, CommandTopic_COMMAND_UNIT_CLOAK,
39    CommandTopic_COMMAND_UNIT_CUSTOM, CommandTopic_COMMAND_UNIT_D_GUN,
40    CommandTopic_COMMAND_UNIT_D_GUN_POS, CommandTopic_COMMAND_UNIT_FIGHT,
41    CommandTopic_COMMAND_UNIT_GROUP_ADD, CommandTopic_COMMAND_UNIT_GROUP_CLEAR,
42    CommandTopic_COMMAND_UNIT_GUARD, CommandTopic_COMMAND_UNIT_LOAD_ONTO,
43    CommandTopic_COMMAND_UNIT_LOAD_UNITS, CommandTopic_COMMAND_UNIT_LOAD_UNITS_AREA,
44    CommandTopic_COMMAND_UNIT_MOVE, CommandTopic_COMMAND_UNIT_PATROL,
45    CommandTopic_COMMAND_UNIT_RECLAIM_AREA, CommandTopic_COMMAND_UNIT_RECLAIM_FEATURE,
46    CommandTopic_COMMAND_UNIT_RECLAIM_UNIT, CommandTopic_COMMAND_UNIT_REPAIR,
47    CommandTopic_COMMAND_UNIT_RESTORE_AREA, CommandTopic_COMMAND_UNIT_RESURRECT,
48    CommandTopic_COMMAND_UNIT_RESURRECT_AREA, CommandTopic_COMMAND_UNIT_SELF_DESTROY,
49    CommandTopic_COMMAND_UNIT_SET_AUTO_REPAIR_LEVEL, CommandTopic_COMMAND_UNIT_SET_BASE,
50    CommandTopic_COMMAND_UNIT_SET_FIRE_STATE, CommandTopic_COMMAND_UNIT_SET_IDLE_MODE,
51    CommandTopic_COMMAND_UNIT_SET_MOVE_STATE, CommandTopic_COMMAND_UNIT_SET_ON_OFF,
52    CommandTopic_COMMAND_UNIT_SET_REPEAT, CommandTopic_COMMAND_UNIT_SET_TRAJECTORY,
53    CommandTopic_COMMAND_UNIT_SET_WANTED_MAX_SPEED, CommandTopic_COMMAND_UNIT_STOCKPILE,
54    CommandTopic_COMMAND_UNIT_STOP, CommandTopic_COMMAND_UNIT_UNLOAD_UNIT,
55    CommandTopic_COMMAND_UNIT_UNLOAD_UNITS_AREA, CommandTopic_COMMAND_UNIT_WAIT,
56    CommandTopic_COMMAND_UNIT_WAIT_DEATH, CommandTopic_COMMAND_UNIT_WAIT_GATHER,
57    CommandTopic_COMMAND_UNIT_WAIT_SQUAD, CommandTopic_COMMAND_UNIT_WAIT_TIME,
58    CommandTopic_COMMAND_UNUSED_0, CommandTopic_COMMAND_UNUSED_1,
59};
60
61#[derive(Copy, Clone, Debug, Ord, PartialOrd, Eq, PartialEq)]
62pub enum CommandTopic {
63    // Call Lua
64    CallLuaRules,
65    CallLuaUI,
66
67    // Cheats
68    CheatsGiveMeNewUnit,
69    CheatsGiveMeResource,
70    CheatsSetMyIncomeMultiplier,
71
72    // Debug Drawer
73    DebugDrawerGraphLineAddPoint,
74    DebugDrawerGraphLineDeletePoints,
75    DebugDrawerGraphLineSetColor,
76    DebugDrawerGraphLineSetLabel,
77    DebugDrawerGraphSetPOS,
78    DebugDrawerGraphSetSize,
79    DebugDrawerOverlaytextureAdd,
80    DebugDrawerOverlaytextureDelete,
81    DebugDrawerOverlaytextureSetLabel,
82    DebugDrawerOverlaytextureSetPOS,
83    DebugDrawerOverlaytextureSetSize,
84    DebugDrawerOverlaytextureUpdate,
85
86    // Drawer
87    DrawerAddNotification,
88    DrawerDrawUnit,
89    DrawerFigureCreateLine,
90    DrawerFigureCreateSpline,
91    DrawerFigureDelete,
92    DrawerFigureSetColor,
93    DrawerLineAdd,
94    DrawerPathBreak,
95    DrawerPathDrawIconAtLastPOS,
96    DrawerPathDrawLine,
97    DrawerPathDrawLineAndIcon,
98    DrawerPathFinish,
99    DrawerPathRestart,
100    DrawerPathStart,
101    DrawerPointAdd,
102    DrawerPointRemove,
103
104    // Group
105    GroupAddUnit,    // TODO: Unused
106    GroupCreate,     // TODO: Unused
107    GroupErase,      // TODO: Unused
108    GroupRemoveUnit, // TODO: Unused
109
110    // Path
111    PathFree,
112    PathGetApproximateLength,
113    PathGetNextWaypoint,
114    PathInit,
115
116    // Send
117    SendResources,
118    SendStartPOS,
119    SendTextMessage,
120    SendUnits,
121
122    // Trace
123    TraceRay,
124    TraceRayFeature,
125
126    // Unit
127    UnitAISelect,
128    UnitAttack,
129    UnitAttackArea,
130    UnitBuild,
131    UnitCapture,
132    UnitCaptureArea,
133    UnitCloak,
134    UnitCustom,
135    UnitDGun,
136    UnitDGunPOS,
137    UnitFight,
138    UnitGroupAdd,
139    UnitGroupClear,
140    UnitGuard,
141    UnitLoadOnto,
142    UnitLoadUnits,
143    UnitLoadUnitsArea,
144    UnitMove,
145    UnitPatrol,
146    UnitReclaimArea,
147    UnitReclaimFeature,
148    UnitReclaimUnit,
149    UnitRepair,
150    UnitRestoreArea,
151    UnitResurrect,
152    UnitResurrectArea,
153    UnitSelfDestroy,
154    UnitSetAutoRepairLevel,
155    UnitSetBase,
156    UnitSetFireState,
157    UnitSetIdleMode,
158    UnitSetMoveState,
159    UnitSetOnOff,
160    UnitSetRepeat,
161    UnitSetTrajectory,
162    UnitSetWantedMaxSpeed, // TODO: Unused
163    UnitStockpile,
164    UnitStop,
165    UnitUnloadUnit,
166    UnitUnloadUnitsArea,
167    UnitWait,
168    UnitWaitDeath,
169    UnitWaitGather,
170    UnitWaitSquad,
171    UnitWaitTime,
172
173    // Other
174    SetLastPOSMessage,
175    Pause,
176    Null,
177    Unused0, // TODO: Unused
178    Unused1, // TODO: Unused
179}
180
181#[allow(non_upper_case_globals)]
182impl From<CommandTopic_Sys> for CommandTopic {
183    fn from(command_topic_sys: CommandTopic_Sys) -> Self {
184        match command_topic_sys {
185            // Call Lua
186            CommandTopic_COMMAND_CALL_LUA_RULES => CommandTopic::CallLuaRules,
187            CommandTopic_COMMAND_CALL_LUA_UI => CommandTopic::CallLuaUI,
188            // Cheats
189            CommandTopic_COMMAND_CHEATS_GIVE_ME_NEW_UNIT => CommandTopic::CheatsGiveMeNewUnit,
190            CommandTopic_COMMAND_CHEATS_GIVE_ME_RESOURCE => CommandTopic::CheatsGiveMeResource,
191            CommandTopic_COMMAND_CHEATS_SET_MY_INCOME_MULTIPLIER => {
192                CommandTopic::CheatsSetMyIncomeMultiplier
193            }
194            // Debug Drawer
195            CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_ADD_POINT => {
196                CommandTopic::DebugDrawerGraphLineAddPoint
197            }
198            CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_DELETE_POINTS => {
199                CommandTopic::DebugDrawerGraphLineDeletePoints
200            }
201            CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_SET_COLOR => {
202                CommandTopic::DebugDrawerGraphLineSetColor
203            }
204            CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_SET_LABEL => {
205                CommandTopic::DebugDrawerGraphLineSetLabel
206            }
207            CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_SET_POS => CommandTopic::DebugDrawerGraphSetPOS,
208            CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_SET_SIZE => {
209                CommandTopic::DebugDrawerGraphSetSize
210            }
211            CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_ADD => {
212                CommandTopic::DebugDrawerOverlaytextureAdd
213            }
214            CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_DELETE => {
215                CommandTopic::DebugDrawerOverlaytextureDelete
216            }
217            CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_SET_LABEL => {
218                CommandTopic::DebugDrawerOverlaytextureSetLabel
219            }
220            CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_SET_POS => {
221                CommandTopic::DebugDrawerOverlaytextureSetPOS
222            }
223            CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_SET_SIZE => {
224                CommandTopic::DebugDrawerOverlaytextureSetSize
225            }
226            CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_UPDATE => {
227                CommandTopic::DebugDrawerOverlaytextureUpdate
228            }
229            // Drawer
230            CommandTopic_COMMAND_DRAWER_ADD_NOTIFICATION => CommandTopic::DrawerAddNotification,
231            CommandTopic_COMMAND_DRAWER_DRAW_UNIT => CommandTopic::DrawerDrawUnit,
232            CommandTopic_COMMAND_DRAWER_FIGURE_CREATE_LINE => CommandTopic::DrawerFigureCreateLine,
233            CommandTopic_COMMAND_DRAWER_FIGURE_CREATE_SPLINE => {
234                CommandTopic::DrawerFigureCreateSpline
235            }
236            CommandTopic_COMMAND_DRAWER_FIGURE_DELETE => CommandTopic::DrawerFigureDelete,
237            CommandTopic_COMMAND_DRAWER_FIGURE_SET_COLOR => CommandTopic::DrawerFigureSetColor,
238            CommandTopic_COMMAND_DRAWER_LINE_ADD => CommandTopic::DrawerLineAdd,
239            CommandTopic_COMMAND_DRAWER_PATH_BREAK => CommandTopic::DrawerPathBreak,
240            CommandTopic_COMMAND_DRAWER_PATH_DRAW_ICON_AT_LAST_POS => {
241                CommandTopic::DrawerPathDrawIconAtLastPOS
242            }
243            CommandTopic_COMMAND_DRAWER_PATH_DRAW_LINE => CommandTopic::DrawerPathDrawLine,
244            CommandTopic_COMMAND_DRAWER_PATH_DRAW_LINE_AND_ICON => {
245                CommandTopic::DrawerPathDrawLineAndIcon
246            }
247            CommandTopic_COMMAND_DRAWER_PATH_FINISH => CommandTopic::DrawerPathFinish,
248            CommandTopic_COMMAND_DRAWER_PATH_RESTART => CommandTopic::DrawerPathRestart,
249            CommandTopic_COMMAND_DRAWER_PATH_START => CommandTopic::DrawerPathStart,
250            CommandTopic_COMMAND_DRAWER_POINT_ADD => CommandTopic::DrawerPointAdd,
251            CommandTopic_COMMAND_DRAWER_POINT_REMOVE => CommandTopic::DrawerPointRemove,
252            // Group
253            CommandTopic_COMMAND_GROUP_ADD_UNIT => CommandTopic::GroupAddUnit,
254            CommandTopic_COMMAND_GROUP_CREATE => CommandTopic::GroupCreate,
255            CommandTopic_COMMAND_GROUP_ERASE => CommandTopic::GroupErase,
256            CommandTopic_COMMAND_GROUP_REMOVE_UNIT => CommandTopic::GroupRemoveUnit,
257            // Path
258            CommandTopic_COMMAND_PATH_FREE => CommandTopic::PathFree,
259            CommandTopic_COMMAND_PATH_GET_APPROXIMATE_LENGTH => {
260                CommandTopic::PathGetApproximateLength
261            }
262            CommandTopic_COMMAND_PATH_GET_NEXT_WAYPOINT => CommandTopic::PathGetNextWaypoint,
263            CommandTopic_COMMAND_PATH_INIT => CommandTopic::PathInit,
264            // Send
265            CommandTopic_COMMAND_SEND_RESOURCES => CommandTopic::SendResources,
266            CommandTopic_COMMAND_SEND_START_POS => CommandTopic::SendStartPOS,
267            CommandTopic_COMMAND_SEND_TEXT_MESSAGE => CommandTopic::SendTextMessage,
268            CommandTopic_COMMAND_SEND_UNITS => CommandTopic::SendUnits,
269            // Trace
270            CommandTopic_COMMAND_TRACE_RAY => CommandTopic::TraceRay,
271            CommandTopic_COMMAND_TRACE_RAY_FEATURE => CommandTopic::TraceRayFeature,
272            // Unit
273            CommandTopic_COMMAND_UNIT_AI_SELECT => CommandTopic::UnitAISelect,
274            CommandTopic_COMMAND_UNIT_ATTACK => CommandTopic::UnitAttack,
275            CommandTopic_COMMAND_UNIT_ATTACK_AREA => CommandTopic::UnitAttackArea,
276            CommandTopic_COMMAND_UNIT_BUILD => CommandTopic::UnitBuild,
277            CommandTopic_COMMAND_UNIT_CAPTURE => CommandTopic::UnitCapture,
278            CommandTopic_COMMAND_UNIT_CAPTURE_AREA => CommandTopic::UnitCaptureArea,
279            CommandTopic_COMMAND_UNIT_CLOAK => CommandTopic::UnitCloak,
280            CommandTopic_COMMAND_UNIT_CUSTOM => CommandTopic::UnitCustom,
281            CommandTopic_COMMAND_UNIT_D_GUN => CommandTopic::UnitDGun,
282            CommandTopic_COMMAND_UNIT_D_GUN_POS => CommandTopic::UnitDGunPOS,
283            CommandTopic_COMMAND_UNIT_FIGHT => CommandTopic::UnitFight,
284            CommandTopic_COMMAND_UNIT_GROUP_ADD => CommandTopic::UnitGroupAdd,
285            CommandTopic_COMMAND_UNIT_GROUP_CLEAR => CommandTopic::UnitGroupClear,
286            CommandTopic_COMMAND_UNIT_GUARD => CommandTopic::UnitGuard,
287            CommandTopic_COMMAND_UNIT_LOAD_ONTO => CommandTopic::UnitLoadOnto,
288            CommandTopic_COMMAND_UNIT_LOAD_UNITS => CommandTopic::UnitLoadUnits,
289            CommandTopic_COMMAND_UNIT_LOAD_UNITS_AREA => CommandTopic::UnitLoadUnitsArea,
290            CommandTopic_COMMAND_UNIT_MOVE => CommandTopic::UnitMove,
291            CommandTopic_COMMAND_UNIT_PATROL => CommandTopic::UnitPatrol,
292            CommandTopic_COMMAND_UNIT_RECLAIM_AREA => CommandTopic::UnitReclaimArea,
293            CommandTopic_COMMAND_UNIT_RECLAIM_FEATURE => CommandTopic::UnitReclaimFeature,
294            CommandTopic_COMMAND_UNIT_RECLAIM_UNIT => CommandTopic::UnitReclaimUnit,
295            CommandTopic_COMMAND_UNIT_REPAIR => CommandTopic::UnitRepair,
296            CommandTopic_COMMAND_UNIT_RESTORE_AREA => CommandTopic::UnitRestoreArea,
297            CommandTopic_COMMAND_UNIT_RESURRECT => CommandTopic::UnitResurrect,
298            CommandTopic_COMMAND_UNIT_RESURRECT_AREA => CommandTopic::UnitResurrectArea,
299            CommandTopic_COMMAND_UNIT_SELF_DESTROY => CommandTopic::UnitSelfDestroy,
300            CommandTopic_COMMAND_UNIT_SET_AUTO_REPAIR_LEVEL => CommandTopic::UnitSetAutoRepairLevel,
301            CommandTopic_COMMAND_UNIT_SET_BASE => CommandTopic::UnitSetBase,
302            CommandTopic_COMMAND_UNIT_SET_FIRE_STATE => CommandTopic::UnitSetFireState,
303            CommandTopic_COMMAND_UNIT_SET_IDLE_MODE => CommandTopic::UnitSetIdleMode,
304            CommandTopic_COMMAND_UNIT_SET_MOVE_STATE => CommandTopic::UnitSetMoveState,
305            CommandTopic_COMMAND_UNIT_SET_ON_OFF => CommandTopic::UnitSetOnOff,
306            CommandTopic_COMMAND_UNIT_SET_REPEAT => CommandTopic::UnitSetRepeat,
307            CommandTopic_COMMAND_UNIT_SET_TRAJECTORY => CommandTopic::UnitSetTrajectory,
308            CommandTopic_COMMAND_UNIT_SET_WANTED_MAX_SPEED => CommandTopic::UnitSetWantedMaxSpeed,
309            CommandTopic_COMMAND_UNIT_STOCKPILE => CommandTopic::UnitStockpile,
310            CommandTopic_COMMAND_UNIT_STOP => CommandTopic::UnitStop,
311            CommandTopic_COMMAND_UNIT_UNLOAD_UNIT => CommandTopic::UnitUnloadUnit,
312            CommandTopic_COMMAND_UNIT_UNLOAD_UNITS_AREA => CommandTopic::UnitUnloadUnitsArea,
313            CommandTopic_COMMAND_UNIT_WAIT => CommandTopic::UnitWait,
314            CommandTopic_COMMAND_UNIT_WAIT_DEATH => CommandTopic::UnitWaitDeath,
315            CommandTopic_COMMAND_UNIT_WAIT_GATHER => CommandTopic::UnitWaitGather,
316            CommandTopic_COMMAND_UNIT_WAIT_SQUAD => CommandTopic::UnitWaitSquad,
317            CommandTopic_COMMAND_UNIT_WAIT_TIME => CommandTopic::UnitWaitTime,
318            // Other
319            CommandTopic_COMMAND_SET_LAST_POS_MESSAGE => CommandTopic::SetLastPOSMessage,
320            CommandTopic_COMMAND_PAUSE => CommandTopic::Pause,
321            CommandTopic_COMMAND_NULL => CommandTopic::Null,
322            CommandTopic_COMMAND_UNUSED_0 => CommandTopic::Unused0,
323            CommandTopic_COMMAND_UNUSED_1 => CommandTopic::Unused1,
324            _ => CommandTopic::Null,
325        }
326    }
327}
328
329#[allow(non_upper_case_globals)]
330impl From<CommandTopic> for CommandTopic_Sys {
331    fn from(command_topic_sys: CommandTopic) -> Self {
332        match command_topic_sys {
333            // Call Lua
334            CommandTopic::CallLuaRules => CommandTopic_COMMAND_CALL_LUA_RULES,
335            CommandTopic::CallLuaUI => CommandTopic_COMMAND_CALL_LUA_UI,
336            // Cheats
337            CommandTopic::CheatsGiveMeNewUnit => CommandTopic_COMMAND_CHEATS_GIVE_ME_NEW_UNIT,
338            CommandTopic::CheatsGiveMeResource => CommandTopic_COMMAND_CHEATS_GIVE_ME_RESOURCE,
339            CommandTopic::CheatsSetMyIncomeMultiplier => {
340                CommandTopic_COMMAND_CHEATS_SET_MY_INCOME_MULTIPLIER
341            }
342            // Debug Drawer
343            CommandTopic::DebugDrawerGraphLineAddPoint => {
344                CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_ADD_POINT
345            }
346            CommandTopic::DebugDrawerGraphLineDeletePoints => {
347                CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_DELETE_POINTS
348            }
349            CommandTopic::DebugDrawerGraphLineSetColor => {
350                CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_SET_COLOR
351            }
352            CommandTopic::DebugDrawerGraphLineSetLabel => {
353                CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_SET_LABEL
354            }
355            CommandTopic::DebugDrawerGraphSetPOS => CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_SET_POS,
356            CommandTopic::DebugDrawerGraphSetSize => {
357                CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_SET_SIZE
358            }
359            CommandTopic::DebugDrawerOverlaytextureAdd => {
360                CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_ADD
361            }
362            CommandTopic::DebugDrawerOverlaytextureDelete => {
363                CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_DELETE
364            }
365            CommandTopic::DebugDrawerOverlaytextureSetLabel => {
366                CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_SET_LABEL
367            }
368            CommandTopic::DebugDrawerOverlaytextureSetPOS => {
369                CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_SET_POS
370            }
371            CommandTopic::DebugDrawerOverlaytextureSetSize => {
372                CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_SET_SIZE
373            }
374            CommandTopic::DebugDrawerOverlaytextureUpdate => {
375                CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_UPDATE
376            }
377            // Drawer
378            CommandTopic::DrawerAddNotification => CommandTopic_COMMAND_DRAWER_ADD_NOTIFICATION,
379            CommandTopic::DrawerDrawUnit => CommandTopic_COMMAND_DRAWER_DRAW_UNIT,
380            CommandTopic::DrawerFigureCreateLine => CommandTopic_COMMAND_DRAWER_FIGURE_CREATE_LINE,
381            CommandTopic::DrawerFigureCreateSpline => {
382                CommandTopic_COMMAND_DRAWER_FIGURE_CREATE_SPLINE
383            }
384            CommandTopic::DrawerFigureDelete => CommandTopic_COMMAND_DRAWER_FIGURE_DELETE,
385            CommandTopic::DrawerFigureSetColor => CommandTopic_COMMAND_DRAWER_FIGURE_SET_COLOR,
386            CommandTopic::DrawerLineAdd => CommandTopic_COMMAND_DRAWER_LINE_ADD,
387            CommandTopic::DrawerPathBreak => CommandTopic_COMMAND_DRAWER_PATH_BREAK,
388            CommandTopic::DrawerPathDrawIconAtLastPOS => {
389                CommandTopic_COMMAND_DRAWER_PATH_DRAW_ICON_AT_LAST_POS
390            }
391            CommandTopic::DrawerPathDrawLine => CommandTopic_COMMAND_DRAWER_PATH_DRAW_LINE,
392            CommandTopic::DrawerPathDrawLineAndIcon => {
393                CommandTopic_COMMAND_DRAWER_PATH_DRAW_LINE_AND_ICON
394            }
395            CommandTopic::DrawerPathFinish => CommandTopic_COMMAND_DRAWER_PATH_FINISH,
396            CommandTopic::DrawerPathRestart => CommandTopic_COMMAND_DRAWER_PATH_RESTART,
397            CommandTopic::DrawerPathStart => CommandTopic_COMMAND_DRAWER_PATH_START,
398            CommandTopic::DrawerPointAdd => CommandTopic_COMMAND_DRAWER_POINT_ADD,
399            CommandTopic::DrawerPointRemove => CommandTopic_COMMAND_DRAWER_POINT_REMOVE,
400            // Group
401            CommandTopic::GroupAddUnit => CommandTopic_COMMAND_GROUP_ADD_UNIT,
402            CommandTopic::GroupCreate => CommandTopic_COMMAND_GROUP_CREATE,
403            CommandTopic::GroupErase => CommandTopic_COMMAND_GROUP_ERASE,
404            CommandTopic::GroupRemoveUnit => CommandTopic_COMMAND_GROUP_REMOVE_UNIT,
405            // Path
406            CommandTopic::PathFree => CommandTopic_COMMAND_PATH_FREE,
407            CommandTopic::PathGetApproximateLength => {
408                CommandTopic_COMMAND_PATH_GET_APPROXIMATE_LENGTH
409            }
410            CommandTopic::PathGetNextWaypoint => CommandTopic_COMMAND_PATH_GET_NEXT_WAYPOINT,
411            CommandTopic::PathInit => CommandTopic_COMMAND_PATH_INIT,
412            // Send
413            CommandTopic::SendResources => CommandTopic_COMMAND_SEND_RESOURCES,
414            CommandTopic::SendStartPOS => CommandTopic_COMMAND_SEND_START_POS,
415            CommandTopic::SendTextMessage => CommandTopic_COMMAND_SEND_TEXT_MESSAGE,
416            CommandTopic::SendUnits => CommandTopic_COMMAND_SEND_UNITS,
417            // Trace
418            CommandTopic::TraceRay => CommandTopic_COMMAND_TRACE_RAY,
419            CommandTopic::TraceRayFeature => CommandTopic_COMMAND_TRACE_RAY_FEATURE,
420            // Unit
421            CommandTopic::UnitAISelect => CommandTopic_COMMAND_UNIT_AI_SELECT,
422            CommandTopic::UnitAttack => CommandTopic_COMMAND_UNIT_ATTACK,
423            CommandTopic::UnitAttackArea => CommandTopic_COMMAND_UNIT_ATTACK_AREA,
424            CommandTopic::UnitBuild => CommandTopic_COMMAND_UNIT_BUILD,
425            CommandTopic::UnitCapture => CommandTopic_COMMAND_UNIT_CAPTURE,
426            CommandTopic::UnitCaptureArea => CommandTopic_COMMAND_UNIT_CAPTURE_AREA,
427            CommandTopic::UnitCloak => CommandTopic_COMMAND_UNIT_CLOAK,
428            CommandTopic::UnitCustom => CommandTopic_COMMAND_UNIT_CUSTOM,
429            CommandTopic::UnitDGun => CommandTopic_COMMAND_UNIT_D_GUN,
430            CommandTopic::UnitDGunPOS => CommandTopic_COMMAND_UNIT_D_GUN_POS,
431            CommandTopic::UnitFight => CommandTopic_COMMAND_UNIT_FIGHT,
432            CommandTopic::UnitGroupAdd => CommandTopic_COMMAND_UNIT_GROUP_ADD,
433            CommandTopic::UnitGroupClear => CommandTopic_COMMAND_UNIT_GROUP_CLEAR,
434            CommandTopic::UnitGuard => CommandTopic_COMMAND_UNIT_GUARD,
435            CommandTopic::UnitLoadOnto => CommandTopic_COMMAND_UNIT_LOAD_ONTO,
436            CommandTopic::UnitLoadUnits => CommandTopic_COMMAND_UNIT_LOAD_UNITS,
437            CommandTopic::UnitLoadUnitsArea => CommandTopic_COMMAND_UNIT_LOAD_UNITS_AREA,
438            CommandTopic::UnitMove => CommandTopic_COMMAND_UNIT_MOVE,
439            CommandTopic::UnitPatrol => CommandTopic_COMMAND_UNIT_PATROL,
440            CommandTopic::UnitReclaimArea => CommandTopic_COMMAND_UNIT_RECLAIM_AREA,
441            CommandTopic::UnitReclaimFeature => CommandTopic_COMMAND_UNIT_RECLAIM_FEATURE,
442            CommandTopic::UnitReclaimUnit => CommandTopic_COMMAND_UNIT_RECLAIM_UNIT,
443            CommandTopic::UnitRepair => CommandTopic_COMMAND_UNIT_REPAIR,
444            CommandTopic::UnitRestoreArea => CommandTopic_COMMAND_UNIT_RESTORE_AREA,
445            CommandTopic::UnitResurrect => CommandTopic_COMMAND_UNIT_RESURRECT,
446            CommandTopic::UnitResurrectArea => CommandTopic_COMMAND_UNIT_RESURRECT_AREA,
447            CommandTopic::UnitSelfDestroy => CommandTopic_COMMAND_UNIT_SELF_DESTROY,
448            CommandTopic::UnitSetAutoRepairLevel => CommandTopic_COMMAND_UNIT_SET_AUTO_REPAIR_LEVEL,
449            CommandTopic::UnitSetBase => CommandTopic_COMMAND_UNIT_SET_BASE,
450            CommandTopic::UnitSetFireState => CommandTopic_COMMAND_UNIT_SET_FIRE_STATE,
451            CommandTopic::UnitSetIdleMode => CommandTopic_COMMAND_UNIT_SET_IDLE_MODE,
452            CommandTopic::UnitSetMoveState => CommandTopic_COMMAND_UNIT_SET_MOVE_STATE,
453            CommandTopic::UnitSetOnOff => CommandTopic_COMMAND_UNIT_SET_ON_OFF,
454            CommandTopic::UnitSetRepeat => CommandTopic_COMMAND_UNIT_SET_REPEAT,
455            CommandTopic::UnitSetTrajectory => CommandTopic_COMMAND_UNIT_SET_TRAJECTORY,
456            CommandTopic::UnitSetWantedMaxSpeed => CommandTopic_COMMAND_UNIT_SET_WANTED_MAX_SPEED,
457            CommandTopic::UnitStockpile => CommandTopic_COMMAND_UNIT_STOCKPILE,
458            CommandTopic::UnitStop => CommandTopic_COMMAND_UNIT_STOP,
459            CommandTopic::UnitUnloadUnit => CommandTopic_COMMAND_UNIT_UNLOAD_UNIT,
460            CommandTopic::UnitWait => CommandTopic_COMMAND_UNIT_WAIT,
461            CommandTopic::UnitWaitDeath => CommandTopic_COMMAND_UNIT_WAIT_DEATH,
462            CommandTopic::UnitWaitGather => CommandTopic_COMMAND_UNIT_WAIT_GATHER,
463            CommandTopic::UnitWaitSquad => CommandTopic_COMMAND_UNIT_WAIT_SQUAD,
464            CommandTopic::UnitWaitTime => CommandTopic_COMMAND_UNIT_WAIT_TIME,
465            CommandTopic::UnitUnloadUnitsArea => CommandTopic_COMMAND_UNIT_UNLOAD_UNITS_AREA,
466            // Other
467            CommandTopic::SetLastPOSMessage => CommandTopic_COMMAND_SET_LAST_POS_MESSAGE,
468            CommandTopic::Pause => CommandTopic_COMMAND_PAUSE,
469            CommandTopic::Null => CommandTopic_COMMAND_NULL,
470            CommandTopic::Unused0 => CommandTopic_COMMAND_UNUSED_0,
471            CommandTopic::Unused1 => CommandTopic_COMMAND_UNUSED_1,
472        }
473    }
474}