diff --git a/src/model/Match.ts b/src/model/Match.ts index a2df199..df0f451 100644 --- a/src/model/Match.ts +++ b/src/model/Match.ts @@ -158,6 +158,9 @@ export class Match { if (this.agentSelectStartTime == undefined) { this.agentSelectStartTime = data.timestamp; } + if (this.tools.agentSelectAutostart) { + this.tools.agentSelectActive = true; + } correctTeam.receiveTeamSpecificData(data); break; @@ -371,6 +374,10 @@ export class Match { this.showAliveKDA = !this.showAliveKDA; break; + case DataTypes.TOGGLE_AGENT_SELECT: + this.tools.agentSelectActive = !this.tools.agentSelectActive; + break; + case DataTypes.TOAST: this.handleToast(data.data as IToastInfo); break; diff --git a/src/model/ToolsData.ts b/src/model/ToolsData.ts index 53601f7..71a81f6 100644 --- a/src/model/ToolsData.ts +++ b/src/model/ToolsData.ts @@ -46,11 +46,14 @@ export class ToolsData { type: "disabled", sponsors: [], }; + public agentSelectAutostart: boolean = true; + public agentSelectActive: boolean = false; - public constructor(init?: Partial) { + public constructor(init?: Partial & { agentSelectHotkeyEnabled?: boolean }) { Object.assign(this, init); this.timeoutCounter.left = this.timeoutCounter.max; this.timeoutCounter.right = this.timeoutCounter.max; + this.agentSelectAutostart = !(init?.agentSelectHotkeyEnabled ?? false); } } diff --git a/src/model/eventData.ts b/src/model/eventData.ts index c18fe62..71bbfdb 100644 --- a/src/model/eventData.ts +++ b/src/model/eventData.ts @@ -181,6 +181,7 @@ export enum DataTypes { LEFT_TIMEOUT = "left_timeout", RIGHT_TIMEOUT = "right_timeout", SWITCH_KDA_CREDITS = "switch_kda_credits", + TOGGLE_AGENT_SELECT = "toggle_agent_select", // Preview data types PREVIEW = "preview", // Mid Match data types