A team game with an emphasis on movement (with no shooting), inspired by Overwatch and Zineth
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

83 lines
2.7 KiB

extends "res://scripts/args.gd"
func _ready():
randomize()
_parse_args()
_gui_setup()
# GUI
func _gui_setup():
get_node("Center/Play").connect("pressed", self, "_find_game")
get_node("Center/CustomGame").connect("pressed", self, "_custom_game")
get_node("Center/Singleplayer").connect("pressed", self, "_singleplayer")
func _find_game():
print("still refactoring matchmaker")
func _custom_game():
get_tree().change_scene("res://scenes/custom_game.tscn")
func _singleplayer():
print("still refactoring singleplayer")
# Command line
func _set_up_options():
var opts = Options.new()
opts.set_banner(('A non-violent MOBA inspired by Overwatch and Zineth'))
opts.add('-singleplayer', false, 'Whether to run singeplayer, starting immediately')
opts.add('-server', false, 'Whether to run as server')
opts.add('-matchmaker', false, 'Whether to be the sole matchmaker')
opts.add('-client', false, 'Immediately connect as client')
opts.add('-silent', false, 'If the server is not playing, merely serving')
opts.add('-port', 54672, 'The port to run a server on or connect to')
opts.add('-hero', 'r', 'Your choice of hero (index)')
opts.add('-level', 'r', 'Your choice of level (index) - server only!')
opts.add('-start-game', false, 'Join as a client and immediately start the game')
opts.add('-ai', true, 'Run this client as AI')
opts.add('-no-record', true, "Don't record this play for AI later")
opts.add('-h', false, "Print help")
return opts
func _option_sel(button_name, option):
var button = get_node(button_name)
if option == "r":
option = randi() % button.get_item_count()
else:
option = int(option)
button.select(option)
func _parse_args():
var o = setup_options()
o.parse()
# if o.get_value("-silent"):
# server_playing = false
# if o.get_value("-hero"):
# var hero = o.get_value("-hero")
# _option_sel("PlayerSettings/HeroSelect", hero)
# # For some reason, calling _option_sel doesn't trigger the actual selection
# select_hero(get_node("PlayerSettings/HeroSelect").get_selected_id())
# if o.get_value("-level"):
# _option_sel("CustomGame/LevelSelect", o.get_value("-level"))
# if o.get_value("-server"):
# call_deferred("_server_init")
# if o.get_value("-matchmaker"):
# call_deferred("_matchmaker_init")
# if o.get_value("-client"):
# call_deferred("_client_init")
# if o.get_value("-port"):
# port = o.get_value("-port")
# if o.get_value("-start-game"):
# my_info.start_game = true
# if o.get_value("-singleplayer"):
# call_deferred("_singleplayer_init")
# if o.get_value("-ai"):
# my_info.is_ai = true
# if not o.get_value("-no-record") and not o.get_value("-ai"):
# my_info.record = true
# if o.get_value('-h'):
# o.print_help()
# quit()