UNPKG

lingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

31 lines 1.11 kB
import CharacterCamera from "../core/CharacterCamera"; import { Reactive } from "@lincode/reactivity"; import ObjectManager from "../core/ObjectManager"; import { characterCameraSystem } from "../../systems/characterCameraSystem"; class FirstPersonCamera extends CharacterCamera { static componentName = "firstPersonCamera"; constructor() { super(); characterCameraSystem.add(this); this.createEffect(() => { const found = this.firstChildState.get(); const innerYSet = this.innerYSetState.get(); if (!(found instanceof ObjectManager) || innerYSet) return; super.innerY = found.height * 0.4; return () => { super.innerY = 0; }; }, [this.firstChildState.get, this.innerYSetState.get]); } innerYSetState = new Reactive(false); get innerY() { return super.innerY; } set innerY(val) { super.innerY = val; this.innerYSetState.set(true); } } export default FirstPersonCamera; //# sourceMappingURL=FirstPersonCamera.js.map