fix: fix some type

This commit is contained in:
ShakeFlower 2025-05-08 09:54:20 +08:00
parent bf8d4ba43a
commit 06321367a9
2 changed files with 53 additions and 38 deletions

View File

@ -313,22 +313,22 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
// 创建新图层
function createCanvas(name, zIndex) {
if (!name) return;
var canvas = document.createElement('canvas');
const canvas = document.createElement('canvas');
canvas.id = name;
canvas.className = 'gameCanvas';
// 编辑器模式下设置zIndex会导致加入的图层覆盖优先级过高
if (main.mode != "editor") canvas.style.zIndex = zIndex || 0;
// 将图层插入进游戏内容
document.getElementById('gameDraw').appendChild(canvas);
var ctx = canvas.getContext('2d');
core.canvas[name] = ctx;
document.getElementById('gameDraw')?.appendChild(canvas);
const ctx = canvas.getContext('2d');
if (ctx) core.canvas[name] = ctx;
canvas.width = core.__PIXELS__;
canvas.height = core.__PIXELS__;
return canvas;
}
var bg2Canvas = createCanvas('bg2', 20);
var fg2Canvas = createCanvas('fg2', 63);
const bg2Canvas = createCanvas('bg2', 20);
const fg2Canvas = createCanvas('fg2', 63);
// 大地图适配
core.bigmap.canvas = ["bg2", "fg2", "bg", "event", "event2", "fg", "damage"];
core.initStatus.bg2maps = {};
@ -338,9 +338,9 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
/*插入编辑器的图层 不做此步新增图层无法在编辑器显示*/
// 编辑器图层覆盖优先级 eui > efg > fg(前景层) > event2(48*32图块的事件层) > event(事件层) > bg(背景层)
// 背景层2(bg2) 插入事件层(event)之前(即bg与event之间)
document.getElementById('mapEdit').insertBefore(bg2Canvas, document.getElementById('event'));
if (bg2Canvas) document.getElementById('mapEdit')?.insertBefore(bg2Canvas, document.getElementById('event'));
// 前景层2(fg2) 插入编辑器前景(efg)之前(即fg之后)
document.getElementById('mapEdit').insertBefore(fg2Canvas, document.getElementById('ebm'));
if (fg2Canvas) document.getElementById('mapEdit')?.insertBefore(fg2Canvas, document.getElementById('ebm'));
// 原本有三个图层 从4开始添加
var num = 4;
// 新增图层存入editor.dom中
@ -352,13 +352,13 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
editor.dom.canvas.push('bg2', 'fg2');
// 创建编辑器上的按钮
var createCanvasBtn = function (name) {
const createCanvasBtn = function (name) {
// 电脑端创建按钮
var input = document.createElement('input');
const input = document.createElement('input');
// layerMod4/layerMod5
var id = 'layerMod' + num++;
const id = 'layerMod' + num++;
// bg2map/fg2map
var value = name + 'map';
const value = name + 'map';
input.type = 'radio';
input.name = 'layerMod';
input.id = id;
@ -370,44 +370,48 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
return input;
};
var createCanvasBtn_mobile = function (name) {
const createCanvasBtn_mobile = function (name) {
// 手机端往选择列表中添加子选项
var input = document.createElement('option');
var id = 'layerMod' + num++;
var value = name + 'map';
const input = document.createElement('option');
const id = 'layerMod' + num++;
const value = name + 'map';
input.name = 'layerMod';
input.value = value;
editor.dom[id] = input;
return input;
};
if (!editor.isMobile) {
var input = createCanvasBtn('bg2');
var input2 = createCanvasBtn('fg2');
const input = createCanvasBtn('bg2');
const input2 = createCanvasBtn('fg2');
// 获取事件层及其父节点
var child = document.getElementById('layerMod'),
parent = child.parentNode;
// 背景层2插入事件层前
parent.insertBefore(input, child);
// 不能直接更改背景层2的innerText 所以创建文本节点
var txt = document.createTextNode('bg2');
// 插入事件层前(即新插入的背景层2前)
parent.insertBefore(txt, child);
// 向最后插入前景层2(即插入前景层后)
parent.appendChild(input2);
var txt2 = document.createTextNode('fg2');
parent.appendChild(txt2);
parent.childNodes[2].replaceWith("bg");
parent.childNodes[6].replaceWith("事件");
parent.childNodes[8].replaceWith("fg");
const child = document.getElementById('layerMod'),
parent = child?.parentNode;
if (parent) {
// 背景层2插入事件层前
parent.insertBefore(input, child);
// 不能直接更改背景层2的innerText 所以创建文本节点
var txt = document.createTextNode('bg2');
// 插入事件层前(即新插入的背景层2前)
parent.insertBefore(txt, child);
// 向最后插入前景层2(即插入前景层后)
parent.appendChild(input2);
var txt2 = document.createTextNode('fg2');
parent.appendChild(txt2);
parent.childNodes[2].replaceWith("bg");
parent.childNodes[6].replaceWith("事件");
parent.childNodes[8].replaceWith("fg");
}
} else {
var input = createCanvasBtn_mobile('bg2');
var input2 = createCanvasBtn_mobile('fg2');
const input = createCanvasBtn_mobile('bg2');
const input2 = createCanvasBtn_mobile('fg2');
// 手机端因为是选项 所以可以直接改innerText
input.innerText = '背景层2';
input2.innerText = '前景层2';
var parent = document.getElementById('layerMod');
parent.insertBefore(input, parent.children[1]);
parent.appendChild(input2);
const parent = document.getElementById('layerMod');
if (parent) {
parent.insertBefore(input, parent.children[1]);
parent.appendChild(input2);
}
}
}

11
runtime.d.ts vendored
View File

@ -979,6 +979,7 @@ interface events {
__action_checkReplaying(): boolean
_action_sleep(data: { time: number }, x?: undefined, y?: undefined, prefix?: undefined): void
_startGame_start(hard: string, seed: number, route: string, callback: Function): void
_startGame_afterStart(callback: Function): void
/**
*
@ -1644,10 +1645,19 @@ interface enemys {
}
}
type mapsConfig = {
onMap: boolean, ctx?: CanvasRenderingContext2D,
redraw?: boolean, postDraw?: (() => void)[]
}
/** @file maps.js负责一切和地图相关的处理内容 */
interface maps {
_loadFloor_doNotCopy(): string[]
_getAndRemoveBlock(x: number, y: number): [Block, any]
_drawBg_draw(floorId: string, toDrawCtx: CanvasRenderingContext2D, cacheCtx: CanvasRenderingContext2D,
config: mapsConfig): void
_drawBgFgMap(floorId: string, name: string, config: mapsConfig): void
_drawBg_drawBackground(floorId: string, config: mapsConfig): void
/**
* core.maps.blockInfo的一个拷贝
@ -2339,6 +2349,7 @@ interface ui {
_buildFont(fontSize?: number | string, bold?: boolean, italic?: boolean, font?: string): string
_createUIEvent(): void
_drawBook_drawName(index: number, enemy: Enemy, top: number, left: number, width: number): void
_drawBook_drawRow1(index: number, enemy: Enemy, top: number, left: number, width: number, position: number): void
/**
* contextnull