@needle-tools/engine
Version:
Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in
49 lines (48 loc) • 1.61 kB
TypeScript
import { Behaviour } from "./Component.js";
export declare const SyncedTransformIdentifier = "STRS";
/** Creates a flatbuffer model containing the transform data of a game object. Used by {@link SyncedTransform}
*/
export declare function createTransformModel(guid: string, b: Behaviour, fast?: boolean): Uint8Array;
/**
* SyncedTransform is a behaviour that syncs the transform of a game object over the network.
* @category Networking
* @group Components
*/
export declare class SyncedTransform extends Behaviour {
overridePhysics: boolean;
interpolatePosition: boolean;
interpolateRotation: boolean;
fastMode: boolean;
syncDestroy: boolean;
private _model;
private _needsUpdate;
private rb;
private _wasKinematic;
private _receivedDataBefore;
private _targetPosition;
private _targetRotation;
private _receivedFastUpdate;
private _shouldRequestOwnership;
/** Request ownership of an object - you need to be connected to a room */
requestOwnership(): void;
hasOwnership(): boolean | undefined;
isOwned(): boolean | undefined;
private joinedRoomCallback;
private receivedDataCallback;
/** @internal */
awake(): void;
/** @internal */
onDestroy(): void;
private tryGetLastState;
private tempEuler;
private onReceivedData;
/** @internal */
onEnable(): void;
/** @internal */
onDisable(): void;
private receivedUpdate;
private lastWorldPos;
private lastWorldRotation;
/** @internal */
onBeforeRender(): void;
}