refactor: 选择难度操作新增索引参数

This commit is contained in:
unanmed 2025-10-09 23:46:37 +08:00
parent 2110071b84
commit c9a8113d86

View File

@ -47,8 +47,7 @@ const enum TitleButton {
StartGame, StartGame,
LoadGame, LoadGame,
Replay, Replay,
Achievement, Achievement
HardBack = -114514
} }
interface ButtonItem { interface ButtonItem {
@ -134,7 +133,7 @@ export const GameTitle = defineComponent<GameTitleProps>(props => {
}; };
}); });
hard.push({ hard.push({
code: TitleButton.HardBack, code: -1,
color: '#aaa', color: '#aaa',
name: '返回', name: '返回',
hard: '', hard: '',
@ -203,13 +202,13 @@ export const GameTitle = defineComponent<GameTitleProps>(props => {
}); });
}; };
const clickButton = (code: number) => { const clickButton = (code: number, index: number) => {
if (selectHard.value) { if (selectHard.value) {
if (code === TitleButton.HardBack) { if (index === hard.length - 1) {
toggleHard(); toggleHard();
return; return;
} }
const item = hard.find(v => v.code === code)!; const item = hard[index];
startGame(item.name); startGame(item.name);
} else { } else {
switch (code) { switch (code) {
@ -267,7 +266,11 @@ export const GameTitle = defineComponent<GameTitleProps>(props => {
{ type: 'down' } { type: 'down' }
) )
.realize('confirm', () => { .realize('confirm', () => {
clickButton(selected.value); if (selectHard.value) {
clickButton(hard[selected.value].code, selected.value);
} else {
clickButton(buttons[selected.value].code, selected.value);
}
}); });
//#region 鼠标操作 //#region 鼠标操作
@ -483,7 +486,7 @@ export const GameTitle = defineComponent<GameTitleProps>(props => {
// 这个缩放性能影响极大,原因不明 // 这个缩放性能影响极大,原因不明
// scale={[v.scale.ref.value, v.scale.ref.value]} // scale={[v.scale.ref.value, v.scale.ref.value]}
onEnter={() => enterMain(i)} onEnter={() => enterMain(i)}
onClick={() => clickButton(v.code)} onClick={() => clickButton(v.code, i)}
/> />
); );
})} })}
@ -505,7 +508,7 @@ export const GameTitle = defineComponent<GameTitleProps>(props => {
filter={buttonFilter} filter={buttonFilter}
fillStyle={v.colorTrans.ref.value} fillStyle={v.colorTrans.ref.value}
onEnter={() => enterHard(i)} onEnter={() => enterHard(i)}
onClick={() => clickButton(v.code)} onClick={() => clickButton(v.code, i)}
/> />
); );
})} })}