/* MatCat BrowserLogic Simulator */ let Version = "0.3.1"; let spanVersion = document.getElementById("version"); spanVersion.innerText = Version; // get the canvas and get the engine object going let lCanvasElement = document.getElementById("LogicPlane"); let logicEngine = new LogicEngine(lCanvasElement); // Get the game Tick going, this will be 4ms for now which is the fastest that is supported // by the HTML5 spec! setInterval(logicEngine.Scheduler.Tick.bind(logicEngine.Scheduler), 4); window.addEventListener('resize', function(evt) { logicEngine.Resize(evt); }, false); window.addEventListener('keydown', function(evt) { logicEngine.Key_Press(evt); }, false); lCanvasElement.addEventListener('mousedown', function(evt) { logicEngine.Mouse_Down(evt); }, false); lCanvasElement.addEventListener('mouseup', function(evt) { logicEngine.Mouse_Up(evt); }, false); window.addEventListener('mousemove', function(evt) { logicEngine.Mouse_Move(evt); }, false); // Get the engine going logicEngine.StartEngine(); BuildToolbox(); // Setup interface buttons let btn_CloseWelcome = document.getElementById("btn_CloseWelcome"); btn_CloseWelcome.addEventListener('click', function(evt) { let WelcomeScreen = document.getElementById("WelcomeWindow"); let DarkOverlay = document.getElementById("darkout-overlay"); WelcomeScreen.style.display = "none"; DarkOverlay.style.display = "none"; let chk_dontDisplayWelcome = document.getElementById("chk_dontDisplayWelcome"); if (chk_dontDisplayWelcome.checked) { setCookie("hidewelcomescreen","true",3600); } }, false); let btn_Save = document.getElementById("btn_Save"); btn_Save.addEventListener('click', function(evt) { download("mydeign.LogicParts",createSaveState(logicEngine.ActiveContainer)); }); let file_Load = document.getElementById("file_Load"); let btn_Load = document.getElementById("btn_Load"); btn_Load.addEventListener('click', function(evt) { file_Load.click(); }); file_Load.addEventListener('change', function(evt) { let fread = new FileReader(); fread.onload = (function (theFile) { return function (e) { try { let restoredata = JSON.parse(e.target.result); if (!loadsave(restoredata)) { alert("Bad file!"); } } catch (ex) { alert("Bad file!"); } } })(evt.target.files[0]); fread.readAsText(evt.target.files[0]); }, false); CheckForWelcomeCookie();