UNPKG

openfl

Version:

A fast, productive library for 2D cross-platform development.

116 lines (98 loc) 2.75 kB
// Class: lime.system.JobList var $global = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this $global.Object.defineProperty(exports, "__esModule", {value: true}); var __map_reserved = {}; // Imports var $hxClasses = require("./../../hxClasses_stub").default; var $hxEnums = require("./../../hxEnums_stub").default; var $import = require("./../../import_stub").default; function HxOverrides() {return require("./../../HxOverrides");} function lime_system_ThreadPool() {return require("./../../lime/system/ThreadPool");} // Constructor var JobList = function(pool) { this.__jobs = []; this.__index = 0; this.pool = pool; this.__addingWorkPriority = false; } // Meta JobList.__name__ = "lime.system.JobList"; JobList.__isInterface__ = false; JobList.prototype = { clear: function() { this.__jobs.length = 0; this.set___addingWorkPriority(false); }, exists: function(job) { return this.get(job.id) != null; }, hasNext: function() { return this.__jobs.length > 0; }, next: function() { this.__index++; if(this.__index >= this.get_length()) { this.__index = 0; } return this.__jobs[this.__index]; }, pop: function() { var job = this.__jobs.pop(); this.set___addingWorkPriority(this.get_length() > 0); return job; }, remove: function(job) { if((HxOverrides().default).remove(this.__jobs,job)) { this.set___addingWorkPriority(this.get_length() > 0); return true; } else if(this.removeByID(job.id)) { return true; } else { return false; } }, removeByID: function(id) { if((HxOverrides().default).remove(this.__jobs,this.get(id))) { this.set___addingWorkPriority(this.get_length() > 0); return true; } else { return false; } }, get: function(id) { var _g = 0; var _g1 = this.__jobs; while(_g < _g1.length) { var job = _g1[_g]; ++_g; if(job.id == id) { return job; } } return null; }, push: function(job) { this.__jobs.push(job); this.set___addingWorkPriority(true); }, set___addingWorkPriority: function(value) { if(this.pool != null && this.__addingWorkPriority != value && (lime_system_ThreadPool().default).isMainThread()) { if(value) { (lime_system_ThreadPool().default).__totalWorkPriority += this.pool.workPriority; } else { (lime_system_ThreadPool().default).__totalWorkPriority -= this.pool.workPriority; } return this.__addingWorkPriority = value; } else { return this.__addingWorkPriority; } }, get_length: function() { return this.__jobs.length; } }; JobList.prototype.__class__ = JobList.prototype.constructor = $hxClasses["lime.system.JobList"] = JobList; // Init // Statics // Export exports.default = JobList;