Skip to content
Snippets Groups Projects
Commit 27fb1897 authored by Nils G.'s avatar Nils G.
Browse files

Renamed submits to prompts

parent d8517aee
No related branches found
No related tags found
No related merge requests found
......@@ -24,6 +24,7 @@ def start():
if not room_record:
return(FAIL(CODE_SEMANTIC))
#TODO: Enable
#if room_record.started:
# return(FAIL(CODE_CONFLICT))
......@@ -81,20 +82,20 @@ def roles():
if not isinstance(definition, dict):
return(FAIL(CODE_MISSING))
if not JSON_CONTAINS(definition, [("role", str), ("submits", list)]):
if not JSON_CONTAINS(definition, [("role", str), ("prompts", list)]):
return(FAIL(CODE_MISSING))
for submit in definition["submits"]:
if not isinstance(submit, dict):
for prompt in definition["prompts"]:
if not isinstance(prompt, dict):
return(FAIL(CODE_MISSING))
change[player["uid"]] = definition
#===========================================
#Update roles and submits on server
#Update roles and prompts on server
for uid in change:
submitString = base64.standard_b64encode(json.dumps(change[uid]["submits"]).encode("ascii")).decode("utf-8")
db(db.Player.id == uid).update(role=change[uid]["role"], submits=submitString)
promptString = base64.standard_b64encode(json.dumps(change[uid]["prompts"]).encode("ascii")).decode("utf-8")
db(db.Player.id == uid).update(role=change[uid]["role"], inputs=promptString)
#Update roles on clients
websocket_response = base64.standard_b64encode(json.dumps(change).encode("ascii")).decode("utf-8")
......
......@@ -4,7 +4,7 @@ db.define_table(
Field('hashcode', 'string', notnull=True),
Field('name', 'string', notnull=True),
Field('role', 'string', default="idle"),
Field('submits', 'string', default=base64.standard_b64encode(b'[]'), notnull=True),
Field('prompts', 'string', default=base64.standard_b64encode(b'[]'), notnull=True),
Field('creation', 'datetime', default=request.now, notnull=True)
)
......
function render(_name, _role, _roles){
function render(_role, _roles){
if(_role in _roles) {
renderRole(_roles[_role], _roles["idle"]);
......@@ -47,7 +47,7 @@ function renderRole(_definition, _roleIdle) {
$("#game_content").html("");
var currentSubmit = submits[submitcount];
var prompt = prompts[currentPrompt];
for(var index in elements) {
......@@ -58,10 +58,10 @@ function renderRole(_definition, _roleIdle) {
var name = element["name"];
var value = element["value"];
if(currentSubmit){
for(var varname in currentSubmit){
if(prompt){
for(var varname in prompt){
while(value.indexOf("$"+varname) != -1){
value = value.replace("$"+varname, currentSubmit[varname]);
value = value.replace("$"+varname, prompt[varname]);
}
}
}
......
......@@ -14,19 +14,19 @@
</div>
<script type="text/javascript">
var name = "{{=player_record.name}}";
var playerid = "{{=player_record.id}}";
const name = "{{=player_record.name}}";
const playerid = "{{=player_record.id}}";
var role = "{{=player_record.role}}";
var roles = JSON.parse(atob('{{=XML(room_record.roles)}}'));
var submits = JSON.parse(atob('{{=XML(player_record.submits)}}'));;
var submitcount = 0;
var prompts = JSON.parse(atob('{{=XML(player_record.prompts)}}'));;
var currentPrompt = 0;
</script>
{{block game_js}}{{end game_js}}
<script type="text/javascript">
$(document).ready(function(){
render(name, role, roles);
render(role, roles);
});
</script>
......
......@@ -25,15 +25,15 @@
role_definition = JSON.parse(atob(data));
if(playerid in role_definition) {
role = role_definition[playerid]["role"];
submits = role_definition[playerid]["submits"];
submitcount = 0;
prompts = role_definition[playerid]["prompts"];
currentPrompt = 0;
}
break;
default:
set_error("{{=T('Invalid WebSocket data received')}}: '" + type + "'");
return;
}
render(name, role, roles);
render(role, roles);
};
ws.onerror = function(e) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment