@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.
39 lines (38 loc) • 1.29 kB
TypeScript
import { type IComponent } from "../../engine/engine_types.js";
export interface ICanvas extends IComponent {
get isCanvas(): boolean;
get screenspace(): boolean;
registerTransform(rt: IRectTransform): any;
unregisterTransform(rt: IRectTransform): any;
registerEventReceiver(receiver: ICanvasEventReceiver): any;
unregisterEventReceiver(receiver: ICanvasEventReceiver): any;
}
export interface ICanvasGroup {
get isCanvasGroup(): boolean;
blocksRaycasts: boolean;
interactable: boolean;
}
export interface IHasAlphaFactor {
setAlphaFactor(val: number): any;
}
export interface IGraphic extends IComponent, IHasAlphaFactor {
get isGraphic(): boolean;
raycastTarget: boolean;
}
export interface IRectTransform extends IComponent {
get isDirty(): boolean;
markDirty(): any;
updateTransform(): any;
}
export interface IRectTransformChangedReceiver {
onParentRectTransformChanged(comp: IRectTransform): void;
}
export interface ILayoutGroup extends IComponent {
get isLayoutGroup(): boolean;
get isDirty(): boolean;
updateLayout(): any;
}
export interface ICanvasEventReceiver {
/** Called before the canvas is rendering */
onBeforeCanvasRender?(canvas: ICanvas): any;
}