Add support for other servers

This commit is contained in:
2023-09-05 19:55:07 -07:00
parent 7028439206
commit 33e9038343
2 changed files with 30 additions and 7 deletions

View File

@ -11,25 +11,34 @@
RUNIC
</h1>
<input id="runic_username" class="username" placeholder="Username" maxlength="16"><br>
<input id="runic_server_url" class="username" placeholder="example.com:8080"><br>
<input type="button" class="play" onclick="play()" value="PLAY">
</div>
<script>
var usernameinput = document.getElementById("runic_username");
var urlinput = document.getElementById("runic_server_url");
function play() {
var username = usernameinput.value;
if (username != "") {
/*if (username != "") {
window.location = "game.html" + "?name=" + username;
}
else {
window.location = "game.html";
}*/
let parameters = new String();
if (usernameinput.value != "") {
parameters += "?name=" + usernameinput.value;
}
if (urlinput.value != "") {
parameters += "&?server_url=" + urlinput.value;
}
window.location = "game.html" + parameters;
}
usernameinput.addEventListener("keypress", function(event) {
if (event.key === "Enter") {
event.preventDefault();
play();
}
});
});
</script>
</body>
</html>
</html>

View File

@ -18,15 +18,29 @@ var username;
//set name from URL
try {
let URL = window.location.search;
params = new URLSearchParams(URL);
let params = new URLSearchParams(URL);
username = params.get("name"); //this will get foo from <url>?name=foo
if (username === null) {
username = "Anonymous";
}
}
catch(err) {
console.error("Failed to get name from url", err);
console.error("Failed to get username from URL parameters", err);
}
var server_url;
try {
let URL = window.location.search;
params = new URLSearchParams(URL);
server_url = "ws://" + params.get("server_url");
if (server_url === "ws://null"/*Javascript why*/) {
server_url = "ws://" + "localhost:8080";
}
}
catch(err) {
console.error("Failed to get server from URL parameters", err);
}
var game_data = {
"character": {
"variants": [
@ -219,7 +233,7 @@ function game_tick(delta) {
function render_characters() {
let ctx = canvas.getContext("2d");
characters.forEach(function(itr, idx) {
ctx.save();
ctx.save();
let character_position = global_to_canvas(itr.position);
ctx.translate(character_position.x, character_position.y);
ctx.rotate(itr.rotation);