MSD-HvH/MSDSquad

First two arguments of UI.SetValue & UI.GetValue aren't mandatory

Closed this issue · 5 comments

xlzs0 commented

image
image
image

Во втором случае я рассчитывал на то, что люди будут прописывать полный путь.
А Anti-Aim просто криворукий делал без сабтабов. Потом укажу как необязательные

xlzs0 commented

Возможное решение для второго случая:

function SetValue <N extends string> (Area: string, name: N, value: boolean | 1 | 0): void;
function GetValue <N extends string> (Area: string, name: N): boolean | 1 | 0;

я думаю просто Tab и Subtab сделать optional
Хотя наверное проще их убрать будет

xlzs0 commented

я думаю просто Tab и Subtab сделать optional

Компилятор так не думает
image
image

xlzs0 commented

Хотя наверное проще их убрать будет

Зачем? Можно создать копии фукнций

function GetValue <T extends keyof Subtabs, N extends string> (Tab: T, Area: string, name: N): boolean | 1 | 0
function GetValue <N extends string> (Area: string, name: N): boolean | 1 | 0;
function SetValue <T extends keyof Subtabs, N extends string> (Tab: T, Area: string, name: N, value: boolean | 1 | 0): void;
function SetValue <N extends string> (Area: string, name: N, value: boolean | 1 | 0): void;