mirror of
https://github.com/logsol/chuck.js.git
synced 2026-05-11 10:37:34 +00:00
Moved menu to require.js style, ref #77
This commit is contained in:
parent
2213a50623
commit
1a6d8effad
4 changed files with 81 additions and 83 deletions
|
|
@ -1,5 +1,61 @@
|
||||||
if(!Chuck) var Chuck = {};
|
define([
|
||||||
(function(Chuck) {
|
"Lib/Utilities/ColorConverter"
|
||||||
|
],
|
||||||
|
|
||||||
|
function (ColorConverter) {
|
||||||
|
|
||||||
|
var instance = null
|
||||||
|
|
||||||
|
function Menu() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Menu.prototype.init = function() {
|
||||||
|
instance = this; // Dum und Dümmer
|
||||||
|
|
||||||
|
if(localStorage["player"]) {
|
||||||
|
var player = JSON.parse(localStorage["player"]);
|
||||||
|
if(player.nickname) {
|
||||||
|
$("#nick").value = player.nickname;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(localStorage["customname"]) {
|
||||||
|
$("#customname").value = localStorage["customname"];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$("#refresh").onclick = refresh;
|
||||||
|
refresh();
|
||||||
|
populateMaps();
|
||||||
|
var channelDestructionTimeout = null;
|
||||||
|
var refreshInterval = setInterval(refresh, 5000);
|
||||||
|
|
||||||
|
$("#createbutton").onclick = function() {
|
||||||
|
show('#createform');
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
$("#quickstartbutton").onclick = quickstart;
|
||||||
|
|
||||||
|
var cancelButtons = $$(".cancel");
|
||||||
|
for (var i = 0; i < cancelButtons.length; i++) {
|
||||||
|
cancelButtons[i].onclick = function() {
|
||||||
|
show('#listform');
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
this.colorConverter = new ColorConverter();
|
||||||
|
var c = $("#nick");
|
||||||
|
c.onchange = c.onkeyup = c.onblur = c.onclick = this.updatePrimaryColor.bind(this);
|
||||||
|
this.updatePrimaryColor({target:c});
|
||||||
|
};
|
||||||
|
|
||||||
|
Menu.prototype.updatePrimaryColor = function(e) {
|
||||||
|
$("#primarycolor").style.backgroundColor = "#" + this.colorConverter.getColorByName(e.target.value).toString(16);
|
||||||
|
};
|
||||||
|
|
||||||
|
Menu.prototype.onRun = function(channelName, nickname) {}
|
||||||
|
|
||||||
window.onhashchange = function() {
|
window.onhashchange = function() {
|
||||||
if(window.location.hash) {
|
if(window.location.hash) {
|
||||||
|
|
@ -28,17 +84,6 @@ if(!Chuck) var Chuck = {};
|
||||||
return document.querySelectorAll(selector);
|
return document.querySelectorAll(selector);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(localStorage["player"]) {
|
|
||||||
var player = JSON.parse(localStorage["player"]);
|
|
||||||
if(player.nickname) {
|
|
||||||
$("#nick").value = player.nickname;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(localStorage["customname"]) {
|
|
||||||
$("#customname").value = localStorage["customname"];
|
|
||||||
}
|
|
||||||
|
|
||||||
var lastRefreshResponse;
|
var lastRefreshResponse;
|
||||||
function refresh(callback) {
|
function refresh(callback) {
|
||||||
|
|
||||||
|
|
@ -57,36 +102,6 @@ if(!Chuck) var Chuck = {};
|
||||||
console.error("getChannels error: ", responseText)
|
console.error("getChannels error: ", responseText)
|
||||||
});
|
});
|
||||||
|
|
||||||
/*
|
|
||||||
try {
|
|
||||||
var xhr = new XMLHttpRequest();
|
|
||||||
xhr.onreadystatechange = function() {
|
|
||||||
if(xhr.readyState == 4) {
|
|
||||||
if(xhr.status == 200) {
|
|
||||||
|
|
||||||
var response = xhr.responseText;
|
|
||||||
if(response != lastRefreshResponse) {
|
|
||||||
lastRefreshResponse = response;
|
|
||||||
populate(JSON.parse(response).success);
|
|
||||||
}
|
|
||||||
document.body.className = "";
|
|
||||||
|
|
||||||
if(typeof callback == 'function') {
|
|
||||||
callback(JSON.parse(response).success)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.error("Ajax error: " + xhr.status + " " + xhr.responseText)
|
|
||||||
$("#list").innerHTML = "";
|
|
||||||
document.body.className = "offline";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
xhr.open("POST", "/api", true);
|
|
||||||
xhr.send(JSON.stringify({command:"getChannels"}));
|
|
||||||
} catch(e) {
|
|
||||||
console.error(e)
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -229,6 +244,7 @@ if(!Chuck) var Chuck = {};
|
||||||
join(nickname, defaultChannelName);
|
join(nickname, defaultChannelName);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
function startTimer(seconds) {
|
function startTimer(seconds) {
|
||||||
|
|
@ -328,7 +344,7 @@ if(!Chuck) var Chuck = {};
|
||||||
//window.location.href = "/game.html";
|
//window.location.href = "/game.html";
|
||||||
$("#menu").style.display = "none";
|
$("#menu").style.display = "none";
|
||||||
$("#game").style.display = "block";
|
$("#game").style.display = "block";
|
||||||
Chuck.run(channelName, nickname);
|
instance.onRun(channelName, nickname); // Dumm und dümmer
|
||||||
|
|
||||||
if(refreshInterval) {
|
if(refreshInterval) {
|
||||||
clearInterval(refreshInterval);
|
clearInterval(refreshInterval);
|
||||||
|
|
@ -364,35 +380,9 @@ if(!Chuck) var Chuck = {};
|
||||||
console.log(responseText)
|
console.log(responseText)
|
||||||
alert(JSON.parse(responseText).error)
|
alert(JSON.parse(responseText).error)
|
||||||
});
|
});
|
||||||
|
|
||||||
/*
|
|
||||||
var xhr = new XMLHttpRequest();
|
|
||||||
xhr.onreadystatechange = function() {
|
|
||||||
if(xhr.readyState == 4) {
|
|
||||||
if(xhr.status == 200) {
|
|
||||||
if(typeof callback == 'function') {
|
|
||||||
callback(JSON.parse(xhr.responseText).success);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.log(xhr.responseText)
|
|
||||||
alert(JSON.parse(xhr.responseText).error)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
xhr.open("POST", "/api", true);
|
|
||||||
xhr.send(JSON.stringify({command:"createChannel", options: options}));
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$("#refresh").onclick = refresh;
|
return Menu;
|
||||||
refresh();
|
|
||||||
populateMaps();
|
|
||||||
var channelDestructionTimeout = null;
|
|
||||||
var refreshInterval = setInterval(refresh, 5000);
|
|
||||||
|
|
||||||
Chuck.menu = {
|
});
|
||||||
show: show,
|
|
||||||
quickstart: quickstart
|
|
||||||
}
|
|
||||||
})(Chuck);
|
|
||||||
|
|
@ -14,12 +14,13 @@ requirejs([
|
||||||
"Lib/Vendor/SocketIO",
|
"Lib/Vendor/SocketIO",
|
||||||
"Game/Config/Settings",
|
"Game/Config/Settings",
|
||||||
"Lib/Utilities/Exception",
|
"Lib/Utilities/Exception",
|
||||||
"Lib/Vendor/Pixi"
|
"Menu/Menu"
|
||||||
],
|
],
|
||||||
|
|
||||||
function (Networker, SocketIO, Settings, Exception, PIXI) {
|
function (Networker, SocketIO, Settings, Exception, Menu) {
|
||||||
|
|
||||||
Chuck.run = function(channelName, nickname) {
|
var menu = new Menu();
|
||||||
|
menu.onRun = function(channelName, nickname) {
|
||||||
var options = {
|
var options = {
|
||||||
"reconnect": false,
|
"reconnect": false,
|
||||||
"reconnection delay": 500,
|
"reconnection delay": 500,
|
||||||
|
|
@ -35,4 +36,5 @@ function (Networker, SocketIO, Settings, Exception, PIXI) {
|
||||||
Chuck.inspector.settings = Settings;
|
Chuck.inspector.settings = Settings;
|
||||||
Chuck.inspector.resetLevel = function() { networker.sendGameCommand("resetLevel"); }
|
Chuck.inspector.resetLevel = function() { networker.sendGameCommand("resetLevel"); }
|
||||||
}
|
}
|
||||||
|
menu.init();
|
||||||
});
|
});
|
||||||
|
|
@ -40,6 +40,12 @@ input, button {
|
||||||
text-transform: capitalize;
|
text-transform: capitalize;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#primarycolor {
|
||||||
|
padding: 0.3em;
|
||||||
|
width: 1em;
|
||||||
|
background-color: black;
|
||||||
|
}
|
||||||
|
|
||||||
article#menu {
|
article#menu {
|
||||||
margin: 4em auto;
|
margin: 4em auto;
|
||||||
background: #1a1a1a;
|
background: #1a1a1a;
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
<label>
|
<label>
|
||||||
Nickname:<br>
|
Nickname:<br>
|
||||||
<input id="nick" name="nick" type="text">
|
<input id="nick" name="nick" type="text">
|
||||||
|
<input id="primarycolor">
|
||||||
</label>
|
</label>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
@ -33,7 +34,7 @@
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<button>Create</button>
|
<button>Create</button>
|
||||||
<button onclick="Chuck.menu.show('#listform'); return false;">Cancel</button>
|
<button class="cancel">Cancel</button>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
@ -48,7 +49,7 @@
|
||||||
<p>
|
<p>
|
||||||
<button>Join</button>
|
<button>Join</button>
|
||||||
<span id="timeout"></span>
|
<span id="timeout"></span>
|
||||||
<button onclick="Chuck.menu.show('#listform'); return false;">Cancel</button>
|
<button class="cancel">Cancel</button>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|
@ -65,8 +66,8 @@
|
||||||
</table>
|
</table>
|
||||||
<p>
|
<p>
|
||||||
<button id="refresh">Refresh list</button>
|
<button id="refresh">Refresh list</button>
|
||||||
<button onclick="Chuck.menu.show('#createform'); return false;">Create</button>
|
<button id="createbutton">Create</button>
|
||||||
<button onclick="Chuck.menu.quickstart(); return false;">Quickstart</button>
|
<button id="quickstartbutton">Quickstart</button>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
</article>
|
</article>
|
||||||
|
|
@ -76,7 +77,6 @@
|
||||||
<canvas id="canvas"></canvas>
|
<canvas id="canvas"></canvas>
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
<script type="text/javascript" src="/static/js/menu.js"></script>
|
|
||||||
<script data-main="client" src="require.js"></script>
|
<script data-main="client" src="require.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue