mylingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
22 lines (21 loc) • 1.17 kB
TypeScript
import { Cancellable } from "@lincode/promiselikes";
import { GetGlobalState } from "@lincode/reactivity";
import { Object3D } from "three";
import IEventLoop from "../../interface/IEventLoop";
import Appendable from "./Appendable";
export default abstract class EventLoopItem<T extends Object3D = Object3D> extends Appendable<T> implements IEventLoop {
private _proxy?;
get proxy(): EventLoopItem<Object3D<import("three").Event>> | undefined;
set proxy(val: EventLoopItem<Object3D<import("three").Event>> | undefined);
timer(time: number, repeat: number, cb: () => void): Cancellable;
beforeRender(cb: () => void): Cancellable;
queueMicrotask(cb: () => void): void;
protected cancellable(cb?: () => void): Cancellable;
protected createEffect(cb: () => (() => void) | void, getStates: Array<GetGlobalState<any> | any>): Cancellable;
private handles?;
protected cancelHandle(name: string, lazyHandle: undefined | false | "" | (() => Cancellable)): Cancellable | undefined;
dispose(): this;
private _onLoop?;
get onLoop(): (() => void) | undefined;
set onLoop(cb: (() => void) | undefined);
}