UNPKG

visual-js

Version:

[3.0.26] Prepare for npm usage. Special integration for matrix engine 1.9.0 Thunder.

1,405 lines (1,143 loc) 423 kB
(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ "use strict"; var _manifest = _interopRequireDefault(require("./manifest/manifest")); var _proto_modify = _interopRequireDefault(require("./lib/proto_modify")); var _audio = _interopRequireDefault(require("./lib/audio/audio")); var _system = _interopRequireDefault(require("./lib/system")); var _program_modul = require("./lib/program_modul"); var _onresize = require("./lib/events/onresize"); var _ml = _interopRequireDefault(require("./lib/multilanguage/ml")); var _editor = require("./lib/editor/editor"); var _init = require("./lib/init"); var _math = require("./lib/math"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // ONLY WHEN EDITOR IS ACTIVE! // runEditor(); (0, _proto_modify.default)(); window.SYS = _system.default; // Run Instance from here _system.default.DOM.CREATE_SURFACE("SURF", "HELLO_WORLD", 100, 99.4, "DIAMETRIC"); HELLO_WORLD.ENGINE.EXIT_EDIT_MODE(); HELLO_WORLD.ENGINE.CREATE_MODUL("STARTER"); var SMODULE = HELLO_WORLD.ENGINE.MODULES.ACCESS_MODULE("STARTER"); _system.default.SCRIPT.LOAD("res/audio/resource.audio.js", false).then(test => { _system.default.SCRIPT.LOAD("res/animations/resource.js", false); _system.default.SCRIPT.LOAD('./examples/templates/paths.js', true).then(test => { console.log("You can still add some post script!!!"); }); }); // Keyboard // ONLY WHEN EDITOR IS ACTIVE! // CREATE_SYSTEM_BUTTONS(); (0, _onresize.attachResize)(); // ONLY WHEN EDITOR IS DEACTIVE AND AFTER BUILD! // SYS.SCRIPT.LOAD('starter/visual.js', true).then((test)=> { // console.log("You can still add some post script") // console.log("Write yor code here!") // }) addEventListener("postScriptReady", e => { console.log("EVENT<postScriptReady>"); console.log("Object from editor are defined here ->", ssss); // You need to exit editor now _manifest.default.EDITOR = false; HELLO_WORLD.ENGINE.EXIT_EDIT_MODE(); ssss.POSITION.TRANSLATE_BY_X(2); }); window.ML = _ml.default; window.APPLICATION = _manifest.default; // ONLY WHEN EDITOR IS ACTIVE! // GET_ALL_GAME_OBJECTS(); },{"./lib/audio/audio":2,"./lib/editor/editor":6,"./lib/events/onresize":10,"./lib/init":13,"./lib/math":14,"./lib/multilanguage/ml":16,"./lib/program_modul":19,"./lib/proto_modify":20,"./lib/system":21,"./manifest/manifest":22}],2:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AUDIO_RES = AUDIO_RES; /** * @class AUDIO_RES * @constructor * @param res */ function AUDIO_RES(res) { var ROOT_AUDIO = this; this.res = AUDIO_RESOURCE.source; this.SOUNDS = []; this.SOUNDS_NAMES = []; this.CREATE_AUDIO_OBJECT_FROM_RESOURCE = function () { for (var i = 0; i < AUDIO_RESOURCE.source.length; i++) { var audio_ = new Audio("res/audio/" + AUDIO_RESOURCE.source[i]); var local1 = AUDIO_RESOURCE.source[i].replace(".ogg", ""); var local1 = local1.replace(".mp3", ""); window["audio_object_" + local1] = audio_; ROOT_AUDIO.SOUNDS_NAMES.push(window["play_" + local1]); ROOT_AUDIO.SOUNDS.push(audio_); //audio_.play(); } ROOT_AUDIO.SOUNDS_NAMES.PLAY = function (name) {}; }; ROOT_AUDIO.CREATE_AUDIO_OBJECT_FROM_RESOURCE(); } },{}],3:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ANIMATION = ANIMATION; var _manifest = _interopRequireDefault(require("../../manifest/manifest")); var _init = require("../init"); var _system = _interopRequireDefault(require("../system")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * ANIMATION * @example new ANIMATION() * @class ANIMATION * @constructor * @param {context2d} surf * @param {String} TYPE_ * @param radius FrameIndex * @param {String} source * @param PARENT * @param ID * @param {yes} blink_ Every other value returns false (No blink) * @param {number} min_ * @param {number} max_ * @param {number} step * @param {number} speed_ * @param {number} opacity_ * @return nothing * * @constructor * @param {String} Name name is passed value for modul name. * @param {String} Name name is passed value for modul name. */ function ANIMATION(surf, TYPE_, FrameIndex, source, PARENT, ID, blink_, min_, max_, step, speed_, opacity_) { var SURFACE = surf; this.TYPE = TYPE_; this.DRAW_TYPE = "PARENT"; this.ROTATE = { ENABLE: true, ANGLE: 0 //new SYS.MATH.OSCILLATOR(0, 360 , 0.1) }; if (speed_ !== undefined) { this.speed = speed_; this.initial_speed = speed_; } else { this.speed = null; } if (blink_ == "yes") { this.blink = new OSCILLATOR(min_, max_, step); } else { this.blink = null; } if (ID === undefined) { var local1 = _system.default.MATH.RANDOM_INT_FROM_TO(1, 666); var local2 = _system.default.MATH.RANDOM_INT_FROM_TO(666, 1234); this.ID = "ID" + (local1 + local2) + local2 * 66; } else { this.ID = ID; } // Add offset this.X = function () { return PARENT.POSITION.X(); }; this.Y = function () { return PARENT.POSITION.Y(); }; this.W = function () { return PARENT.DIMENSION.WIDTH(); }; this.H = function () { return PARENT.DIMENSION.HEIGHT(); }; // OK for (var x = 0; x < source.source.length; x++) { window["f_" + this.ID + x] = new Image(); if (_manifest.default.IMAGE_LOADER_PREFIX == true) { window["f_" + this.ID + x].src = "res/animations/" + source.source[x]; } else { window["f_" + this.ID + x].src = source.source[x].toString(); } window["f_" + this.ID + x].onload = function () { _system.default.RES.SUM_OF_LOADED_IMAGES++; }; } this.NUMBERS_OF_FRAMES = source.source.length; if (FrameIndex == null) { this.CURRENT_FRAME = 0; } else { this.CURRENT_FRAME = FrameIndex; } this.SET_SPEED = function (new_speed) { if (typeof new_speed != "undefined" && new_speed != null || typeof new_speed != "number") { this.initial_speed = new_speed; } else { _system.default.DEBUG.WARNING(" SPEED ARRGS must be number ."); } }; this.DRAW = function (x_, y_, w_, h_, blink_status) { if (blink_status == "yes") { SURFACE.globalAlpha = Math.sin(this.blink.UPDATE()); } if (this.TYPE == "LOOP") { if (this.DRAW_TYPE == "PARENT") { if (this.ROTATE.ENABLE == false) { SURFACE.drawImage(window["f_" + this.ID + this.CURRENT_FRAME], this.X(), this.Y(), this.W(), this.H()); } else { (0, _init.drawRotatedImage)(window["f_" + this.ID + this.CURRENT_FRAME], this.X(), this.Y(), _system.default.MATH.TO_RADIANS(this.ROTATE.ANGLE), this.W(), this.H(), SURFACE); } } else if (this.DRAW_TYPE == "DIRECT") { SURFACE.drawImage(window["f_" + this.ID + this.CURRENT_FRAME], x_, y_, w_, h_); } else { _system.default.DOM.WARN("error in draw loop , class animator with id:" + this.ID + " " + this.CURRENT_FRAME + "<"); } if (this.CURRENT_FRAME < this.NUMBERS_OF_FRAMES - 1) { if (this.speed == null) { this.CURRENT_FRAME++; } else { if (this.speed > 0) { this.speed--; } else { this.CURRENT_FRAME++; this.speed = this.initial_speed; } } } else { this.CURRENT_FRAME = 0; } } else if (this.TYPE == "DRAW_FRAME") { if (this.DRAW_TYPE == "PARENT" && this.CURRENT_FRAME < this.NUMBERS_OF_FRAMES) { if (this.ROTATE.ENABLE == false) { SURFACE.drawImage(window["f_" + this.ID + this.CURRENT_FRAME], this.X(), this.Y(), this.W(), this.H()); } else { (0, _init.drawRotatedImage)(window["f_" + this.ID + this.CURRENT_FRAME], this.X(), this.Y(), _system.default.MATH.TO_RADIANS(this.ROTATE.ANGLE), this.W(), this.H(), SURFACE); } } else if (this.DRAW_TYPE == "DIRECT" && this.CURRENT_FRAME < this.NUMBERS_OF_FRAMES) { SURFACE.drawImage(window["f_" + this.ID + this.CURRENT_FRAME], this.X(), this.Y(), this.W(), this.H()); } else { _system.default.DEBUG.WARNING("error in animation draw procedure , class animator says : type is DRAW FRAME . this is id : " + this.ID + ">>>may be > this.CURRENT_FRAME<this.NUMBERS_OF_FRAMES is not true , Also DRAW_TYPE must be PARENT or DIRECT!"); } } SURFACE.globalAlpha = 1; }; } },{"../../manifest/manifest":22,"../init":13,"../system":21}],4:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RECT = RECT; var _init = require("../init"); /** * @class RECT * @constructor * @param TEXT * @param ROOT_GAME_OBJECT * @param radius color * @param colorText */ function RECT(TEXT, ROOT_GAME_OBJECT, radius, color, colorText) { //this.FOCUS = false; this.TEXT_ANGLE = 0; this.TEXT_COLOR = colorText; this.TEXT_ALIGN = "center"; this.TEXT = TEXT; this.EDIT = true; this.BACKGROUND_OPACITY = 0.5; this.TEXT_OPACITY = 1; this.textBaseline = "middle"; this.textResizeByWidth = false; this.POSITION = ROOT_GAME_OBJECT.POSITION; this.DIMENSION = ROOT_GAME_OBJECT.DIMENSION; this.x = function () { return POSITION.X(); }; this.y = function () { return POSITION.Y(); }; this.width = function () { return this.DIMENSION.WIDHT(); }; this.height = function () { return this.DIMENSION.HEIGHT(); }; this.radius = parseFloat(radius); this.color = color; this.border_color = "rgba(121,121,222,0.9)"; this.border_on_focus_color = "blue"; this.border_on_focus_width_line = 5; this.font = "20px Arial"; this.DRAW = function (s) { s.save(); s.globalAlpha = this.BACKGROUND_OPACITY; (0, _init.roundedRect)(s, "", this.POSITION.X(), this.POSITION.Y(), this.DIMENSION.WIDTH(), this.DIMENSION.HEIGHT(), this.radius, this.color); s.textBaseline = this.textBaseline; if (ROOT_GAME_OBJECT.FOCUS == true) { s.lineWidth = this.border_on_focus_width_line; s.fillStyle = this.border_on_focus_color; (0, _init.roundedRect)(s, "", this.POSITION.X(), this.POSITION.Y(), this.DIMENSION.WIDTH(), this.DIMENSION.HEIGHT(), this.radius, this.color, "stroke", this.border_color); } else { s.lineWidth = this.border_width_line; s.fillStyle = this.border_color; (0, _init.roundedRect)(s, "", this.POSITION.X(), this.POSITION.Y(), this.DIMENSION.WIDTH(), this.DIMENSION.HEIGHT(), this.radius, this.color, "stroke", this.border_color); } s.textAlign = this.TEXT_ALIGN; s.font = this.font; s.fillStyle = this.TEXT_COLOR; s.globalAlpha = this.TEXT_OPACITY; if (this.textResizeByWidth == false) { (0, _init.drawRotatedTextNoSkrech)(s, this.TEXT, this.POSITION.X(), this.POSITION.Y(), this.TEXT_ANGLE, this.DIMENSION.WIDTH(), this.DIMENSION.HEIGHT()); } else { drawRotatedText(s, this.TEXT, this.POSITION.X(), this.POSITION.Y(), this.TEXT_ANGLE, this.DIMENSION.WIDTH(), this.DIMENSION.HEIGHT()); //s.textAlign = "start"; } s.restore(); }; } },{"../init":13}],5:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RIGHT_MENU_BUTTON = RIGHT_MENU_BUTTON; var _init = require("../init"); var _math = require("../math"); var _system = _interopRequireDefault(require("../system")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // WEB GUI function RIGHT_MENU_BUTTON(text, Y_OFFSET, id, res) { var ROOT = this; this.IAM = id; this.HOVER = false; this.Y_OFFSET = Y_OFFSET; this.text = text; this.icon = null; if (typeof res != "undefined") { var locName = "system_" + this.IAM.toString(); _system.default.RES.CREATE_IMG(locName, res); this.icon = true; } this.POSITION = { x: 0, y: 0, X: function () { return ROOT.POSITION.x; }, Y: function () { return ROOT.POSITION.y + ROOT.Y_OFFSET; } }, this.DIMENSION = new _math.DIMENSION(22, 2); this.TAP = function () {}; } },{"../init":13,"../math":14,"../system":21}],6:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ADD = ADD; exports.ADD_ANIMATION = ADD_ANIMATION; exports.ADD_COLLISION = ADD_COLLISION; exports.ADD_PARTICLE = ADD_PARTICLE; exports.ADD_TEXTBOX = ADD_TEXTBOX; exports.ADD_WEBCAM = ADD_WEBCAM; exports.CREATE_PLAYER = CREATE_PLAYER; exports.DEATACH_PLAYER = DEATACH_PLAYER; exports.DELETE_FROM_VISUAL_SCRIPTS = DELETE_FROM_VISUAL_SCRIPTS; exports.DESTROY = DESTROY; exports.DESTROY_DELAY = DESTROY_DELAY; exports.GET_ALL_GAME_OBJECTS = GET_ALL_GAME_OBJECTS; exports.REMOVE_COLLISION = REMOVE_COLLISION; exports.REMOVE_PARTICLE = REMOVE_PARTICLE; exports.REMOVE_TEXTBOX = REMOVE_TEXTBOX; exports.REMOVE_WEBCAM = REMOVE_WEBCAM; exports.SET_ANIMATION_SPEED = SET_ANIMATION_SPEED; exports.SET_ANIMATION_TYPE = SET_ANIMATION_TYPE; exports.SET_HEIGHT = SET_HEIGHT; exports.SET_MAIN_INTERVAL = SET_MAIN_INTERVAL; exports.SET_NEW_START_UP_POS = SET_NEW_START_UP_POS; exports.SET_WIDTH = SET_WIDTH; exports.runEditor = void 0; var _socket = require("socket.io-client"); var _system = _interopRequireDefault(require("../system")); var _manifest = _interopRequireDefault(require("../../manifest/manifest")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } console.log('\x1b[36m%s\x1b[0m', "......................................"); console.log('\x1b[36m%s\x1b[0m', ". ."); console.log('\x1b[36m%s\x1b[0m', ". Visual-js Editor ."); console.log('\x1b[36m%s\x1b[0m', ". Version 3.0.0 ."); console.log('\x1b[36m%s\x1b[0m', ". Thanks for using my software! ."); console.log('\x1b[36m%s\x1b[0m', "......................................"); var LOCAL_COMMUNICATOR; const runEditor = () => { LOCAL_COMMUNICATOR = {}; let testPromiseLoadedScript = []; if (_manifest.default.EDITOR_AUTORUN == true || _manifest.default.EDITOR == true) { LOCAL_COMMUNICATOR = _socket.io.connect("http://" + _manifest.default.LOCAL_SERVER + ":1013"); LOCAL_COMMUNICATOR.on("connect", function () { console.log("%c" + "Connected with Editor.", "background: #000; color: lime"); }); LOCAL_COMMUNICATOR.on("realtime", function (user, data) { if (data != "") { console.log("chat data empty", user, data); } else { console.log("chat data empty"); } }); function loadNext() { var src = testPromiseLoadedScript.shift(); if (typeof src === 'undefined') { const postScriptReady = new CustomEvent("postScriptReady", { detail: 'good' }); dispatchEvent(postScriptReady); return; } var s = document.createElement("script"); s.src = src; if (s.addEventListener) { s.addEventListener("load", loadNext, false); } else if (s.readyState) { s.onreadystatechange = loadNext; } document.body.appendChild(s); } LOCAL_COMMUNICATOR.on("RETURN", function (action, data, sumOfObjs) { if (action == "GET_ALL_GAME_OBJECTS") { console.log(data + "<GET_ALL_GAME_OBJECTS> nothing "); } else if (action == "LOAD_SCRIPT") { console.log(data + "<GET_ALL_GAME_OBJECTS> sumOfObjs ", sumOfObjs); if (testPromiseLoadedScript.length == sumOfObjs - 1) { // test - usually on page load // put all in array testPromiseLoadedScript.push(data); loadNext(); } else { testPromiseLoadedScript.push(data); } } else if (action == "LOAD_SCRIPT_AFTER_F5") {// } else if (action == "REFRESH") { location.reload(); } else if (action == "ERROR") { alert("Server says error:" + data); } }); } }; // EDITOR ACTIONS exports.runEditor = runEditor; function CALL_OR_WAIT(data) { var data = data; setTimeout(function () { _system.default.DEBUG.LOG(data + ""); if (typeof data != "undefined") { if (data.indexOf("a2") == -1) { setTimeout(function () { _system.default.DEBUG.LOG("VISUAL SCRIPT EDITOR ACTION EXECUTED!"); _system.default.SCRIPT.LOAD(data); }, 100); } else { _system.default.DEBUG.LOG("VISUAL SCRIPT EDITOR ACTION EXECUTED!"); _system.default.SCRIPT.LOAD(data); } } else { setTimeout(function () { CALL_OR_WAIT(data); }, 50); } }, 250); } function ADD(name, x, y, w, h, PROGRAM_NAME, MODUL) { LOCAL_COMMUNICATOR.emit("ADD_NEW_GAME_OBJECT", name, x, y, w, h, PROGRAM_NAME, MODUL); } function GET_ALL_GAME_OBJECTS() { LOCAL_COMMUNICATOR.emit("GET_ALL_GAME_OBJECTS"); } function DESTROY(name) { LOCAL_COMMUNICATOR.emit("DESTROY_GAME_OBJECT", name); } function DESTROY_DELAY(name, sec, MODUL, PROGRAM_NAME) { LOCAL_COMMUNICATOR.emit("DESTROY_GAME_OBJECT_WITH_DELAY", name, sec, MODUL, PROGRAM_NAME); } function SET_NEW_START_UP_POS(name, PROGRAM_NAME, MODUL, newX, newY, w, h) { LOCAL_COMMUNICATOR.emit("SET_NEW_START_UP_POSITION", name, PROGRAM_NAME, MODUL, newX, newY, w, h); } function ADD_ANIMATION(name, PROGRAM_NAME, MODUL, RES) { LOCAL_COMMUNICATOR.emit("ADD_ANIMATION", name, PROGRAM_NAME, MODUL, RES); } function SET_WIDTH(name, PROGRAM_NAME, MODUL, W) { LOCAL_COMMUNICATOR.emit("SET_WIDTH", name, PROGRAM_NAME, MODUL, W); } function SET_HEIGHT(name, PROGRAM_NAME, MODUL, H) { LOCAL_COMMUNICATOR.emit("SET_HEIGHT", name, PROGRAM_NAME, MODUL, H); } function SET_ANIMATION_SPEED(name, PROGRAM_NAME, MODUL, S) { LOCAL_COMMUNICATOR.emit("SET_ANIMATION_SPEED", name, PROGRAM_NAME, MODUL, S); } function SET_ANIMATION_TYPE(name, PROGRAM_NAME, MODUL, S) { LOCAL_COMMUNICATOR.emit("SET_ANIMATION_TYPE", name, PROGRAM_NAME, MODUL, S); } function ADD_COLLISION(name, PROGRAM_NAME, MODUL, margin) { LOCAL_COMMUNICATOR.emit("ADD_COLLISION", name, PROGRAM_NAME, MODUL, margin); } function REMOVE_COLLISION(name, PROGRAM_NAME, MODUL) { LOCAL_COMMUNICATOR.emit("REMOVE_COLLISION", name, PROGRAM_NAME, MODUL); } function CREATE_PLAYER(name, PROGRAM_NAME, MODUL, type__, index) { LOCAL_COMMUNICATOR.emit("ATACH_PLAYER", name, PROGRAM_NAME, MODUL, type__, index); } function DEATACH_PLAYER(name, PROGRAM_NAME, MODUL, type__) { LOCAL_COMMUNICATOR.emit("DEATACH_PLAYER", name, PROGRAM_NAME, MODUL, type__); } function ADD_PARTICLE(name, PROGRAM_NAME, MODUL, type__) { LOCAL_COMMUNICATOR.emit("ADD_PARTICLE", name, PROGRAM_NAME, MODUL, type__); } function REMOVE_PARTICLE(name, PROGRAM_NAME, MODUL) { LOCAL_COMMUNICATOR.emit("REMOVE_PARTICLE", name, PROGRAM_NAME, MODUL); } function ADD_TEXTBOX(name, PROGRAM_NAME, MODUL, text, radius, color, textcolor) { LOCAL_COMMUNICATOR.emit("ADD_TEXTBOX", name, PROGRAM_NAME, MODUL, text, radius, color, textcolor); } function REMOVE_TEXTBOX(name, PROGRAM_NAME, MODUL) { LOCAL_COMMUNICATOR.emit("REMOVE_TEXTBOX", name, PROGRAM_NAME, MODUL); } function ADD_WEBCAM(name, PROGRAM_NAME, MODUL, type_, type_of_dim, byV, byH) { LOCAL_COMMUNICATOR.emit("ADD_WEBCAM", name, PROGRAM_NAME, MODUL, type_, type_of_dim, byV, byH); } function REMOVE_WEBCAM(name, PROGRAM_NAME, MODUL) { LOCAL_COMMUNICATOR.emit("REMOVE_WEBCAM", name, PROGRAM_NAME, MODUL); } function SET_MAIN_INTERVAL(PROGRAM_NAME, d, u) { LOCAL_COMMUNICATOR.emit("SET_MAIN_INTERVAL", PROGRAM_NAME, d, u); } function DELETE_FROM_VISUAL_SCRIPTS(PROGRAM_NAME) { LOCAL_COMMUNICATOR.emit("DELETE_FROM_VISUAL_SCRIPTS", PROGRAM_NAME); } },{"../../manifest/manifest":22,"../system":21,"socket.io-client":51}],7:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ENGINE = ENGINE; var _game_object_events = require("./game_object/game_object_events"); var _keyboard = require("./events/keyboard"); var _systems = require("./draw_functions/systems"); var _manifest = _interopRequireDefault(require("../manifest/manifest")); var _init = require("./init"); var _modules = require("./modules/modules"); var _system = _interopRequireDefault(require("./system")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * @Description Instance of ENGINE class will handle all modules and * gameobjects. * @class ENGINE * @example Internal . Injected like property ENGINE intro PROGRAM object. * @constructor * @return {Any} nothing * */ function ENGINE(c) { var ROOT_ENGINE = this; // ONE PROGRAM ONE ENGINE //ENGINE WILL BE BIG SWITCHER this.PROGRAM_ID = c.id; if (_manifest.default.EDITOR == true) { this.ENGINE_EDITOR = true; } else { this.ENGINE_EDITOR = false; } //Events are part of engine this.EVENTS = new _game_object_events.EVENTS(c, ROOT_ENGINE); // destroy mem IMPORTANT events must be deatached at first time than set up to undefined . this.MODULES = new Array(); this.GAME_TYPE = "NO_PLAYER"; this.KEYBOARD = new _keyboard.KEYBOARD(c); this.EXIT_EDIT_MODE = function () { ROOT_ENGINE.ENGINE_EDITOR = false; for (var x = 0; x < ROOT_ENGINE.MODULES.length; x++) { for (var y = 0; y < ROOT_ENGINE.MODULES[x].GAME_OBJECTS.length; y++) { ROOT_ENGINE.MODULES[x].GAME_OBJECTS[y].EDITOR.ENABLE = false; } } }; this.GO_TO_EDIT_MODE = function () { ROOT_ENGINE.ENGINE_EDITOR = true; for (var x = 0; x < ROOT_ENGINE.MODULES.length; x++) { for (var y = 0; y < ROOT_ENGINE.MODULES[x].GAME_OBJECTS.length; y++) { ROOT_ENGINE.MODULES[x].GAME_OBJECTS[y].EDITOR.ENABLE = true; } } }; this.GUI = { VISIBLE: false, BUTTONS: [new _systems.RIGHT_MENU_BUTTON("Add new gameObject ", 0, "1"), new _systems.RIGHT_MENU_BUTTON("Exit edit mode", 20, "2"), new _systems.RIGHT_MENU_BUTTON("Set render speed", 40, "3"), new _systems.RIGHT_MENU_BUTTON("Switch AutoConnect to true", 60, "4", "res/system/images/html5/HTML5-Offline-Storage.png"), new _systems.RIGHT_MENU_BUTTON("Switch EditorAutoRun to true", 80, "5", "res/system/images/html5/HTML5-Offline-Storage.png"), new _systems.RIGHT_MENU_BUTTON("Clear All", 100, "6")], CHECK_ON_START: function () { if ((0, _init.LOAD)("Application") == false || (0, _init.LOAD)("Application") == null) { console.log("no cache data about application"); } else { var APPLICATION_CLONE = (0, _init.LOAD)("Application"); _manifest.default.EDITOR = APPLICATION_CLONE.EDITOR; _manifest.default.EDITOR_AUTORUN = APPLICATION_CLONE.EDITOR_AUTORUN; _manifest.default.STATUS = APPLICATION_CLONE.STATUS; _manifest.default.STATUS = APPLICATION_CLONE.STATUS; _manifest.default.IMAGE_LOADER_PREFIX = APPLICATION_CLONE.IMAGE_LOADER_PREFIX; _manifest.default.SYSTEM = APPLICATION_CLONE.SYSTEM; _manifest.default.LOCAL_SERVER = APPLICATION_CLONE.LOCAL_SERVER; _system.default.DEBUG.LOG("APPLICATION object was loaded from localstorage. " + _manifest.default.ACCOUNT_SERVICE_AUTO_RUN); if (_manifest.default.ACCOUNT_SERVICE_AUTO_RUN == true) { ROOT_ENGINE.GUI.BUTTONS[3].text = "Switch AutoConnect to false"; } else { ROOT_ENGINE.GUI.BUTTONS[3].text = "Switch AutoConnect to true"; } if (_manifest.default.EDITOR_AUTORUN == true) { ROOT_ENGINE.ENGINE_EDITOR = true; ROOT_ENGINE.GUI.BUTTONS[4].text = "Switch editorAutoRun to false"; } else { ROOT_ENGINE.ENGINE_EDITOR = false; ROOT_ENGINE.GUI.BUTTONS[4].text = "Switch editorAutoRun to true"; } } }, GRID: { VISIBLE: true, MAP_SIZE_X: 10, MAP_SIZE_Y: 10, STEP: 10, COLOR: _manifest.default.SYSTEM.HOVER_COLOR }, LIST_OF_OBJECTS: { VISIBLE: true, LIST: ROOT_ENGINE.MODULES, BUTTONS_MODULES: [], BUTTONS_GAME_OBJECTS: [], GET_MODULES: function (_give_me_reference_object_) { for (var s = 0; s < ROOT_ENGINE.MODULES.length; s++) { ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES.push(new _systems.RIGHT_MENU_BUTTON(ROOT_ENGINE.MODULES[s].NAME, 15 * s, s + 1)); ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[s].TAP = function () { //console.log(this.IAM) ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS = []; for (var w = 0; w < ROOT_ENGINE.MODULES[this.IAM - 1].GAME_OBJECTS.length; w++) { ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS.push(new _systems.RIGHT_MENU_BUTTON(ROOT_ENGINE.MODULES[this.IAM - 1].GAME_OBJECTS[w].NAME, 14 * w, w + 1)); ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[w].POSITION.x += 100; var _pass_name = ROOT_ENGINE.MODULES[this.IAM - 1].GAME_OBJECTS[w].NAME; ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[w]._pass_name = _pass_name; ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[w].TAP = function () { console.log("ON_PAGE EDITOR::::reference comes from : " + _give_me_reference_object_.NAME + " ::::::: reference for" + this._pass_name); window[_give_me_reference_object_.NAME]._REF = this._pass_name; console.log(">>>>>>>>" + window[_give_me_reference_object_.NAME].NAME + "::::::::::" + window[_give_me_reference_object_.NAME]._REF); window[_system.default.RUNNING_PROGRAMS[0]].ENGINE.GUI.LIST_OF_OBJECTS.REMOVE_LIST_OBJ_MODULES(); }; } }; } }, REMOVE_LIST_OBJ_MODULES: function () { ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES = []; ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS = []; } } }; this.GUI.LIST_OF_OBJECTS.GET_MODULES(); this.GUI.CHECK_ON_START(); this.DRAW_MODULES = function (s) { if (ROOT_ENGINE.GUI.GRID.VISIBLE == true && ROOT_ENGINE.ENGINE_EDITOR == true) { s.fillStyle = ROOT_ENGINE.GUI.GRID.COLOR; for (var x = 0; x < ROOT_ENGINE.GUI.GRID.MAP_SIZE_X * ROOT_ENGINE.GUI.GRID.STEP; x += ROOT_ENGINE.GUI.GRID.STEP) { s.fillRect(_init.VIEW.W(x), _init.VIEW.H(0), 1, _init.VIEW.H()); s.fillRect(_init.VIEW.W(0), _init.VIEW.H(x), _init.VIEW.W(), 1); } } for (var x = 0; x < ROOT_ENGINE.MODULES.length; x++) { ROOT_ENGINE.MODULES[x].DRAW_GAME_OBJECTS(s); } if (ROOT_ENGINE.ENGINE_EDITOR == true) { if (ROOT_ENGINE.GUI.VISIBLE == true) { s.save(); s.font = _manifest.default.SYSTEM.FONT; for (var x = 0; x < ROOT_ENGINE.GUI.BUTTONS.length; x++) { s.textBaseline = "bottom"; if (ROOT_ENGINE.GUI.BUTTONS[x].HOVER == false) { s.fillStyle = _manifest.default.SYSTEM.COLOR; s.fillRect(ROOT_ENGINE.GUI.BUTTONS[x].POSITION.X(), ROOT_ENGINE.GUI.BUTTONS[x].POSITION.Y(), ROOT_ENGINE.GUI.BUTTONS[x].DIMENSION.WIDTH(), 20); s.fillStyle = _manifest.default.SYSTEM.TEXT_COLOR; s.fillText(ROOT_ENGINE.GUI.BUTTONS[x].text, ROOT_ENGINE.GUI.BUTTONS[x].POSITION.X(), ROOT_ENGINE.GUI.BUTTONS[x].POSITION.Y() + 15, ROOT_ENGINE.GUI.BUTTONS[x].DIMENSION.WIDTH()); } else { s.fillStyle = _manifest.default.SYSTEM.HOVER_COLOR; s.fillRect(ROOT_ENGINE.GUI.BUTTONS[x].POSITION.X(), ROOT_ENGINE.GUI.BUTTONS[x].POSITION.Y(), ROOT_ENGINE.GUI.BUTTONS[x].DIMENSION.WIDTH(), 20); s.fillStyle = _manifest.default.SYSTEM.TEXT_COLOR; s.fillText(ROOT_ENGINE.GUI.BUTTONS[x].text, ROOT_ENGINE.GUI.BUTTONS[x].POSITION.X(), ROOT_ENGINE.GUI.BUTTONS[x].POSITION.Y() + 15, ROOT_ENGINE.GUI.BUTTONS[x].DIMENSION.WIDTH()); if (ROOT_ENGINE.GUI.BUTTONS[x].icon == true) { try { s.drawImage(window["image_system_" + ROOT_ENGINE.GUI.BUTTONS[x].IAM], ROOT_ENGINE.GUI.BUTTONS[x].POSITION.X() + ROOT_ENGINE.GUI.BUTTONS[x].DIMENSION.WIDTH() - 30, ROOT_ENGINE.GUI.BUTTONS[x].POSITION.Y() - 5, 30, 30); } catch (e) { /* Not nessesery */ } } } } s.restore(); } // for (var x = 0; x < ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES.length; x++) { s.textBaseline = "middle"; if (ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].HOVER == false) { s.fillStyle = _manifest.default.SYSTEM.COLOR; s.fillRect(ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].POSITION.X(), ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].POSITION.Y(), ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].DIMENSION.WIDTH(), ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].DIMENSION.HEIGHT()); s.fillStyle = _manifest.default.SYSTEM.TEXT_COLOR; s.fillText(ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].text, ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].POSITION.X(), ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].POSITION.Y() + ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].DIMENSION.HEIGHT() / 2, ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].DIMENSION.WIDTH()); } else { s.fillStyle = _manifest.default.SYSTEM.HOVER_COLOR; s.fillRect(ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].POSITION.X(), ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].POSITION.Y(), ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].DIMENSION.WIDTH(), ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].DIMENSION.HEIGHT()); s.fillStyle = _manifest.default.SYSTEM.COLOR; s.fillText(ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].text, ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].POSITION.X(), ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].POSITION.Y() + ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].DIMENSION.HEIGHT() / 2, ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_MODULES[x].DIMENSION.WIDTH()); } } for (var x = 0; x < ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS.length; x++) { s.textBaseline = "middle"; if (ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].HOVER == false) { s.fillStyle = _manifest.default.SYSTEM.COLOR; s.fillRect(ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].POSITION.X(), ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].POSITION.Y(), ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].DIMENSION.WIDTH(), ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].DIMENSION.HEIGHT()); s.fillStyle = _manifest.default.SYSTEM.TEXT_COLOR; s.fillText(ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].text, ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].POSITION.X(), ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].POSITION.Y() + ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].DIMENSION.HEIGHT() / 2, ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].DIMENSION.WIDTH()); } else { s.fillStyle = _manifest.default.SYSTEM.HOVER_COLOR; s.fillRect(ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].POSITION.X(), ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].POSITION.Y(), ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].DIMENSION.WIDTH(), ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].DIMENSION.HEIGHT()); s.fillStyle = _manifest.default.SYSTEM.COLOR; s.fillText(ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].text, ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].POSITION.X(), ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].POSITION.Y() + ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].DIMENSION.HEIGHT() / 2, ROOT_ENGINE.GUI.LIST_OF_OBJECTS.BUTTONS_GAME_OBJECTS[x].DIMENSION.WIDTH()); } } // } }; this.UPDATE_MODULES = function () { for (var x = 0; x < ROOT_ENGINE.MODULES.length; x++) { ROOT_ENGINE.MODULES[x].UPDATE_GAME_OBJECTS(); } }; this.CREATE_MODUL = function (name) { // window[name] = new MODUL(name); ROOT_ENGINE.MODULES.push(new _modules.MODUL(name, ROOT_ENGINE.PROGRAM_ID)); }; this.DESTROY_MODUL = function (name) { // window[name] = new MODUL(name); console.log(ROOT_ENGINE.MODULES.indexOf(name)); ROOT_ENGINE.MODULES.forEach(function (item, index, object) { // (item, index, object) if (item.NAME == name) { if (index > -1) { ROOT_ENGINE.MODULES.splice(index, 1); } console.log(ROOT_ENGINE.MODULES.indexOf(name)); } }); }; } },{"../manifest/manifest":22,"./draw_functions/systems":5,"./events/keyboard":8,"./game_object/game_object_events":12,"./init":13,"./modules/modules":15,"./system":21}],8:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.KEYBOARD = KEYBOARD; var _init = require("../init"); var _system = _interopRequireDefault(require("../system")); var _keyboard_editor = _interopRequireDefault(require("./keyboard_editor")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // PLAYER CONTROL AND OTHER KEYBOARD STAFF function KEYBOARD(c) { var ROOT = this; ROOT.CAPTURE_CHAR = ""; ROOT.CLEAR_CAPTURE_ON_PRESS_ENTER = true; ROOT.LAST_CAPTURE_CHAR = ""; ROOT.ENTER_PRESSED = false; ROOT.SHIFT_PRESSED = false; ROOT.ACTION_ON_KEY_DOWN = function () {}; this.CANVAS = c; this.PROGRAM_NAME = c.id; ROOT.keyboardListener = new _keyboard_editor.default(); c.addEventListener("keydown", function (e) { switch (e.keyCode) { case 8: e.preventDefault(); _system.default.DEBUG.LOG("prevent default for backspace."); } _system.default.DEBUG.LOG(" GAME RUNNING , key pressed: " + e.keyCode); if (typeof PLAYER != "undefined") { if (PLAYER.TYPE == "NORMAL") { switch (e.keyCode) { case 121: _system.default.DEBUG.LOG("F10 command -->> Show command line "); case 69: case 37: // left PLAYER.X = PLAYER.X - PLAYER.SPEED; PLAYER.POSITION.TRANSLATE_BY_X(PLAYER.X); break; case 38: // up PLAYER.Y = PLAYER.Y - PLAYER.SPEED; PLAYER.POSITION.TRANSLATE_BY_Y(PLAYER.Y); break; case 39: // right PLAYER.X = PLAYER.X + PLAYER.SPEED; PLAYER.POSITION.TRANSLATE_BY_X(PLAYER.X); break; case 40: // down PLAYER.Y = PLAYER.Y + PLAYER.SPEED; PLAYER.POSITION.TRANSLATE_BY_Y(PLAYER.Y); break; } } } // SPECIAL FOR TEXTBOX _system.default.DEBUG.LOG("KEYBOARD-->> Show users types : " + e.keyCode); var keynum; if (window.event) { keynum = e.keyCode; } else { if (e.which) { keynum = e.which; } } //console.log(String.fromCharCode(keynum)); if (e.keyCode == 16) { ROOT.SHIFT_PRESSED = true; } if (e.keyCode == 8) { _system.default.DEBUG.LOG("textbox delete last char!"); ROOT.CAPTURE_CHAR = (0, _init.remove_last)(ROOT.CAPTURE_CHAR); } else if (e.keyCode == 13) { ROOT.ENTER_PRESSED = true; } else { if (ROOT.SHIFT_PRESSED == false) { if (e.keyCode == 189) { ROOT.CAPTURE_CHAR += "_"; ROOT.LAST_CAPTURE_CHAR = "_"; } else if (e.keyCode == 187) { ROOT.CAPTURE_CHAR += "+"; ROOT.LAST_CAPTURE_CHAR = "+"; } else if (e.keyCode == 187) { ROOT.CAPTURE_CHAR += "+"; ROOT.LAST_CAPTURE_CHAR = "+"; } else if (e.keyCode == 188) { ROOT.CAPTURE_CHAR += ","; ROOT.LAST_CAPTURE_CHAR = ","; } else if (e.keyCode == 190) { ROOT.CAPTURE_CHAR += "."; ROOT.LAST_CAPTURE_CHAR = "."; } else if (e.keyCode == 191) { ROOT.CAPTURE_CHAR += "/"; ROOT.LAST_CAPTURE_CHAR = "/"; } else if (e.keyCode == 186) { ROOT.CAPTURE_CHAR += ";"; ROOT.LAST_CAPTURE_CHAR = ";"; } else if (e.keyCode == 222) { ROOT.CAPTURE_CHAR += "'"; ROOT.LAST_CAPTURE_CHAR = "'"; } else if (e.keyCode == 220) { ROOT.CAPTURE_CHAR += "\\"; ROOT.LAST_CAPTURE_CHAR = "\\"; } else if (e.keyCode == 219) { ROOT.CAPTURE_CHAR += "["; ROOT.LAST_CAPTURE_CHAR = "["; } else if (e.keyCode == 221) { ROOT.CAPTURE_CHAR += "]"; ROOT.LAST_CAPTURE_CHAR = "]"; } else { ROOT.CAPTURE_CHAR += String.fromCharCode(keynum).toLowerCase(); ROOT.LAST_CAPTURE_CHAR = String.fromCharCode(keynum).toLowerCase(); } } else { if (e.keyCode == 50) { ROOT.CAPTURE_CHAR += "@"; ROOT.LAST_CAPTURE_CHAR = "@"; } else if (e.keyCode == 49) { ROOT.CAPTURE_CHAR += "!"; ROOT.LAST_CAPTURE_CHAR = "!"; } else if (e.keyCode == 51) { ROOT.CAPTURE_CHAR += "#"; ROOT.LAST_CAPTURE_CHAR = "#"; } else if (e.keyCode == 52) { ROOT.CAPTURE_CHAR += "$"; ROOT.LAST_CAPTURE_CHAR = "$"; } else if (e.keyCode == 53) { ROOT.CAPTURE_CHAR += "%"; ROOT.LAST_CAPTURE_CHAR = "%"; } else if (e.keyCode == 54) { ROOT.CAPTURE_CHAR += "^"; ROOT.LAST_CAPTURE_CHAR = "^"; } else if (e.keyCode == 55) { ROOT.CAPTURE_CHAR += "&"; ROOT.LAST_CAPTURE_CHAR = "&"; } else if (e.keyCode == 56) { ROOT.CAPTURE_CHAR += "*"; ROOT.LAST_CAPTURE_CHAR = "*"; } else if (e.keyCode == 57) { ROOT.CAPTURE_CHAR += "("; ROOT.LAST_CAPTURE_CHAR = "("; } else if (e.keyCode == 48) { ROOT.CAPTURE_CHAR += ")"; ROOT.LAST_CAPTURE_CHAR = ")"; } else if (e.keyCode == 189) { ROOT.CAPTURE_CHAR += "_"; ROOT.LAST_CAPTURE_CHAR = "_"; } else if (e.keyCode == 187) { ROOT.CAPTURE_CHAR += "+"; ROOT.LAST_CAPTURE_CHAR = "+"; } else if (e.keyCode == 187) { ROOT.CAPTURE_CHAR += "+"; ROOT.LAST_CAPTURE_CHAR = "+"; } else if (e.keyCode == 188) { ROOT.CAPTURE_CHAR += "<"; ROOT.LAST_CAPTURE_CHAR = "<"; } else if (e.keyCode == 190) { ROOT.CAPTURE_CHAR += ">"; ROOT.LAST_CAPTURE_CHAR = ">"; } else if (e.keyCode == 191) { ROOT.CAPTURE_CHAR += "?"; ROOT.LAST_CAPTURE_CHAR = "?"; } else if (e.keyCode == 186) { ROOT.CAPTURE_CHAR += ":"; ROOT.LAST_CAPTURE_CHAR = ":"; } else if (e.keyCode == 222) { ROOT.CAPTURE_CHAR += "\""; ROOT.LAST_CAPTURE_CHAR = "\""; } else if (e.keyCode == 220) { ROOT.CAPTURE_CHAR += "|"; ROOT.LAST_CAPTURE_CHAR = "|"; } else if (e.keyCode == 219) { ROOT.CAPTURE_CHAR += "{"; ROOT.LAST_CAPTURE_CHAR = "{"; } else if (e.keyCode == 221) { ROOT.CAPTURE_CHAR += "}"; ROOT.LAST_CAPTURE_CHAR = "}"; } else { ROOT.CAPTURE_CHAR += String.fromCharCode(keynum).toUpperCase(); ROOT.LAST_CAPTURE_CHAR = String.fromCharCode(keynum).toUpperCase(); } } } ROOT.ACTION_ON_KEY_DOWN(); //@@@@@@@@@@@@@@@@@@@@@@@@@ if (typeof ROOT.TARGET_MODUL != "undefined" && typeof ROOT.TARGET != "undefined") { ROOT.CAPTURE_CHAR = ROOT.CAPTURE_CHAR.replace(/[^\x00-\x7F]/g, ""); ROOT.CAPTURE_CHAR = ROOT.CAPTURE_CHAR.replace(/[^A-Za-z 0-9 \.,\?""!#\$%\^&\*\(\)-_=\+;:<>\/\\\|\}\{\[\]`~]*/g, ""); window[ROOT.PROGRAM_NAME].ENGINE.MODULES.ACCESS(ROOT.TARGET_MODUL).GAME_OBJECTS.ACCESS(ROOT.TARGET).TEXTBOX.TEXT = ROOT.CAPTURE_CHAR; if (ROOT.ENTER_PRESSED == true) { window[ROOT.PROGRAM_NAME].ENGINE.MODULES.ACCESS(ROOT.TARGET_MODUL).GAME_OBJECTS.ACCESS(ROOT.TARGET).TEXTBOX.ON_PRESS_ENTER(); if (ROOT.CLEAR_CAPTURE_ON_PRESS_ENTER == true) { ROOT.CAPTURE_CHAR = ""; } } } ROOT.ENTER_PRESSED = false; //local_go.TEXTBOX.TEXT = ROOT_EVENTS.ROOT_ENGINE.KEYBOARD.CAPTURE_CHAR; }, false); c.addEventListener("keyup", function (e) { _system.default.DEBUG.LOG(" GAME RUNNING , key up : " + e.keyCode); //SYS.SOUND.GEN( 50 , e.keyCode * 20 ); switch (e.keyCode) { case 121: _system.default.DEBUG.LOG("F10 command -->> Show command line "); break; case 16: ROOT.SHIFT_PRESSED = false; break; } if (typeof PLAYER != "undefined") { if (PLAYER.TYPE == "NORMAL") { switch (e.keyCode) { case 121: _system.default.DEBUG.LOG("F10 command -->> Show command line "); case 69: case 37: // left PLAYER.X = PLAYER.X - PLAYER.SPEED; PLAYER.POSITION.TRANSLATE_BY_X(PLAYER.X); break; case 38: // up PLAYER.Y = PLAYER.Y - PLAYER.SPEED; PLAYER.POSITION.TRANSLATE_BY_Y(PLAYER.Y); break; case 39: // right PLAYER.X = PLAYER.X + PLAYER.SPEED; PLAYER.POSITION.TRANSLATE_BY_X(PLAYER.X); break; case 40: // down PLAYER.Y = PLAYER.Y + PLAYER.SPEED; PLAYER.POSITION.TRANSLATE_BY_Y(PLAYER.Y); break; } } } }, false); } },{"../init":13,"../system":21,"./keyboard_editor":9}],9:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _system = _interopRequireDefault(require("../system")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // maybe for editor can be used class KeyboardListener { constructor() { window.addEventListener("keydown", function (e) { _system.default.DEBUG.LOG(" kaydown event fired for keyboard_editor . e.keyCode " + e.keyCode); //SYS.SOUND.GEN( 50 , e.keyCode * 20 ); switch (e.keyCode) { case 121: _system.default.DEBUG.LOG("F10 command -->> Show command line "); case 115: for (var z = 0; z < _system.default.RUNNING_PROGRAMS.length; z++) { window[_system.default.RUNNING_PROGRAMS[z]].ENGINE.GO_TO_EDIT_MODE(); } case 37: // left break; case 38: // up break; case 39: // right break; case 40: // down break; } }, false); } } var _default = KeyboardListener; exports.default = _default; },{"../system":21}],10:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ONRESIZE = ONRESIZE; exports.attachResize = attachResize; var _system = _interopRequireDefault(require("../system")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Class ONRESIZE representing a callback method when * window.onresize trigger * Override it: * @method ONRESIZE */ function ONRESIZE() {} function attachResize() { window.onresize = function (e) { if (_system.default.DOM.RESIZE_TYPE == "DIAMETRIC") { _system.default.DOM.c.width = window.innerWidth - 1; // CONVERTOR.PER_TO_PIX( SYS.DOM.W_PIX); _system.default.DOM.c.height = window.innerHeight; // CONVERTOR.PER_TO_PIY( SYS.DOM.H_PIX); } ONRESIZE(); }; } },{"../system":21}],11:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GAME_OBJECT = GAME_OBJECT; var _math = require("../math"); var _system = _interopRequireDefault(require("../system")); var _systems = require("../draw_functions/systems"); var _rect = require("../draw_functions/rect"); var _animation = require("../draw_functions/animation"); var _manifest = _interopRequireDefault(require("../../manifest/manifest")); var _init = require("../init"); var _editor = require("../editor/editor"); var _particule = require("../particule/particule"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** Copyright 2016, zlatnaspirala@gmail.com All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of zlatnaspirala@gmail.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /** Constructor GAME_OBJECT ( name , modul , x , y , w , h , speed , PROGRAM_NAME) Type : Class Program create instance of this class from class modul : HELLO_WORLD.ENGINE.MODULES.ACCESS_MODULE("STARTER").NEW_OBJECT("STOSKE" , 22, 42, 22 , 22 , "DIAMETRIC"); */ function GAME_OBJECT(name, modul, x, y, w, h, speed, PROGRAM_NAME) { var ROOT_GAME_OBJECT = this; //alias global access if (name == "system" || name.indexOf("___VIRTUALKEYBOARD_") != -1) { ROOT_GAME_OBJECT.VISIBLE = true; window["" + name] = this; } else { window["" + name] = this; ROOT_GAME_OBJECT.VISIBLE = true; } this.ID = parseFloat(Math.random() * 4560000 + Math.random() * 1230000).toFixed(0); this.PARENT = modul; this.PROGRAM_NAME = PROGRAM_NAME; this.NAME = name; this.AUTO_UPDATE = true; this.FOCUS = false; // similar SELECTED but for runtime mode only this.TYPE_OF_GAME_OBJECT = "empty"; this.ENUMERATION = ["empty", "ANIMATION", "TEXT_BOX", "PATRICLE", "NO_RENDER", "ANIMATION_TEXT_BOX", "ANIMATION_PATRICLE"]; this.DESTROY_ON_GAMEMAP_EXIT = true; this.DRAG_STATUS = true; this.DRAG = true; this.DRAG_START_X = 0; this.DRAG_START_Y = 0; this.DRAG_DELTA = 0; this.zoom_scale = 0; this.globalAlpha = 1; if ((typeof x && typeof y) === "number") { if (typeof speed === "number") { this.POSITION = new _math.POSITION(x, y, x, y, speed); } else { this.POSITION = new _math.POSITION(x, y, x, y, 1); } } else { this.POSITION = new _math.POSITION(10, 10, 200, 200, 1); } if ((typeof w && typeof h) === "number") { this.DIMENSION = new _math.DIMENSION(w, h); } else { this.DIMENSION = new _math.DIMENSION(10, 10); } //this.ON_TARGET_POSITION = function(){}; this.POSITION.parentModul = modul; this.POSITION.parentGameObject = name; this.POSITION.PROGRAM_NAME = PROGRAM_NAME; this.POSITION.DIMENSION = this.DIMENSION; //this.POSITION.ON_TARGET_POSITION = this.ON_TARGET_POSITION; this.ANIMATION = null; this.CREATE_ANIMATION = function (surf, TYPE_, FrameIndex, source, ID, blink_, min_, max_, step, speed_, opacity_) { this.ANIMATION = new _animation.ANIMATION(surf, TYPE_, FrameIndex, source, ROOT_GAME_OBJECT, ID, blink_, min_, max_, step, speed_, opacity_); this.TYPE_OF_GAME_OBJECT = "ANIMATION"; //SYS.DEBUG.LOG("images added in memory.... ID " + ID); }; this.CREATE_PLAYER = function (type_) { ROOT_GAME_OBJECT.PLAYER = { TYPE: type_, X: ROOT_GAME_OBJECT.POSITION.x, // for platform Y: ROOT_GAME_OBJECT.POSITION.y, SPEED: 1, CONTROL: { RIGHT: false, LEFT: false, JUMP: false, DOWN: false }, POSITION: ROOT_GAME_OBJECT.POSITION, BREAK_AT_MOMENT_STATUS: false }; window["PLAYER"] = ROOT_GAME_OBJECT.PLAYER; this.POSITION.PLAYER = ROOT_GAME_OBJECT.PLAYER; window[PROGRAM_NAME].ENGINE.GAME_TYPE = "NORMAL_CONTROL"; }; this.TEXTBOX = null; this.TRACK_KEY = null; this.CREATE_TEXTBOX = function (text, radius, color, textColor) { if (typeof text != "undefined" && typeof radius != "undefined" && typeof color != "undefined" && typeof textColor != "undefined") { this.TEXTBOX = new _rect.RECT(text, ROOT_GAME_OBJECT, radius, color, textColor); this.TYPE_OF_GAME_OBJECT = "TEXT_BOX";