implement nullable refs in a type-safe manner

This commit is contained in:
tresabhi committed 2026-07-11 17:09:38 -05:00
1 parent 4571d141e6
commit 46937693a0
1 file changed
+8 -8
@@ -42,10 +42,10 @@ const TRACER_THIN = TRACER_THICK / 2;
export function ShotDisplay() { export function ShotDisplay() {
const shot = Tankopedia.use((state) => state.shot); const shot = Tankopedia.use((state) => state.shot);
const inTracer = useRef<Mesh>(null!); const inTracer = useRef<Mesh>(null);
const outTracer = useRef<Mesh>(null!); const outTracer = useRef<Mesh>(null);
const splashRadiusWrapper = useRef<Group>(null!); const splashRadiusWrapper = useRef<Group>(null);
const splashRadiusMaterial = useRef<MeshBasicMaterial>(null!); const splashRadiusMaterial = useRef<MeshBasicMaterial>(null);
const { locale } = useLocale(); const { locale } = useLocale();
useEffect(() => { useEffect(() => {
@@ -255,11 +255,11 @@ export function ShotDisplay() {
} }
interface AnimatorProps { interface AnimatorProps {
inTracer: RefObject<Mesh>; inTracer: RefObject<Mesh | null>;
outTracer: RefObject<Mesh>; outTracer: RefObject<Mesh | null>;
splashRadiusWrapper: RefObject<Group>; splashRadiusWrapper: RefObject<Group | null>;
splashRadiusMaterial: RefObject<MeshBasicMaterial>; splashRadiusMaterial: RefObject<MeshBasicMaterial | null>;
inLength: number; inLength: number;
outLength: number; outLength: number;