extends Node const my_version = "0.1.0" var SCRIPT_client var SCRIPT_locationListener var SCRIPT_uuid var ap_server = "" var ap_user = "" var ap_pass = "" var connection_history = [] var client signal could_not_connect signal connect_status signal ap_connected func _ready(): client = SCRIPT_client.new() client.SCRIPT_uuid = SCRIPT_uuid client.connect("item_received", _process_item) client.connect("could_not_connect", _client_could_not_connect) client.connect("connect_status", _client_connect_status) client.connect("client_connected", _client_connected) add_child(client) func saveSettings(): pass func connectToServer(): client.connectToServer(ap_server, ap_user, ap_pass) func getSaveFileName(): return "zzAP_%s_%d" % [client._seed, client._slot] func disconnect_from_ap(): client.disconnect_from_ap() func get_item_id_for_door(door_id): var gamedata = global.get_node("Gamedata") var door = gamedata.objects.get_doors()[door_id] if ( door.get_type() == gamedata.SCRIPT_proto.DoorType.EVENT or door.get_type() == gamedata.SCRIPT_proto.DoorType.LOCATION_ONLY or door.get_type() == gamedata.SCRIPT_proto.DoorType.CONTROL_CENTER_COLOR ): return null return gamedata.get_door_ap_id(door_id) func has_item(item_id): return client.hasItem(item_id) func _process_item(item_id, _index, _player, _flags): var gamedata = global.get_node("Gamedata") var door_id = gamedata.door_id_by_ap_id.get(item_id, null) if door_id != null and gamedata.get_door_map_name(door_id) == global.map: var receivers = gamedata.get_door_receivers(door_id) var scene = get_tree().get_root().get_node_or_null("scene") if scene != null: for receiver in receivers: var rnode = scene.get_node_or_null(receiver) if rnode != null: rnode.handleTriggered() for painting_id in gamedata.objects.get_doors()[door_id].get_move_paintings(): var painting = gamedata.objects.get_paintings()[painting_id] var pnode = scene.get_node_or_null(painting.get_path() + "/teleportListener") if pnode != null: pnode.handleTriggered() func _process_message(_message): pass func _client_could_not_connect(): emit_signal("could_not_connect") func _client_connect_status(message): emit_signal("connect_status", message) func _client_connected(): emit_signal("ap_connected") func send_location(loc_id): client.sendLocation(loc_id)