From bf7ca5a4576f4d8332fbc3fee2004a27e4a08fbc Mon Sep 17 00:00:00 2001
From: Nils G <nils.gondermann@ruhr-uni-bochum.de>
Date: Tue, 14 Apr 2020 16:48:31 +0200
Subject: [PATCH] Debug renderer

---
 controllers/default.py          | 12 +++++++++++-
 static/renderer/debug.css       |  3 +++
 static/renderer/debug.js        | 17 +++++++++++++++++
 views/game/index.html           | 26 ++++++++++++++++++++++++++
 views/game/renderer_debug.html  | 11 +++++++++++
 views/include/header_debug.html |  5 +++++
 6 files changed, 73 insertions(+), 1 deletion(-)
 create mode 100644 static/renderer/debug.css
 create mode 100644 static/renderer/debug.js
 create mode 100644 views/game/index.html
 create mode 100644 views/game/renderer_debug.html
 create mode 100644 views/include/header_debug.html

diff --git a/controllers/default.py b/controllers/default.py
index 93850aa..ac2ea59 100644
--- a/controllers/default.py
+++ b/controllers/default.py
@@ -1,4 +1,4 @@
-from cookie_util import COOKIE_GET
+from cookie_util import COOKIE_GET, COOKIE_DELETE
 
 def index():
     return dict()
@@ -10,3 +10,13 @@ def content():
         #No cookie set - Show login form
         response.view = "default/login.html"
         return dict()
+
+    if room_record.closed:
+        #The room has been closed in the meantime
+        COOKIE_DELETE()
+        response.view = "default/login.html"
+        return dict(info=T("The room has been closed"))
+
+    response.view = "game/renderer_debug.html"
+
+    return dict(player_record=player_record, room_record=room_record)
diff --git a/static/renderer/debug.css b/static/renderer/debug.css
new file mode 100644
index 0000000..9164851
--- /dev/null
+++ b/static/renderer/debug.css
@@ -0,0 +1,3 @@
+#game_content {
+    color: white;
+}
diff --git a/static/renderer/debug.js b/static/renderer/debug.js
new file mode 100644
index 0000000..984593c
--- /dev/null
+++ b/static/renderer/debug.js
@@ -0,0 +1,17 @@
+function render(_name, _role, _roles){
+
+    if(_role in _roles) {
+        //TODO: Render role according to definition
+        $("#game_content").html(_role);
+        return;
+    }
+
+    if(_role === "idle"){
+        //We have no role definitions yet, but the role is default idle
+        $("#game_content").html("Please wait for the game to start.");
+        return;
+    }
+
+    //This is not good
+    set_error("The role of this player has no render target.");
+}
diff --git a/views/game/index.html b/views/game/index.html
new file mode 100644
index 0000000..fbc0539
--- /dev/null
+++ b/views/game/index.html
@@ -0,0 +1,26 @@
+{{include 'include/popup.html'}}
+
+<!-- ############################### -->
+<!-- #.............................# -->
+<!-- #........GAME..CONTENT........# -->
+<!-- #.............................# -->
+<!-- ############################### -->
+
+{{block game_css}}{{end game_css}}
+
+<div id="game_content">
+    {{ include }}
+</div>
+
+<script type="text/javascript">
+    var name = "{{=player_record.name}}";
+    var role = "{{=player_record.role}}";
+</script>
+
+{{block game_js}}{{end game_js}}
+
+<script type="text/javascript">
+    $(document).ready(function(){
+        render(name, role, {});
+    });
+</script>
diff --git a/views/game/renderer_debug.html b/views/game/renderer_debug.html
new file mode 100644
index 0000000..3bf0eb9
--- /dev/null
+++ b/views/game/renderer_debug.html
@@ -0,0 +1,11 @@
+{{extend 'game/index.html'}}
+
+{{block game_css}}
+    <link rel="stylesheet" type="text/css" href="{{=URL('static/css/renderer', 'debug.css')}}">
+{{end game_css}}
+
+
+{{block game_js}}
+    {{include 'include/header_debug.html'}}
+    <script src="{{=URL('static','renderer/debug.js')}}" type="text/javascript"></script>
+{{end game_js}}
diff --git a/views/include/header_debug.html b/views/include/header_debug.html
new file mode 100644
index 0000000..8fc9543
--- /dev/null
+++ b/views/include/header_debug.html
@@ -0,0 +1,5 @@
+<script type="text/javascript">
+    $("#header_left").html("{{=player_record.name}}");
+    $("#header_center").html("Lynchburg");
+    $("#header_right").html("{{=room_record.code}}");
+</script>
-- 
GitLab