UNPKG

laya-coreui-es

Version:

laya核心库、ui库es版本,剔除了媒体、TTF等功能。基于 LayaAir-release_2.12.0 修改

287 lines (286 loc) 12.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Laya = void 0; const ILaya_1 = require("./ILaya"); const Graphics_1 = require("./laya/display/Graphics"); const Input_1 = require("./laya/display/Input"); const Sprite_1 = require("./laya/display/Sprite"); const Stage_1 = require("./laya/display/Stage"); const Text_1 = require("./laya/display/Text"); const MouseManager_1 = require("./laya/events/MouseManager"); const LayaGL_1 = require("./laya/layagl/LayaGL"); const Loader_1 = require("./laya/net/Loader"); const LoaderManager_1 = require("./laya/net/LoaderManager"); const LocalStorage_1 = require("./laya/net/LocalStorage"); const URL_1 = require("./laya/net/URL"); const Render_1 = require("./laya/renders/Render"); const RenderSprite_1 = require("./laya/renders/RenderSprite"); const Context_1 = require("./laya/resource/Context"); const HTMLCanvas_1 = require("./laya/resource/HTMLCanvas"); const RenderTexture2D_1 = require("./laya/resource/RenderTexture2D"); const Browser_1 = require("./laya/utils/Browser"); const CacheManger_1 = require("./laya/utils/CacheManger"); const ClassUtils_1 = require("./laya/utils/ClassUtils"); const ColorUtils_1 = require("./laya/utils/ColorUtils"); const Dragging_1 = require("./laya/utils/Dragging"); const Pool_1 = require("./laya/utils/Pool"); const SceneUtils_1 = require("./laya/utils/SceneUtils"); const Stat_1 = require("./laya/utils/Stat"); const StatUI_1 = require("./laya/utils/StatUI"); const Timer_1 = require("./laya/utils/Timer"); const Utils_1 = require("./laya/utils/Utils"); const WeakObject_1 = require("./laya/utils/WeakObject"); const ShaderDefines2D_1 = require("./laya/webgl/shader/d2/ShaderDefines2D"); const SkinSV_1 = require("./laya/webgl/shader/d2/skinAnishader/SkinSV"); const PrimitiveSV_1 = require("./laya/webgl/shader/d2/value/PrimitiveSV"); const TextureSV_1 = require("./laya/webgl/shader/d2/value/TextureSV"); const Value2D_1 = require("./laya/webgl/shader/d2/value/Value2D"); const Shader_1 = require("./laya/webgl/shader/Shader"); const TextRender_1 = require("./laya/webgl/text/TextRender"); const RenderState2D_1 = require("./laya/webgl/utils/RenderState2D"); const ShaderCompile_1 = require("./laya/webgl/utils/ShaderCompile"); const WebGL_1 = require("./laya/webgl/WebGL"); const WebGLContext_1 = require("./laya/webgl/WebGLContext"); const WorkerLoader_1 = require("./laya/net/WorkerLoader"); const Mouse_1 = require("./laya/utils/Mouse"); const MeshVG_1 = require("./laya/webgl/utils/MeshVG"); const MeshQuadTexture_1 = require("./laya/webgl/utils/MeshQuadTexture"); const MeshTexture_1 = require("./laya/webgl/utils/MeshTexture"); const Event_1 = require("./laya/events/Event"); const Config_1 = require("./Config"); class Laya { static __init(_classs) { _classs.forEach(function (o) { o.__init$ && o.__init$(); }); } static init(width, height, ...plugins) { if (Laya._isinit) return; Laya._isinit = true; ArrayBuffer.prototype.slice || (ArrayBuffer.prototype.slice = Laya._arrayBufferSlice); Browser_1.Browser.__init__(); var mainCanv = Browser_1.Browser.mainCanvas = new HTMLCanvas_1.HTMLCanvas(true); var style = mainCanv.source.style; style.position = 'absolute'; style.top = style.left = "0px"; style.background = "#000000"; if (!Browser_1.Browser.onKGMiniGame && !Browser_1.Browser.onAlipayMiniGame) { Browser_1.Browser.container.appendChild(mainCanv.source); } Browser_1.Browser.canvas = new HTMLCanvas_1.HTMLCanvas(true); Browser_1.Browser.context = Browser_1.Browser.canvas.getContext('2d'); Browser_1.Browser.supportLocalStorage = LocalStorage_1.LocalStorage.__init__(); Laya.systemTimer = new Timer_1.Timer(false); Timer_1.Timer.gSysTimer = Laya.systemTimer; Laya.startTimer = new Timer_1.Timer(false); Laya.physicsTimer = new Timer_1.Timer(false); Laya.updateTimer = new Timer_1.Timer(false); Laya.lateTimer = new Timer_1.Timer(false); Laya.timer = new Timer_1.Timer(false); ILaya_1.ILaya.startTimer = Laya.startTimer; ILaya_1.ILaya.lateTimer = Laya.lateTimer; ILaya_1.ILaya.updateTimer = Laya.updateTimer; ILaya_1.ILaya.systemTimer = Laya.systemTimer; ILaya_1.ILaya.timer = Laya.timer; ILaya_1.ILaya.physicsTimer = Laya.physicsTimer; Laya.loader = new LoaderManager_1.LoaderManager(); ILaya_1.ILaya.Laya = Laya; ILaya_1.ILaya.loader = Laya.loader; WeakObject_1.WeakObject.__init__(); SceneUtils_1.SceneUtils.__init(); Mouse_1.Mouse.__init__(); WebGL_1.WebGL.inner_enable(); if (plugins) { for (var i = 0, n = plugins.length; i < n; i++) { if (plugins[i] && plugins[i].enable) { plugins[i].enable(); } } } if (ILaya_1.ILaya.Render.isConchApp) { Laya.enableNative(); } Laya.enableWebGLPlus(); CacheManger_1.CacheManger.beginCheck(); Laya.stage = new Stage_1.Stage(); ILaya_1.ILaya.stage = Laya.stage; Utils_1.Utils.gStage = Laya.stage; URL_1.URL.rootPath = URL_1.URL._basePath = Laya._getUrlPath(); MeshQuadTexture_1.MeshQuadTexture.__int__(); MeshVG_1.MeshVG.__init__(); MeshTexture_1.MeshTexture.__init__(); Laya.render = new Render_1.Render(0, 0, Browser_1.Browser.mainCanvas); Laya.stage.size(width, height); window.stage = Laya.stage; WebGLContext_1.WebGLContext.__init__(); ShaderCompile_1.ShaderCompile.__init__(); RenderSprite_1.RenderSprite.__init__(); MouseManager_1.MouseManager.instance.__init__(Laya.stage, Render_1.Render.canvas); Input_1.Input.__init__(); Stat_1.Stat._StatRender = new StatUI_1.StatUI(); Value2D_1.Value2D._initone(ShaderDefines2D_1.ShaderDefines2D.TEXTURE2D, TextureSV_1.TextureSV); Value2D_1.Value2D._initone(ShaderDefines2D_1.ShaderDefines2D.TEXTURE2D | ShaderDefines2D_1.ShaderDefines2D.FILTERGLOW, TextureSV_1.TextureSV); Value2D_1.Value2D._initone(ShaderDefines2D_1.ShaderDefines2D.PRIMITIVE, PrimitiveSV_1.PrimitiveSV); Value2D_1.Value2D._initone(ShaderDefines2D_1.ShaderDefines2D.SKINMESH, SkinSV_1.SkinSV); return Render_1.Render.canvas; } static install(comp) { comp.forEach((c) => { ILaya_1.ILaya.regClass(c); ClassUtils_1.ClassUtils.regClass(c.name, c); }); } static _getUrlPath() { return URL_1.URL.getPath(location.protocol + "//" + location.host + location.pathname); } static _arrayBufferSlice(start, end) { var arr = this; var arrU8List = new Uint8Array(arr, start, end - start); var newU8List = new Uint8Array(arrU8List.length); newU8List.set(arrU8List); return newU8List.buffer; } static alertGlobalError(value) { var erralert = 0; if (value) { Browser_1.Browser.window.onerror = function (msg, url, line, column, detail) { if (erralert++ < 5 && detail) this.alert("出错啦,请把此信息截图给研发商\n" + msg + "\n" + detail.stack); }; } else { Browser_1.Browser.window.onerror = null; } } static _runScript(script) { return Browser_1.Browser.window[Laya._evcode](script); } static enableDebugPanel(debugJsPath = "libs/laya.debugtool.js") { if (!window['Laya']["DebugPanel"]) { var script = Browser_1.Browser.createElement("script"); script.onload = function () { window['Laya']["DebugPanel"].enable(); }; script.src = debugJsPath; Browser_1.Browser.document.body.appendChild(script); } else { window['Laya']["DebugPanel"].enable(); } } static enableWebGLPlus() { WebGLContext_1.WebGLContext.__init_native(); } static enableNative() { if (Laya.isNativeRender_enable) return; Laya.isNativeRender_enable = true; if (Render_1.Render.supportWebGLPlusRendering) { Shader_1.Shader.prototype.uploadTexture2D = function (value) { var gl = LayaGL_1.LayaGL.instance; gl.bindTexture(gl.TEXTURE_2D, value); }; } RenderState2D_1.RenderState2D.width = Browser_1.Browser.window.innerWidth; RenderState2D_1.RenderState2D.height = Browser_1.Browser.window.innerHeight; Browser_1.Browser.measureText = function (txt, font) { window["conchTextCanvas"].font = font; return window["conchTextCanvas"].measureText(txt); }; Stage_1.Stage.clear = function (color) { Context_1.Context.set2DRenderConfig(); var c = ColorUtils_1.ColorUtils.create(color).arrColor; var gl = LayaGL_1.LayaGL.instance; if (c) gl.clearColor(c[0], c[1], c[2], c[3]); gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT | gl.STENCIL_BUFFER_BIT); RenderState2D_1.RenderState2D.clear(); }; Sprite_1.Sprite.drawToCanvas = Sprite_1.Sprite.drawToTexture = function (sprite, _renderType, canvasWidth, canvasHeight, offsetX, offsetY) { offsetX -= sprite.x; offsetY -= sprite.y; offsetX |= 0; offsetY |= 0; canvasWidth |= 0; canvasHeight |= 0; var canv = new HTMLCanvas_1.HTMLCanvas(false); var ctx = canv.getContext('2d'); canv.size(canvasWidth, canvasHeight); ctx.asBitmap = true; ctx._targets.start(); RenderSprite_1.RenderSprite.renders[_renderType]._fun(sprite, ctx, offsetX, offsetY); ctx.flush(); ctx._targets.end(); ctx._targets.restore(); return canv; }; Object["defineProperty"](RenderTexture2D_1.RenderTexture2D.prototype, "uv", { "get": function () { return this._uv; }, "set": function (v) { this._uv = v; } }); HTMLCanvas_1.HTMLCanvas.prototype.getTexture = function () { if (!this._texture) { this._texture = this.context._targets; this._texture.uv = RenderTexture2D_1.RenderTexture2D.flipyuv; this._texture.bitmap = this._texture; } return this._texture; }; } } exports.Laya = Laya; Laya.stage = null; Laya.systemTimer = null; Laya.startTimer = null; Laya.physicsTimer = null; Laya.updateTimer = null; Laya.lateTimer = null; Laya.timer = null; Laya.loader = null; Laya.version = "2.12.0"; Laya._isinit = false; Laya.isWXOpenDataContext = false; Laya.isWXPosMsg = false; Laya.__classmap = null; Laya.Config = Config_1.Config; Laya.Browser = Browser_1.Browser; Laya.Event = Event_1.Event; Laya._evcode = "eva" + "l"; Laya.isNativeRender_enable = false; Laya.__classmap = ILaya_1.ILaya.__classMap; ILaya_1.ILaya.Timer = Timer_1.Timer; ILaya_1.ILaya.Dragging = Dragging_1.Dragging; ILaya_1.ILaya.Sprite = Sprite_1.Sprite; ILaya_1.ILaya.TextRender = TextRender_1.TextRender; ILaya_1.ILaya.Loader = Loader_1.Loader; ILaya_1.ILaya.ShaderCompile = ShaderCompile_1.ShaderCompile; ILaya_1.ILaya.ClassUtils = ClassUtils_1.ClassUtils; ILaya_1.ILaya.SceneUtils = SceneUtils_1.SceneUtils; ILaya_1.ILaya.Context = Context_1.Context; ILaya_1.ILaya.Render = Render_1.Render; ILaya_1.ILaya.MouseManager = MouseManager_1.MouseManager; ILaya_1.ILaya.Text = Text_1.Text; ILaya_1.ILaya.Browser = Browser_1.Browser; ILaya_1.ILaya.Pool = Pool_1.Pool; ILaya_1.ILaya.Utils = Utils_1.Utils; ILaya_1.ILaya.Graphics = Graphics_1.Graphics; ILaya_1.ILaya.WorkerLoader = WorkerLoader_1.WorkerLoader; var libs = window._layalibs; if (libs) { libs.sort(function (a, b) { return a.i - b.i; }); for (var j = 0; j < libs.length; j++) { libs[j].f(window, window.document, Laya); } } let win = window; if (win.Laya) { win.Laya.Laya = Laya; Object.assign(win.Laya, Laya); } else win.Laya = Laya;