hehe trisync

This commit is contained in:
Luna 2025-10-03 18:20:26 +02:00
parent ccf431d382
commit 67b09a864a

View file

@ -100,6 +100,16 @@
let showAddFromTAPoolPopup: boolean = false; let showAddFromTAPoolPopup: boolean = false;
let allowAddFromTAPool: boolean = true; let allowAddFromTAPool: boolean = true;
interface PlayerModState {
platformId: string;
isColorSwitched: boolean;
isHandSwitched: boolean;
isBlueDisabled: boolean;
isRedDisabled: boolean;
}
let playerModificationStates: PlayerModState[] = []
// User editing state // User editing state
let isModifyGameplayPopupVisible: boolean = false; let isModifyGameplayPopupVisible: boolean = false;
let editingPlayerPlatformId: string, editingPlayerName: string, editingPlayerPfp: string = ""; let editingPlayerPlatformId: string, editingPlayerName: string, editingPlayerPfp: string = "";
@ -817,35 +827,59 @@
try { try {
const results: any[] = []; const results: any[] = [];
// Helper function to check if a specific modifier is enabled
const isModifierEnabled = (modifier: Command_ModifyGameplay_Modifier): boolean => { const isModifierEnabled = (modifier: Command_ModifyGameplay_Modifier): boolean => {
return (modifiers & (1 << modifier)) !== 0; return (modifiers & (1 << modifier)) !== 0;
}; };
// Apply each modifier if enabled let flipColorUserIds: string[] = [];
if (isModifierEnabled(Command_ModifyGameplay_Modifier.InvertColors)) { let flipHandUserIds: string[] = [];
console.log('Inverting colors for users:', userIds); let flipBlueUserIds: string[] = [];
const response = await client.flipColors(tournamentGuid, userIds); let flipRedUserIds: string[] = [];
results.push({ type: 'InvertColors', response });
}
if (isModifierEnabled(Command_ModifyGameplay_Modifier.InvertHandedness)) { await Promise.all(userIds.map(userId => {
console.log('Inverting handedness for users:', userIds); const userObject = playerModificationStates.find(x => x.platformId == userId);
const response = await client.flipHands(tournamentGuid, userIds); if(!userObject) {
results.push({ type: 'InvertHandedness', response }); if(isModifierEnabled(Command_ModifyGameplay_Modifier.InvertColors)) flipColorUserIds = [...flipColorUserIds, userId];
} if(isModifierEnabled(Command_ModifyGameplay_Modifier.InvertHandedness)) flipHandUserIds = [...flipHandUserIds, userId];
if(isModifierEnabled(Command_ModifyGameplay_Modifier.DisableBlueNotes)) flipBlueUserIds = [...flipBlueUserIds, userId];
if(isModifierEnabled(Command_ModifyGameplay_Modifier.DisableRedNotes)) flipRedUserIds = [...flipRedUserIds, userId];
playerModificationStates = [...playerModificationStates, {
platformId: userId,
isColorSwitched: isModifierEnabled(Command_ModifyGameplay_Modifier.InvertColors),
isHandSwitched: isModifierEnabled(Command_ModifyGameplay_Modifier.InvertHandedness),
isBlueDisabled: isModifierEnabled(Command_ModifyGameplay_Modifier.DisableBlueNotes),
isRedDisabled: isModifierEnabled(Command_ModifyGameplay_Modifier.DisableRedNotes)
}];
} else {
if(isModifierEnabled(Command_ModifyGameplay_Modifier.InvertColors) !== userObject.isColorSwitched) flipColorUserIds = [...flipColorUserIds, userId];
if(isModifierEnabled(Command_ModifyGameplay_Modifier.InvertHandedness) !== userObject.isHandSwitched) flipHandUserIds = [...flipHandUserIds, userId];
if(isModifierEnabled(Command_ModifyGameplay_Modifier.DisableBlueNotes) !== userObject.isBlueDisabled) flipBlueUserIds = [...flipBlueUserIds, userId];
if(isModifierEnabled(Command_ModifyGameplay_Modifier.DisableRedNotes) !== userObject.isRedDisabled) flipRedUserIds = [...flipRedUserIds, userId];
playerModificationStates = [...playerModificationStates.filter(x => x.platformId != userId), {
platformId: userId,
isColorSwitched: !userObject.isColorSwitched,
isHandSwitched: !userObject.isHandSwitched,
isBlueDisabled: !userObject.isBlueDisabled,
isRedDisabled: !userObject.isRedDisabled
}];
}
}));
if (isModifierEnabled(Command_ModifyGameplay_Modifier.DisableBlueNotes)) { console.log('Inverting colors for users:', flipColorUserIds);
console.log('Disabling blue notes for users:', userIds); const response1 = await client.flipColors(tournamentGuid, flipColorUserIds);
const response = await client.disableBlueNotes(tournamentGuid, userIds); results.push({ type: 'InvertColors', response1 });
results.push({ type: 'DisableBlueNotes', response });
}
if (isModifierEnabled(Command_ModifyGameplay_Modifier.DisableRedNotes)) { console.log('Inverting handedness for users:', flipHandUserIds);
console.log('Disabling red notes for users:', userIds); const response2 = await client.flipHands(tournamentGuid, flipHandUserIds);
const response = await client.disableRedNotes(tournamentGuid, userIds); results.push({ type: 'InvertHandedness', response2 });
results.push({ type: 'DisableRedNotes', response });
} console.log('Disabling blue notes for users:', flipBlueUserIds);
const response3 = await client.disableBlueNotes(tournamentGuid, flipBlueUserIds);
results.push({ type: 'DisableBlueNotes', response3 });
console.log('Disabling red notes for users:', flipRedUserIds);
const response4 = await client.disableRedNotes(tournamentGuid, flipRedUserIds);
results.push({ type: 'DisableRedNotes', response4 });
console.log(`Applied ${results.length} modifiers successfully`); console.log(`Applied ${results.length} modifiers successfully`);
console.log("Modifier apply res", results); console.log("Modifier apply res", results);
@ -867,8 +901,7 @@
async function handleSendModifyGameplay(event: CustomEvent) { async function handleSendModifyGameplay(event: CustomEvent) {
const { platformId, modifiers } = event.detail; const { platformId, modifiers } = event.detail;
// Convert platformId to userIds array if needed const userIds = [platformId];
const userIds = [platformId]; // or however you map platform ID to user IDs
await handleSetGameplayModifiersForUsersVerbose(userIds, modifiers); await handleSetGameplayModifiersForUsersVerbose(userIds, modifiers);
} }