// // EnumString.h // // Enumerations used throughout the AI and functions // for converting them into strings // enum ArmyStateType { ArmyStateIdleInBase, ArmyStateMovingToDefend, ArmyStateMovingToAttack, ArmyStateRetreating, ArmyStateGathering, ArmyStateInBattle, }; enum ActionButtonStateType { ActionButtonStateInvalid, ActionButtonStateNormal, ActionButtonStateDisabled, ActionButtonStateSelected, ActionButtonStateNotEnoughEnergy, ActionButtonCoolingDown, }; enum KeyboardMouseEventType { KeyboardMouseEventKeyDown, KeyboardMouseEventKeyPress, KeyboardMouseEventKeyUp, KeyboardMouseEventFrameBarrier, KeyboardMouseEventMouseMove, KeyboardMouseEventMouseDown, KeyboardMouseEventMouseUp, KeyboardMouseEventMouseDownUp, }; enum StratType { StratZergDebug, StratZergRoaches, StratZergHydralisks, StratZergMutalisks, StratZergZerglings, StratZergRoachesAndHydralisks, StratProtossZealots, StratProtossStalkers, StratProtossGroundHybrid, }; enum ProgramResultType { ProgramResultSuccess, ProgramResultFail, ProgramResultStillExecuting }; enum LogType { LogExecuteStep, LogStep, LogError, LogDone, }; enum RenderType { RenderDecoration, RenderMinimap, RenderIcon, RenderPortraitLarge, RenderPortrait, RenderUnit, RenderFont, RenderUnclassified, RenderSpecial, RenderNoMatchFound, RenderUnknown, RenderUninitialized, }; enum PlayerType { PlayerSelf, PlayerAlly, PlayerEnemy, PlayerInvalid, }; enum RaceType { RaceZerg, RaceProtoss, RaceTerran, RaceNone, }; enum UnitPrimaryType { UnitPrimaryMobile, UnitPrimaryBuilding, UnitPrimaryResearch, UnitPrimaryResource, }; enum UnitSecondaryType { UnitSecondaryNone, UnitSecondaryCombat, UnitSecondaryCombatMicro, UnitSecondaryBase, UnitSecondarySupply, UnitSecondaryWorker, UnitSecondaryExtractor, }; enum BuildClassType { BuildClassMorphUnit, BuildClassWorker, BuildClassSpell, BuildClassLarvae, BuildClassMorphBuilding, BuildClassQueue, BuildClassResearch, BuildClassNone, }; enum ComplexityType { ComplexityNone, ComplexityBasic, ComplexityAdvanced, }; enum ScreenConstantVec2fType { ScreenConstantVec2fBubblePortraitTopLeft, ScreenConstantVec2fBubblePortraitDimensions, ScreenConstantVec2fActionButtonTopLeft, ScreenConstantVec2fActionButtonDimensions, ScreenConstantVec2fMinimapTopLeft, ScreenConstantVec2fMinimapDimensions, ScreenConstantVec2fControlGroupLevelTopLeft, ScreenConstantVec2fControlGroupLevelDisplacement, ScreenConstantVec2fScreenCenter, ScreenConstantVec2fCount, }; enum ScreenConstantRectangle2iType { ScreenConstantRectangle2iClickableRegion, ScreenConstantRectangle2iIdleWorkerRegion, ScreenConstantRectangle2iMenuRegion, ScreenConstantRectangle2iMinimapRegion, ScreenConstantRectangle2iResourceRegion, ScreenConstantRectangle2iUnitInfoRegion, ScreenConstantRectangle2iBaseSearchRegion, ScreenConstantRectangle2iWarpGateRegion, ScreenConstantRectangle2iCount, }; enum ControlGroupType { ControlGroupCombatAll, ControlGroupCombatMicro, ControlGroupWorkerMineral, ControlGroupWorkerGas0, ControlGroupWorkerGas1, ControlGroupWorkerGas2, ControlGroupWorkerGas3, ControlGroupBuildingMain, ControlGroupBuildingSupport, ControlGroupSupply, ControlGroupUnused, ControlGroupUngrouped, }; enum ModifierType { ModifierNone, ModifierShift, ModifierCtrl, }; String GetActionButtonStateTypeString(ActionButtonStateType Type); ActionButtonStateType GetActionButtonStateTypeFromString(const String &Str); String GetKeyboardMouseEventTypeString(KeyboardMouseEventType Type); KeyboardMouseEventType GetKeyboardMouseEventTypeFromString(const String &Str); String GetStratTypeString(StratType Type); StratType GetStratTypeFromString(const String &Str); String GetProgramResultTypeString(ProgramResultType Type); ProgramResultType GetProgramResultTypeFromString(const String &Str); String GetLogTypeString(LogType Type); LogType GetLogTypeFromString(const String &Str); String GetRenderTypeString(RenderType Type); RenderType GetRenderTypeFromString(const String &Str); String GetPlayerTypeString(PlayerType Type); PlayerType GetPlayerTypeFromString(const String &Str); String GetRaceTypeString(RaceType Type); RaceType GetRaceTypeFromString(const String &Str); String GetUnitPrimaryTypeString(UnitPrimaryType Type); UnitPrimaryType GetUnitPrimaryTypeFromString(const String &Str); String GetUnitSecondaryTypeString(UnitSecondaryType Type); UnitSecondaryType GetUnitSecondaryTypeFromString(const String &Str); String GetBuildClassTypeString(BuildClassType Type); BuildClassType GetBuildClassTypeFromString(const String &Str); String GetComplexityTypeString(ComplexityType Type); ComplexityType GetComplexityTypeFromString(const String &Str); String GetScreenConstantVec2fTypeString(ScreenConstantVec2fType Type); ScreenConstantVec2fType GetScreenConstantVec2fTypeFromString(const String &Str); String GetScreenConstantRectangle2iTypeString(ScreenConstantRectangle2iType Type); ScreenConstantRectangle2iType GetScreenConstantRectangle2iTypeFromString(const String &Str); String GetControlGroupTypeString(ControlGroupType Type); ControlGroupType GetControlGroupTypeFromString(const String &Str); String GetModifierTypeString(ModifierType Type); ModifierType GetModifierTypeFromString(const String &Str);