93 lines
6.3 KiB
TypeScript
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 {
|
|
}
|
|
}
|
|
}
|