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
JavaScript
(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";