From c27153868e58d71f836a8674ce00378f6a841f00 Mon Sep 17 00:00:00 2001
From: Adonis Stavridis <adonis-ioannis.stavridis@etu.unistra.fr>
Date: Wed, 18 Mar 2020 17:11:41 +0100
Subject: [PATCH] #107 implemented basic camera

---
 client/autoloads/gamestate.gd          | 5 ++++-
 client/entities/characters/camera.tscn | 5 +++++
 client/entities/characters/hp.gd       | 3 ++-
 client/entities/characters/pseudo.gd   | 3 +--
 client/levels/test/game.tscn           | 4 ----
 server/autoloads/gamestate.gd          | 2 +-
 6 files changed, 13 insertions(+), 9 deletions(-)
 create mode 100644 client/entities/characters/camera.tscn

diff --git a/client/autoloads/gamestate.gd b/client/autoloads/gamestate.gd
index 86ce275..d8f9910 100644
--- a/client/autoloads/gamestate.gd
+++ b/client/autoloads/gamestate.gd
@@ -59,4 +59,7 @@ puppet func startGame():
 		i+=1
 		
 	var playerArrow:Node = preload("res://entities/characters/playerArrow.tscn").instance()
-	get_node(GAMEPATH+str(get_tree().get_network_unique_id())).add_child(playerArrow)
\ No newline at end of file
+	var playerCamera:Node = preload("res://entities/characters/camera.tscn").instance()
+	
+	get_node(GAMEPATH+str(get_tree().get_network_unique_id())).add_child(playerArrow)
+	get_node(GAMEPATH+str(get_tree().get_network_unique_id())).add_child(playerCamera)
diff --git a/client/entities/characters/camera.tscn b/client/entities/characters/camera.tscn
new file mode 100644
index 0000000..9997358
--- /dev/null
+++ b/client/entities/characters/camera.tscn
@@ -0,0 +1,5 @@
+[gd_scene format=2]
+
+[node name="Camera" type="Camera"]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 25 )
+fov = 30.0
diff --git a/client/entities/characters/hp.gd b/client/entities/characters/hp.gd
index c6f0776..2448e00 100644
--- a/client/entities/characters/hp.gd
+++ b/client/entities/characters/hp.gd
@@ -1,4 +1,5 @@
 extends Label
+
 const GAMEPATH = "/root/game/"
 
 var hp:int
@@ -16,7 +17,7 @@ func _ready():
 
 
 func _process(_delta):
-	var cam = get_tree().get_root().get_camera()
+	var cam = get_viewport().get_camera()
 	posPv.x = player.get_global_transform().origin.x - 0.2
 	posPv.y = player.get_global_transform().origin.y + 2
 	var labelIdpos = cam.unproject_position(posPv)
diff --git a/client/entities/characters/pseudo.gd b/client/entities/characters/pseudo.gd
index 8748498..d285575 100644
--- a/client/entities/characters/pseudo.gd
+++ b/client/entities/characters/pseudo.gd
@@ -4,10 +4,8 @@ const GAMEPATH = "/root/game/"
 
 var posId
 var player
-var cam
 
 func _ready():
-	cam = get_tree().get_root().get_camera()
 	posId = Vector3(0,0,0)
 	player = get_node("../../")
 	var my_id = get_tree().get_network_unique_id()
@@ -17,6 +15,7 @@ func _ready():
 
 
 func _process(_delta):
+	var cam = get_viewport().get_camera()
 	posId.x = player.get_global_transform().origin.x - 0.75
 	posId.y = player.get_global_transform().origin.y + 2.5
 	var labelIdpos = cam.unproject_position(posId)
diff --git a/client/levels/test/game.tscn b/client/levels/test/game.tscn
index 2c2e41c..6d5fc47 100644
--- a/client/levels/test/game.tscn
+++ b/client/levels/test/game.tscn
@@ -7,10 +7,6 @@
 [node name="game" type="Spatial"]
 script = ExtResource( 1 )
 
-[node name="camera" type="Camera" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.08, 22.8061 )
-fov = 30.0
-
 [node name="structure" type="Spatial" parent="."]
 
 [node name="bloc" parent="structure" instance=ExtResource( 2 )]
diff --git a/server/autoloads/gamestate.gd b/server/autoloads/gamestate.gd
index 86335ac..12fa5c5 100644
--- a/server/autoloads/gamestate.gd
+++ b/server/autoloads/gamestate.gd
@@ -3,7 +3,7 @@ extends Node
 const GAMEPATH = "/root/game/"
 
 const PORT = 10001
-const MAX_CLIENTS = 2
+const MAX_CLIENTS = 1
 
 var players = {}
 
-- 
GitLab