UNPKG

pubtool4pixi

Version:

Usefultool for PIXI xes project

114 lines (102 loc) 2.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.clearInterval = exports.setInterval = exports.clearTimeout = exports.setTimeout = undefined; var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require("babel-runtime/helpers/createClass"); var _createClass3 = _interopRequireDefault(_createClass2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var TimeGenerate = function () { function TimeGenerate() { (0, _classCallCheck3.default)(this, TimeGenerate); this.map = {}; this.count = 0; } (0, _createClass3.default)(TimeGenerate, [{ key: "getNewTime", value: function getNewTime(cb) { var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; this.count++; this.map[this.count] = { fn: cb, time: time, repeatTime: false }; return this.count; } }, { key: "getNewInterval", value: function getNewInterval(cb) { var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; this.count++; this.map[this.count] = { fn: cb, time: time, repeatTime: time }; return this.count; } }, { key: "clear", value: function clear(id) { delete this.map[id]; } }, { key: "getMap", value: function getMap() { return this.map; } }]); return TimeGenerate; }(); var timeGenerate = new TimeGenerate(); // const PIXI = require('pixi.js'); var ticker = new PIXI.ticker.Ticker(); ticker.stop(); ticker.add(function (deltaTime) { var map = timeGenerate.getMap(); for (var i in map) { if (!map[i]) { continue; } map[i].time -= deltaTime * 16; if (map[i].time <= 0) { // try{ if (map[i] && typeof map[i].fn === "function") map[i].fn(); if (!map[i]) { continue; } if (map[i].repeatTime) { map[i].time = map[i].repeatTime; } else { delete map[i]; } } } }); ticker.start(); function setTimeout(cb, time) { return timeGenerate.getNewTime(cb, time); } function clearTimeout(id) { timeGenerate.clear(id); } function setInterval(cb, time) { return timeGenerate.getNewInterval(cb, time); } function clearInterval(id) { timeGenerate.clear(id); } var o = { setTimeout: setTimeout, clearTimeout: clearTimeout, setInterval: setInterval, clearInterval: clearInterval }; exports.setTimeout = setTimeout; exports.clearTimeout = clearTimeout; exports.setInterval = setInterval; exports.clearInterval = clearInterval; exports.default = o;