import {CartState, WorldBoundaries} from "../Data/Parser"; export interface CartProp { cart: CartState; mapBoundary: WorldBoundaries; targetSize: { width: number; height: number; }; scale: number; } export function Projectile(props: CartProp) { const worldWidth = props.mapBoundary.boundary_max.x - props.mapBoundary.boundary_min.x; const worldHeight = props.mapBoundary.boundary_max.y - props.mapBoundary.boundary_min.y; const x = () => props.cart.position.x - props.mapBoundary.boundary_min.x; const y = () => props.cart.position.y - props.mapBoundary.boundary_min.y; const scaledX = () => x() / worldWidth * props.targetSize.width; const scaledY = () => (worldHeight - y()) / worldHeight * props.targetSize.height; const transform = () => `translate(${scaledX()} ${scaledY()}) scale(${1 / props.scale})`; const rotate = () => `rotate(0)`; // todo try { return } catch (e) { return null; } }