Skip to content

Commit c4a5a15

Browse files
Jurorno9BalaM314
authored andcommitted
pagemenu bugfix, player autofill dialog changed from menu to listmenu
1 parent 6988841 commit c4a5a15

File tree

4 files changed

+19
-7
lines changed

4 files changed

+19
-7
lines changed

build/scripts/commands.js

Lines changed: 7 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/scripts/menus.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/commands.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This file contains the commands system.
66

77
import { FColor, Gamemode, GamemodeName, text } from "./config";
88
import { ipPattern, uuidPattern } from "./globals";
9-
import { GUI_Cancel, GUI_Container, menu } from "./menus";
9+
import { GUI_Cancel, GUI_Container, listMenu, menu, pageMenu } from "./menus";
1010
import { FishPlayer } from "./players";
1111
import { Rank, RankName, RoleFlag } from "./ranks";
1212
import type { ClientCommandHandler, CommandArg, FishCommandArgType, FishCommandData, FishCommandHandlerData, FishCommandHandlerUtils, FishConsoleCommandData, Formattable, PartialFormatString, SelectEnumClassKeys, ServerCommandHandler } from "./types";
@@ -676,10 +676,16 @@ function resolveArgsRecursive(processedArgs: Record<string, FishCommandArgType>,
676676
case "player": Groups.player.each(player => optionsList.push(player)); break;
677677
default: crash(`Unable to resolve arg of type ${argToResolve.type}`);
678678
}
679+
/*
679680
menu(`Select a player`, `Select a player for the argument "${argToResolve.name}"`, [new GUI_Container(optionsList, "auto", player => Strings.stripColors(player.name).length >= 3 ? Strings.stripColors(player.name) : escapeStringColorsClient(player.name)), new GUI_Cancel()], sender, ({data}) => {
680681
processedArgs[argToResolve.name] = FishPlayer.get(data);
681682
resolveArgsRecursive(processedArgs, unresolvedArgs, sender, callback);
682683
}, )
684+
*/
685+
listMenu(`Select a player`, `Select a player for the argument ${argToResolve.name}`,new GUI_Container(optionsList, "auto", (player:Player) => {return player.name}), sender, ({data}) => {
686+
processedArgs[argToResolve.name] = FishPlayer.get(data);
687+
resolveArgsRecursive(processedArgs, unresolvedArgs, sender, callback);
688+
})
683689

684690
}
685691

src/menus.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ export function pageMenu(title: string, description: string, elements: GUI_Eleme
145145
callback(res);
146146
}
147147
} else {
148-
callback(res.data);
148+
callback(res);
149149
}
150150
})
151151
return;
@@ -160,13 +160,13 @@ export function listMenu(title: string, description: string, list: GUI_Container
160160
let pagedData: any[][] = pooledData.reduce((res, _, index) => { if (index % pageSize === 0) { res.push(pooledData.slice(index, index + pageSize)); } return res; }, [] as any[][]);
161161
let pagesElements: GUI_Element[][] = [];
162162
pagedData.forEach(pageData => pagesElements.push([new GUI_Container(pageData, 1, list.stringifier)]));
163-
pageMenu(title, description, pagesElements, target, callback);
163+
pageMenu(title, description, pagesElements, target, (res) => {Log.info(`${res.data}`);callback(res)})
164164
}
165165
//#endregion
166166
//#region GUI Elements
167167

168168
interface GUI_Element {
169-
format(): string[][],
169+
format(): string[][], // honestly should have made this a 1d array for simplicity, but 2d lets you define multi-row elements
170170
data(): any[][]
171171
}
172172
export class GUI_Container implements GUI_Element {

0 commit comments

Comments
 (0)