mirror of
				https://github.com/unanmed/HumanBreak.git
				synced 2025-11-04 07:02:58 +08:00 
			
		
		
		
	fix: 构建后编辑器打不开
This commit is contained in:
		
							parent
							
								
									0b611c897a
								
							
						
					
					
						commit
						0d98a6ce57
					
				@ -1,9 +1,7 @@
 | 
			
		||||
import { Mota } from '@user/entry-data';
 | 
			
		||||
import * as Client from '@motajs/client';
 | 
			
		||||
import * as ClientBase from '@motajs/client-base';
 | 
			
		||||
import * as Common from '@motajs/common';
 | 
			
		||||
import * as LegacyClient from '@motajs/legacy-client';
 | 
			
		||||
import * as LegacyCommon from '@motajs/legacy-common';
 | 
			
		||||
import * as LegacySystem from '@motajs/legacy-system';
 | 
			
		||||
import * as LegacyUI from '@motajs/legacy-ui';
 | 
			
		||||
import * as Render from '@motajs/render';
 | 
			
		||||
@ -26,9 +24,7 @@ export function create() {
 | 
			
		||||
 | 
			
		||||
    Mota.register('@motajs/client', Client);
 | 
			
		||||
    Mota.register('@motajs/client-base', ClientBase);
 | 
			
		||||
    Mota.register('@motajs/common', Common);
 | 
			
		||||
    Mota.register('@motajs/legacy-client', LegacyClient);
 | 
			
		||||
    Mota.register('@motajs/legacy-common', LegacyCommon);
 | 
			
		||||
    Mota.register('@motajs/legacy-system', LegacySystem);
 | 
			
		||||
    Mota.register('@motajs/legacy-ui', LegacyUI);
 | 
			
		||||
    Mota.register('@motajs/render', Render);
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,6 @@
 | 
			
		||||
import { Mota } from './mota';
 | 
			
		||||
import * as Common from '@motajs/common';
 | 
			
		||||
import * as LegacyCommon from '@motajs/legacy-common';
 | 
			
		||||
import * as DataBase from '@user/data-base';
 | 
			
		||||
import * as DataFallback from '@user/data-fallback';
 | 
			
		||||
import * as DataState from '@user/data-state';
 | 
			
		||||
@ -8,6 +10,8 @@ import * as LegacyPluginData from '@user/legacy-plugin-data';
 | 
			
		||||
export function create() {
 | 
			
		||||
    DataBase.loading.once('registered', createModule);
 | 
			
		||||
 | 
			
		||||
    Mota.register('@motajs/common', Common);
 | 
			
		||||
    Mota.register('@motajs/legacy-common', LegacyCommon);
 | 
			
		||||
    Mota.register('@user/data-base', DataBase);
 | 
			
		||||
    Mota.register('@user/data-fallback', DataFallback);
 | 
			
		||||
    Mota.register('@user/data-state', DataState);
 | 
			
		||||
 | 
			
		||||
@ -610,16 +610,6 @@ export async function loadCompressedResource() {
 | 
			
		||||
    });
 | 
			
		||||
    const list: CompressedLoadList = JSON.parse(data.data);
 | 
			
		||||
 | 
			
		||||
    // const d = data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d;
 | 
			
		||||
    // 对于bgm,直接按照原来的方式加载即可
 | 
			
		||||
    // d.main.bgms.forEach(v => {
 | 
			
		||||
    //     const res = LoadTask.add('audio', `audio/${v}`);
 | 
			
		||||
    //     Mota.r(() => {
 | 
			
		||||
    //         res.once('loadStart', res => {
 | 
			
		||||
    //             Mota.require('var', 'bgm').add(`bgms.${v}`, res.resource!);
 | 
			
		||||
    //         });
 | 
			
		||||
    //     });
 | 
			
		||||
    // });
 | 
			
		||||
    // 对于区域内容,按照zip格式进行加载,然后解压处理
 | 
			
		||||
    const autotiles: Partial<Record<AllIdsOf<'autotile'>, HTMLImageElement>> =
 | 
			
		||||
        {};
 | 
			
		||||
@ -716,7 +706,7 @@ export async function loadCompressedResource() {
 | 
			
		||||
                        document.fonts.add(
 | 
			
		||||
                            new FontFace(name.slice(0, -4), font)
 | 
			
		||||
                        );
 | 
			
		||||
                    } else if (usage === 'sound') {
 | 
			
		||||
                    } else if (usage === 'sound' && main.mode === 'play') {
 | 
			
		||||
                        const { soundPlayer } = Mota.require(
 | 
			
		||||
                            '@user/client-modules'
 | 
			
		||||
                        );
 | 
			
		||||
 | 
			
		||||
@ -173,17 +173,7 @@ editor.prototype.init = function (callback) {
 | 
			
		||||
    editor.airwallImg = new Image();
 | 
			
		||||
    editor.airwallImg.src = './project/materials/airwall.png';
 | 
			
		||||
 | 
			
		||||
    var xhr = new XMLHttpRequest();
 | 
			
		||||
    xhr.open('GET', 'index.html', true);
 | 
			
		||||
    xhr.onload = function () {
 | 
			
		||||
        if (xhr.status != 200) {
 | 
			
		||||
            alert("HTTP " + xhr.status);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        var str = xhr.response.split('<!-- injection -->');
 | 
			
		||||
        if (str.length != 3) window.onerror("index.html格式不正确");
 | 
			
		||||
        editor.dom.gameInject.innerHTML = str[1];
 | 
			
		||||
        
 | 
			
		||||
    var execute = function() {
 | 
			
		||||
        var cvs = ['bg', 'event', 'event2', 'fg'].map(function(e) {
 | 
			
		||||
            return document.getElementById(e);
 | 
			
		||||
        });
 | 
			
		||||
@ -303,9 +293,6 @@ editor.prototype.init = function (callback) {
 | 
			
		||||
        mainScript.id = "mainScript";
 | 
			
		||||
        mainScript.src = "main.js";
 | 
			
		||||
        editor.dom.gameInject.appendChild(mainScript);
 | 
			
		||||
    };
 | 
			
		||||
    xhr.onabort = xhr.ontimeout = xhr.onerror = function () {
 | 
			
		||||
        alert("无法访问index.html");
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    editor.config = new editor_config();
 | 
			
		||||
@ -313,7 +300,7 @@ editor.prototype.init = function (callback) {
 | 
			
		||||
        var theme = editor.config.get('theme', 'editor_color');
 | 
			
		||||
        document.getElementById('color_css').href = '_server/css/' + theme + '.css';
 | 
			
		||||
        editor.dom.editorTheme.value = theme;
 | 
			
		||||
        xhr.send();
 | 
			
		||||
        execute();
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -450,7 +450,151 @@
 | 
			
		||||
    </div>
 | 
			
		||||
    <!-- <script>/* -->
 | 
			
		||||
 | 
			
		||||
    <div id="gameInject" style='display: none'></div>
 | 
			
		||||
    <div id="gameInject" style='display: none'>
 | 
			
		||||
        <div id='gameGroup'>
 | 
			
		||||
            <p id='mainTips'>请稍候...</p>
 | 
			
		||||
            <img id='musicBtn'>
 | 
			
		||||
            <div id='startPanel'>
 | 
			
		||||
                <div id='startTop'>
 | 
			
		||||
                    <div id='startTopProgressBar'>
 | 
			
		||||
                        <div id='startTopProgress'></div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <p id='startTopLoadTips'>资源即将开始加载</p>
 | 
			
		||||
                    <p id='startTopHint'>HTML5魔塔游戏平台,享受更多魔塔游戏:<br />https://h5mota.com/</p>
 | 
			
		||||
                </div>
 | 
			
		||||
                <img id='startBackground'>
 | 
			
		||||
                <p id='startLogo'></p>
 | 
			
		||||
                <div id='startButtonGroup'>
 | 
			
		||||
                    <div id='startButtons'>
 | 
			
		||||
                        <span class='startButton' id='playGame'>开始游戏</span>
 | 
			
		||||
                        <span class='startButton' id='loadGame'>载入游戏</span>
 | 
			
		||||
                        <span class='startButton' id='replayGame'>录像回放</span>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div id='levelChooseButtons'></div>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div id='floorMsgGroup'>
 | 
			
		||||
                <p id='logoLabel'></p>
 | 
			
		||||
                <p id='versionLabel'></p>
 | 
			
		||||
                <p id='floorNameLabel'></p>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div id='statusBar' class="clearfix">
 | 
			
		||||
                <div class="status" id="floorCol">
 | 
			
		||||
                    <img id="img-floor">
 | 
			
		||||
                    <p class='statusLabel statusText' id='floor'></p>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="status" id="nameCol">
 | 
			
		||||
                    <img id="img-name">
 | 
			
		||||
                    <p class='statusLabel statusText' id='name'></p>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="status" id="lvCol">
 | 
			
		||||
                    <img id="img-lv">
 | 
			
		||||
                    <p class='statusLabel statusText' id='lv'></p>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="status" id='hpmaxCol'>
 | 
			
		||||
                    <img id="img-hpmax">
 | 
			
		||||
                    <p class='statusLabel statusText' id='hpmax'></p>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="status" id='hpCol'>
 | 
			
		||||
                    <img id="img-hp">
 | 
			
		||||
                    <p class='statusLabel statusText' id='hp'></p>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="status" id='manaCol'>
 | 
			
		||||
                    <img id="img-mana">
 | 
			
		||||
                    <p class='statusLabel statusText' id='mana'></p>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="status" id='atkCol'>
 | 
			
		||||
                    <img id="img-atk">
 | 
			
		||||
                    <p class='statusLabel statusText' id='atk'></p>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="status" id='defCol'>
 | 
			
		||||
                    <img id="img-def">
 | 
			
		||||
                    <p class='statusLabel statusText' id='def'></p>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="status" id="mdefCol">
 | 
			
		||||
                    <img id="img-mdef">
 | 
			
		||||
                    <p class='statusLabel statusText' id='mdef'></p>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="status" id="moneyCol">
 | 
			
		||||
                    <img id="img-money">
 | 
			
		||||
                    <p class='statusLabel statusText' id='money'></p>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="status" id="expCol">
 | 
			
		||||
                    <img id="img-exp">
 | 
			
		||||
                    <p class='statusLabel statusText' id='exp'></p>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="status" id="upCol">
 | 
			
		||||
                    <img id="img-up">
 | 
			
		||||
                    <p class='statusLabel statusText' id='up'></p>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="status" id="skillCol">
 | 
			
		||||
                    <img id="img-skill">
 | 
			
		||||
                    <p class='statusLabel statusText' id='skill' style='font-style: normal'></p>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="status" id='keyCol'>
 | 
			
		||||
                    <span class='statusLabel' id='yellowKey' style="color:#FFCCAA"></span>
 | 
			
		||||
                    <span class='statusLabel' id='blueKey' style="color:#AAAADD"></span>
 | 
			
		||||
                    <span class='statusLabel' id='redKey' style="color:#FF8888"></span>
 | 
			
		||||
                    <span class='statusLabel' id='greenKey' style="color:#88FF88"></span>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="status" id='pzfCol'>
 | 
			
		||||
                    <span class='statusLabel' id='pickaxe' style="color: #BC6E27"></span>
 | 
			
		||||
                    <span class='statusLabel' id='bomb' style="color: #FA14B9"></span>
 | 
			
		||||
                    <span class='statusLabel' id='fly' style="color: #8DB600"></span>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="status" id="debuffCol">
 | 
			
		||||
                    <span class='statusLabel' id='poison' style="color: #AFFCA8;"></span>
 | 
			
		||||
                    <span class='statusLabel' id='weak' style="color: #FECCD0;"></span>
 | 
			
		||||
                    <span class='statusLabel' id='curse' style="color: #C2F4E7;"></span>
 | 
			
		||||
                </div>
 | 
			
		||||
 | 
			
		||||
                <!-- 状态栏canvas化 -->
 | 
			
		||||
                <canvas id="statusCanvas" style="position: absolute; left: 0; top: 0;"></canvas>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div id="toolBar" class="clearfix">
 | 
			
		||||
                <img class="tools" id='img-book'>
 | 
			
		||||
                <img class="tools" id='img-fly'>
 | 
			
		||||
                <img class="tools" id='img-toolbox'>
 | 
			
		||||
                <img class="tools" id='img-keyboard'>
 | 
			
		||||
                <img class="tools" id='img-shop'>
 | 
			
		||||
                <img class="tools" id='img-save'>
 | 
			
		||||
                <img class="tools" id='img-load'>
 | 
			
		||||
                <img class="tools" id='img-settings'>
 | 
			
		||||
                <img class="tools" id='img-btn1' style='display:none'>
 | 
			
		||||
                <img class="tools" id='img-btn2' style='display:none'>
 | 
			
		||||
                <img class="tools" id='img-btn3' style='display:none'>
 | 
			
		||||
                <img class="tools" id='img-btn4' style='display:none'>
 | 
			
		||||
                <img class="tools" id='img-btn5' style='display:none'>
 | 
			
		||||
                <img class="tools" id='img-btn6' style='display:none'>
 | 
			
		||||
                <img class="tools" id='img-btn7' style='display:none'>
 | 
			
		||||
                <img class="tools" id='img-btn8' style='display:none'>
 | 
			
		||||
                <p class="statusLabel tools" id="hard"></p>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div id="gameDraw">
 | 
			
		||||
                <div id="gif"></div>
 | 
			
		||||
                <div id="gif2"></div>
 | 
			
		||||
                <canvas class='gameCanvas' id='bg'></canvas>
 | 
			
		||||
                <canvas class='gameCanvas' id='event'></canvas>
 | 
			
		||||
                <canvas class='gameCanvas' id='hero'></canvas>
 | 
			
		||||
                <canvas class='gameCanvas' id='event2'></canvas>
 | 
			
		||||
                <canvas class='gameCanvas' id='fg'></canvas>
 | 
			
		||||
                <canvas class='gameCanvas' id='damage'></canvas>
 | 
			
		||||
                <canvas class='gameCanvas' id='animate'></canvas>
 | 
			
		||||
                <canvas class='gameCanvas' id='curtain'></canvas>
 | 
			
		||||
                <canvas class='gameCanvas' id='ui'></canvas>
 | 
			
		||||
                <canvas class='gameCanvas' id='data'>此浏览器不支持HTML5</canvas>
 | 
			
		||||
                <div id="next"></div>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div id='inputDiv'>
 | 
			
		||||
            <div id='inputDialog'>
 | 
			
		||||
                <p id="inputMessage">请输入文字...</p>
 | 
			
		||||
                <input id='inputBox' type="text" autocomplete="off" />
 | 
			
		||||
                <button id='inputYes'>确定</button>
 | 
			
		||||
                <button id='inputNo'>取消</button>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <!-- UI预览 & 地图选点 -->
 | 
			
		||||
    <div id='uieventDiv' style='display: none'>
 | 
			
		||||
 | 
			
		||||
@ -267,10 +267,13 @@ function core() {
 | 
			
		||||
 | 
			
		||||
////// 初始化 //////
 | 
			
		||||
core.prototype.init = async function (coreData, callback) {
 | 
			
		||||
    if (main.replayChecking) {
 | 
			
		||||
        console.log(`core.init should be called when not replay checking!`);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    this._forwardFuncs();
 | 
			
		||||
    for (var key in coreData) core[key] = coreData[key];
 | 
			
		||||
    await this._loadGameProcess();
 | 
			
		||||
    await this._loadPluginAsync();
 | 
			
		||||
    this._init_flags();
 | 
			
		||||
    this._init_platform();
 | 
			
		||||
    this._init_others();
 | 
			
		||||
@ -290,10 +293,21 @@ core.prototype.init = async function (coreData, callback) {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (main.replayChecking || main.mode === 'editor') {
 | 
			
		||||
        core.loader._load(function () {
 | 
			
		||||
    if (main.mode === 'editor') {
 | 
			
		||||
        if (main.scriptCompress) {
 | 
			
		||||
            const { LoadTask, loadCompressedResource } = Mota.require(
 | 
			
		||||
                '@motajs/legacy-common'
 | 
			
		||||
            );
 | 
			
		||||
            await loadCompressedResource();
 | 
			
		||||
            await LoadTask.load();
 | 
			
		||||
            core.loader._loadMaterials_afterLoad();
 | 
			
		||||
            core._afterLoadResources(callback);
 | 
			
		||||
        });
 | 
			
		||||
            Mota.require('@user/data-base').loading.emit('loaded');
 | 
			
		||||
        } else {
 | 
			
		||||
            core.loader._load(function () {
 | 
			
		||||
                core._afterLoadResources(callback);
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
    } else {
 | 
			
		||||
        if (main.renderLoaded)
 | 
			
		||||
            Mota.require('@motajs/legacy-ui').fixedUi.open('load', {
 | 
			
		||||
@ -312,7 +326,6 @@ core.prototype.init = async function (coreData, callback) {
 | 
			
		||||
core.prototype.initSync = function (coreData, callback) {
 | 
			
		||||
    this._forwardFuncs();
 | 
			
		||||
    for (var key in coreData) core[key] = coreData[key];
 | 
			
		||||
    this._loadGameProcessSync();
 | 
			
		||||
    this._loadPluginSync();
 | 
			
		||||
    this._init_flags();
 | 
			
		||||
    this._init_platform();
 | 
			
		||||
@ -323,42 +336,21 @@ core.prototype.initSync = function (coreData, callback) {
 | 
			
		||||
    });
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
core.prototype._loadPluginAsync = async function () {
 | 
			
		||||
    if (!main.useCompress) {
 | 
			
		||||
        await main.loadScript(`project/plugins.js?v=${main.version}`);
 | 
			
		||||
    }
 | 
			
		||||
    this._initPlugins();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
core.prototype._loadPluginSync = function () {
 | 
			
		||||
    if (main.useCompress) main.loadMod('project', 'project', () => 0);
 | 
			
		||||
    else {
 | 
			
		||||
        main.pureData.forEach(v => main.loadMod('project', v, () => 0));
 | 
			
		||||
    }
 | 
			
		||||
    this._initPlugins();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
core.prototype._initPlugins = function () {
 | 
			
		||||
    for (const [key, value] of Object.entries(
 | 
			
		||||
        plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1
 | 
			
		||||
    )) {
 | 
			
		||||
        try {
 | 
			
		||||
            value?.call(plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1);
 | 
			
		||||
        } catch (e) {
 | 
			
		||||
            console.error(`Plugin '${key}' init failed.`);
 | 
			
		||||
            console.error(e);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
core.prototype._loadGameProcess = async function () {
 | 
			
		||||
    // 加载游戏进程代码
 | 
			
		||||
    if (main.pluginUseCompress && main.replayChecking) {
 | 
			
		||||
        await main.loadScript(`project/processG.min.js?v=${main.version}`);
 | 
			
		||||
    if (main.scriptCompress && main.replayChecking) {
 | 
			
		||||
        await main.loadScript(`data.process.js`);
 | 
			
		||||
    } else {
 | 
			
		||||
        if (main.mode === 'editor') {
 | 
			
		||||
            if (main.pluginUseCompress) {
 | 
			
		||||
                await main.loadScript(`project/processG.min.js`);
 | 
			
		||||
            if (main.scriptCompress) {
 | 
			
		||||
                await main.loadScript(`data.process.js`);
 | 
			
		||||
            } else {
 | 
			
		||||
                await main.loadScript(`esm?name=src/data.ts`, true);
 | 
			
		||||
            }
 | 
			
		||||
@ -369,11 +361,6 @@ core.prototype._loadGameProcess = async function () {
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
core.prototype._loadGameProcessSync = function () {
 | 
			
		||||
    if (main.useCompress) main.loadMod('project', 'processG', () => 0);
 | 
			
		||||
    else main.loadMod('project', 'processG.min', () => 0);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
core.prototype._init_flags = function () {
 | 
			
		||||
    core.flags = core.clone(core.data.flags);
 | 
			
		||||
    core.values = core.clone(core.data.values);
 | 
			
		||||
 | 
			
		||||
@ -5,6 +5,7 @@ function main() {
 | 
			
		||||
    this.version = '1.0.0'; // 游戏版本号;如果更改了游戏内容建议修改此version以免造成缓存问题。
 | 
			
		||||
 | 
			
		||||
    this.useCompress = false; // 是否使用压缩文件
 | 
			
		||||
    this.scriptCompress = false; // 是否经过打包
 | 
			
		||||
    this.skipResourcePackage = true; // 跳过资源打包
 | 
			
		||||
 | 
			
		||||
    this.bgmRemote = false; // 是否采用远程BGM
 | 
			
		||||
 | 
			
		||||
@ -121,7 +121,11 @@ main.floors.MT0=
 | 
			
		||||
    "autoEvent": {},
 | 
			
		||||
    "bgm": "cave.opus",
 | 
			
		||||
    "beforeBattle": {},
 | 
			
		||||
    "bg2map": [],
 | 
			
		||||
    "fg2map": [],
 | 
			
		||||
    "bg2map": [
 | 
			
		||||
 | 
			
		||||
],
 | 
			
		||||
    "fg2map": [
 | 
			
		||||
 | 
			
		||||
],
 | 
			
		||||
    "cannotMoveIn": {}
 | 
			
		||||
}
 | 
			
		||||
@ -435,9 +435,13 @@ async function buildGame() {
 | 
			
		||||
            );
 | 
			
		||||
        }
 | 
			
		||||
        const code = transformed.code;
 | 
			
		||||
        const modifiedHead = head.replace(
 | 
			
		||||
            'this.scriptCompress = false;',
 | 
			
		||||
            'this.scriptCompress = true;'
 | 
			
		||||
        );
 | 
			
		||||
        await writeFile(
 | 
			
		||||
            resolve(tempDir, 'common/main.js'),
 | 
			
		||||
            head + '\n// >>>> body end\n' + code,
 | 
			
		||||
            modifiedHead + '\n// >>>> body end\n' + code,
 | 
			
		||||
            'utf-8'
 | 
			
		||||
        );
 | 
			
		||||
    } catch (e) {
 | 
			
		||||
@ -523,7 +527,8 @@ async function buildGame() {
 | 
			
		||||
        'project/icons.js',
 | 
			
		||||
        'project/items.js',
 | 
			
		||||
        'project/maps.js',
 | 
			
		||||
        'project/plugins.js'
 | 
			
		||||
        'project/plugins.js',
 | 
			
		||||
        'project/materials/airwall.png'
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
    clientPackArr.forEach(v => {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user