hehe trisync
This commit is contained in:
parent
ccf431d382
commit
67b09a864a
1 changed files with 57 additions and 24 deletions
|
|
@ -100,6 +100,16 @@
|
|||
let showAddFromTAPoolPopup: boolean = false;
|
||||
let allowAddFromTAPool: boolean = true;
|
||||
|
||||
interface PlayerModState {
|
||||
platformId: string;
|
||||
isColorSwitched: boolean;
|
||||
isHandSwitched: boolean;
|
||||
isBlueDisabled: boolean;
|
||||
isRedDisabled: boolean;
|
||||
}
|
||||
|
||||
let playerModificationStates: PlayerModState[] = []
|
||||
|
||||
// User editing state
|
||||
let isModifyGameplayPopupVisible: boolean = false;
|
||||
let editingPlayerPlatformId: string, editingPlayerName: string, editingPlayerPfp: string = "";
|
||||
|
|
@ -817,35 +827,59 @@
|
|||
try {
|
||||
const results: any[] = [];
|
||||
|
||||
// Helper function to check if a specific modifier is enabled
|
||||
const isModifierEnabled = (modifier: Command_ModifyGameplay_Modifier): boolean => {
|
||||
return (modifiers & (1 << modifier)) !== 0;
|
||||
};
|
||||
|
||||
// Apply each modifier if enabled
|
||||
if (isModifierEnabled(Command_ModifyGameplay_Modifier.InvertColors)) {
|
||||
console.log('Inverting colors for users:', userIds);
|
||||
const response = await client.flipColors(tournamentGuid, userIds);
|
||||
results.push({ type: 'InvertColors', response });
|
||||
}
|
||||
let flipColorUserIds: string[] = [];
|
||||
let flipHandUserIds: string[] = [];
|
||||
let flipBlueUserIds: string[] = [];
|
||||
let flipRedUserIds: string[] = [];
|
||||
|
||||
if (isModifierEnabled(Command_ModifyGameplay_Modifier.InvertHandedness)) {
|
||||
console.log('Inverting handedness for users:', userIds);
|
||||
const response = await client.flipHands(tournamentGuid, userIds);
|
||||
results.push({ type: 'InvertHandedness', response });
|
||||
await Promise.all(userIds.map(userId => {
|
||||
const userObject = playerModificationStates.find(x => x.platformId == userId);
|
||||
if(!userObject) {
|
||||
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('Disabling blue notes for users:', userIds);
|
||||
const response = await client.disableBlueNotes(tournamentGuid, userIds);
|
||||
results.push({ type: 'DisableBlueNotes', response });
|
||||
}
|
||||
console.log('Inverting colors for users:', flipColorUserIds);
|
||||
const response1 = await client.flipColors(tournamentGuid, flipColorUserIds);
|
||||
results.push({ type: 'InvertColors', response1 });
|
||||
|
||||
if (isModifierEnabled(Command_ModifyGameplay_Modifier.DisableRedNotes)) {
|
||||
console.log('Disabling red notes for users:', userIds);
|
||||
const response = await client.disableRedNotes(tournamentGuid, userIds);
|
||||
results.push({ type: 'DisableRedNotes', response });
|
||||
}
|
||||
console.log('Inverting handedness for users:', flipHandUserIds);
|
||||
const response2 = await client.flipHands(tournamentGuid, flipHandUserIds);
|
||||
results.push({ type: 'InvertHandedness', response2 });
|
||||
|
||||
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("Modifier apply res", results);
|
||||
|
|
@ -867,8 +901,7 @@
|
|||
async function handleSendModifyGameplay(event: CustomEvent) {
|
||||
const { platformId, modifiers } = event.detail;
|
||||
|
||||
// Convert platformId to userIds array if needed
|
||||
const userIds = [platformId]; // or however you map platform ID to user IDs
|
||||
const userIds = [platformId];
|
||||
|
||||
await handleSetGameplayModifiersForUsersVerbose(userIds, modifiers);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue