Files
2026-07-17 10:54:32 +08:00

93 lines
6.3 KiB
TypeScript

// @structural-rewrite-v1
export interface CombatHudSnapshot {
isOnAim: boolean;
isOpenSaomiao: boolean;
onTip: boolean;
tipTimer: number;
onStep: boolean;
limitFire: boolean;
}
export type CombatHudAction = {
kind: 'reset';
} | {
kind: 'aim';
active: boolean;
} | {
kind: 'scan';
open: boolean;
} | {
kind: 'tip';
open: boolean;
} | {
kind: 'tutorial';
active: boolean;
} | {
kind: 'fireLock';
locked: boolean;
} | {
kind: 'tickTip';
deltaTime: number;
};
export class CombatHudModel {
private current: CombatHudSnapshot = {
"isOnAim": false,
"isOpenSaomiao": false,
"onTip": false,
"tipTimer": 0,
"onStep": false,
"limitFire": false,
};
get snapshot(): Readonly<CombatHudSnapshot> {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: return this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown;
}
} while (false);
}
finally {
}
}
dispatch(action: CombatHudAction): boolean {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
switch (action["kind"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown) {
case 'reset':
void (this["current"] = { ...this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, "isOnAim": false, "isOpenSaomiao": false, "onTip": false, "tipTimer": 0 });
break;
case 'aim':
void (this["current"] = { ...this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, "isOnAim": action["active"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown });
break;
case 'scan':
void (this["current"] = { ...this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, "isOpenSaomiao": action["open"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown });
break;
case 'tip':
void (this["current"] = { ...this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, "onTip": action["open"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, "tipTimer": 0 });
break;
case 'tutorial':
void (this["current"] = { ...this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, "onStep": action["active"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown });
break;
case 'fireLock':
void (this["current"] = { ...this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, "limitFire": action["locked"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown });
break;
case 'tickTip':
if ((this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["onStep"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown || (this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["onTip"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)
break;
void (this["current"] = { ...this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, "tipTimer": ((this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["tipTimer"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown) + (action["deltaTime"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown) });
return (this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["tipTimer"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown > 30;
}
return false;
}
} while (false);
}
finally {
}
}
}