select_troops.py 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. # coding: utf-8
  2. import argparse
  3. import typing
  4. from tkinter import Tk
  5. from synergine2.config import Config
  6. from opencombat.strategy.manager import TroopManager
  7. from opencombat.strategy.selection.gui import SelectTroopsGui
  8. def main(
  9. units_file_path: str,
  10. teams_file_path: str,
  11. countries: typing.List[str],
  12. ) -> None:
  13. config = Config()
  14. config.load_yaml('config.yaml')
  15. troop_manager = TroopManager(
  16. config,
  17. units_file_path=units_file_path,
  18. teams_file_path=teams_file_path,
  19. )
  20. master = Tk()
  21. gui = SelectTroopsGui(
  22. config,
  23. master=master,
  24. team_stash=troop_manager.team_stash,
  25. countries=countries,
  26. )
  27. master.mainloop()
  28. if __name__ == '__main__':
  29. parser = argparse.ArgumentParser(
  30. description='Display troops selection gui',
  31. )
  32. parser.add_argument(
  33. '--units',
  34. dest='units_file_path',
  35. default='opencombat/strategy/units.xml',
  36. )
  37. parser.add_argument(
  38. '--teams',
  39. dest='teams_file_path',
  40. default='opencombat/strategy/teams.xml',
  41. )
  42. parser.add_argument(
  43. '--country',
  44. action='append',
  45. dest='countries',
  46. )
  47. args = parser.parse_args()
  48. main(
  49. units_file_path=args.units_file_path,
  50. teams_file_path=args.teams_file_path,
  51. countries=args.countries,
  52. )