12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- extends Node2D
- var Map = preload("Map.tscn")
- var Player = preload("Player.tscn")
- var RemotePlayer = preload("RemotePlayer.tscn")
- var mpclient = preload("lib/client_ui.tscn")
- # Declare member variables here. Examples:
- # var a = 2
- # var b = "text"
- var map
- var player
- var remoteplayers = {}
- # Called when the node enters the scene tree for the first time.
- func _ready():
- map = Map.instance()
- map.init()
- map.getMap("https://hacknplay.org/maps/test/main.json")
- map.name="Map"
- map.owner=self
- add_child(map, true)
- spawn_player()
- mpclient = mpclient.instance()
- add_child(mpclient)
- #get_tree().set_network_peer(mpclient.client.rtc_mp)
- mpclient.client.rtc_mp.connect("peer_connected", self, "spawn_remotePlayer")
- mpclient.client.rtc_mp.connect("peer_disconnected", self, "remove_remotePlayer")
- mpclient.client.connect("connected", self, "set_id")
- # Called every frame. 'delta' is the elapsed time since the previous frame.
- #func _process(delta):
- # pass
- func spawn_player():
- print(get_children())
- while not map.mapImported:
- yield(Engine.get_main_loop(), "idle_frame")
-
- #print(get_node("Map/TMX/start").tile_set.get_used_tiles())
- #breakpoint
-
- player = Player.instance()
- player.owner = self
- player.name = "Player"
- get_node("Map/TMX/floorLayer").add_child(player, true)
- get_node("Map/TMX/floorLayer/Player/Camera2D").current = true
-
- func set_id(id):
- get_node("Map/TMX/floorLayer/Player").id = id
-
- func spawn_remotePlayer(id):
- var remoteplayer = RemotePlayer.instance()
- remoteplayer.owner = self
- remoteplayer.name = "Player "+str(id)
- remoteplayer.id = id
- get_node("Map/TMX/floorLayer").add_child(remoteplayer, true)
- remoteplayers[id] = remoteplayer
-
- func remove_remotePlayer(id):
- print("removing player", id)
- remoteplayers[id].queue_free()
- func disconnected():
- for remoteplayer in remoteplayers:
- remove_remotePlayer(remoteplayer.id)
|