Files
blockly3d/webclient/src/components/GameObjectView.tsx
T
azykov@mail.ru 579fe36e6c layered three view
game object geometries layer
2026-06-19 20:54:27 +03:00

31 lines
898 B
TypeScript

import { observer } from "mobx-react-lite";
import { state } from "../state";
import { ObjectViewInternal } from "./ObjectViewInternal";
import { PlayerObjectView } from "./CharacterView";
export type GameObjectViewProps = {
object: ObjectInstance;
isPlayer: boolean;
isSceneEditor?: boolean;
}
export const GameObjectView = observer(function (props: GameObjectViewProps) {
const objectType = state.world.getObjectTypeById(props.object.typeId);
if (!objectType)
return null;
if (props.isPlayer)
return <PlayerObjectView object={props.object} objectType={objectType} />;
function handleClick(): void {
state.game?.emitEvent('objectClicked', { object: props.object });
}
return <ObjectViewInternal
{...props}
objectType={objectType}
onClick={handleClick}
isSceneEditor={props.isSceneEditor}
/>;
});