Helpers ======= There are several classes related to processing information about the game state and the input from Starcraft. All these classes are taken more or less directly from the original `CommandCenter`_, but we have left all decision-making to the user of the API. .. _CommandCenter: https://github.com/davechurchill/commandcenter Here is a full list of all managers: * :class:`commandcenter.BaseLocationManager` * :class:`commandcenter.TechTree` * :class:`commandcenter.MapTools` * :class:`commandcenter.BuildingPlacer` The rest of this page contains a brief description of each manager. BaseLocationManager ------------------- .. class:: commandcenter.BaseLocationManager .. autoattribute:: base_locations .. autoattribute:: starting_base_locations .. automethod:: get_occupied_base_locations .. automethod:: get_player_starting_base_location .. automethod:: get_next_expansion BaseLocation ~~~~~~~~~~~~ .. class:: commandcenter.BaseLocation Closely related to BaseLocationManager. This is the datastructure used by the BaseLocationManager to keep track of all base locations and related information. .. autoattribute:: position .. autoattribute:: depot_position .. autoattribute:: minerals .. autoattribute:: geysers .. automethod:: get_ground_distance .. automethod:: is_occupied_by_player .. automethod:: is_player_start_location .. automethod:: contains_position TechTree -------- .. autoclass:: commandcenter.TechTree This class has some invalid information by default, this can be corrected by placing the file `techtree.json` in the working directory. The `techtree.json` files are available here_, select the lastest version. A techtree for SC2 version >=4.10 is now available (not fully tested yet), this can be found under the folder data in this link_. A recent file is included in the `template repository`_. .. automethod:: get_data(argument) -> commandcenter.TypeData .. _link: https://github.com/BurnySc2/sc2-techtree .. _here: https://github.com/noorus/sc2-gamedata .. _`template repository`: https://gitlab.liu.se/starcraft-ai-course/sc2-python-bot TypeData ~~~~~~~~ .. autoclass:: commandcenter.TypeData :members: :undoc-members: .. TODO: Types for all fields would be nice, is required_units List[UnitType] or List[UNIT_TYPEID]? MapTools -------- .. autoclass:: commandcenter.MapTools :members: :undoc-members: Color ~~~~~ .. autoclass:: commandcenter.Color :members: :undoc-members: .. automethod:: __init__ DistanceMap ~~~~~~~~~~~ .. autoclass:: commandcenter.DistanceMap :members: :undoc-members: BuildingPlacer -------------- .. autoclass:: commandcenter.BuildingPlacer :members: :undoc-members: .. toctree::