From 8c4723ea299452046df21da1d0b50f99efd9e044 Mon Sep 17 00:00:00 2001 From: Max Robinson Date: Mon, 30 Aug 2021 18:53:36 -0500 Subject: [PATCH] fixed grid sizing, added hotkey --- src/Controllers/ControlPanel.js | 24 ++++++++++++++++++++++-- src/Environments/WorldEnvironment.js | 10 +++++----- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/Controllers/ControlPanel.js b/src/Controllers/ControlPanel.js index 5936fb7..e283874 100644 --- a/src/Controllers/ControlPanel.js +++ b/src/Controllers/ControlPanel.js @@ -20,13 +20,33 @@ class ControlPanel { } defineMinMaxControls(){ - $('#minimize').click ( function() { + this.control_panel_active = true; + this.no_hud = false; + $('#minimize').click ( () => { $('.control-panel').css('display', 'none'); $('.hot-controls').css('display', 'block'); + this.control_panel_active = false; }); - $('#maximize').click ( function() { + $('#maximize').click ( () => { $('.control-panel').css('display', 'grid'); $('.hot-controls').css('display', 'none'); + this.control_panel_active = true; + }); + const V_KEY = 118; + $('body').keypress( (e) => { + if (e.which === V_KEY) { + if (this.no_hud) { + let control_panel_display = this.control_panel_active ? 'grid' : 'none'; + let hot_control_display = !this.control_panel_active ? 'block' : 'none'; + $('.control-panel').css('display', control_panel_display); + $('.hot-controls').css('display', hot_control_display); + } + else { + $('.control-panel').css('display', 'none'); + $('.hot-controls').css('display', 'none'); + } + this.no_hud = !this.no_hud; + } }); } diff --git a/src/Environments/WorldEnvironment.js b/src/Environments/WorldEnvironment.js index dbca6a4..26a73c1 100644 --- a/src/Environments/WorldEnvironment.js +++ b/src/Environments/WorldEnvironment.js @@ -12,8 +12,8 @@ class WorldEnvironment extends Environment{ super(); this.renderer = new Renderer('env-canvas', 'env', cell_size); this.controller = new EnvironmentController(this, this.renderer.canvas); - var grid_rows = Math.floor(this.renderer.height / cell_size); - var grid_cols = Math.floor(this.renderer.width / cell_size); + var grid_rows = Math.ceil(this.renderer.height / cell_size); + var grid_cols = Math.ceil(this.renderer.width / cell_size); this.grid_map = new GridMap(grid_cols, grid_rows, cell_size); this.organisms = []; this.walls = []; @@ -23,7 +23,7 @@ class WorldEnvironment extends Environment{ this.reset_count = 0; } - update(delta_time) { + update() { var to_remove = []; for (var i in this.organisms) { var org = this.organisms[i]; @@ -132,8 +132,8 @@ class WorldEnvironment extends Environment{ resizeFillWindow(cell_size) { this.renderer.cell_size = cell_size; this.renderer.fillWindow('env'); - var cols = Math.floor(this.renderer.width / cell_size); - var rows = Math.floor(this.renderer.height / cell_size); + var cols = Math.ceil(this.renderer.width / cell_size); + var rows = Math.ceil(this.renderer.height / cell_size); this.grid_map.resize(cols, rows, cell_size); this.reset(); }