react-simple-game-engine
Version:
[WIP] not able to use in currently. <!-- Document cumming soon... -->
110 lines • 3.53 kB
TypeScript
import { Entity } from "./classes/entities/entity";
import { Sprite } from "./classes/sprites/sprite";
import type { Body, IChamferableBodyDefinition } from "matter-js";
import { Initializer } from "./export-interfaces";
import { Sound } from "./classes/sound";
import { SoundType } from "./export-enums";
export type { Collection } from "./classes/p5";
export declare type Avatar = ReturnType<import("./classes/p5").P5["loadImage"]> & {
domImg: HTMLImageElement;
};
export declare type Color = [number, number, number, number?];
export declare type Point = {
x: number;
y: number;
};
export declare type Offset = Point & {
width: number;
height: number;
};
export declare type EntityPrepare<E extends Entity> = EntityInitial<E> & {
enabledPhysicBody?: boolean;
enabledGravity?: boolean;
};
export declare type MasterBody = Body & {
entity: Entity;
};
export declare type SensorBody = Body & {
sensor: import("./classes/sensor").Sensor;
entity: Entity;
};
export declare type CreateBodyDefine<E extends Record<string, any> = Record<string, any>> = {
transform?: Partial<Point> & E;
bodyOptions?: IChamferableBodyDefinition;
};
declare type TransformArgs<E extends Entity> = Parameters<E["onCreateBody"]>[1];
declare type BodyOptionsArgs<E extends Entity> = Parameters<E["onCreateBody"]>[2];
export declare type EntityInitial<E extends Entity> = {
transform?: TransformArgs<E>;
bodyOptions?: BodyOptionsArgs<E>;
sprite?: import("./classes/logic-component").LogicComponent<Sprite<any>>;
sound?: Sound;
name?: string;
isVisible?: boolean;
scaleX?: number;
scaleY?: number;
props?: Partial<E["props"]>;
};
export declare type Configuration<C extends Initializer> = Parameters<C["initial"]>[0];
export declare type Configurable<C extends Initializer = Initializer> = {
new (): C;
} | [{
new (): C;
}, Configuration<C>];
export declare type SoundManagement = Record<SoundType, {
canPlay: boolean;
}>;
export declare type SoundDecor = {
propertyKey: string;
src?: string;
type: SoundType;
volume?: number;
};
export declare type SpriteDecor = {
propertyKey: string;
src?: string;
};
export declare type GetSoundOptions = DeepPartial<SoundManagement>;
export declare type Size = {
width: number;
height: number;
};
export declare type JoystickAction = {
type: import("./export-enums").JoystickActionType.START | import("./export-enums").JoystickActionType.STOP;
vector?: null | never;
length?: null | never;
weight?: null | never;
direction?: null | never;
} | {
type: import("./export-enums").JoystickActionType.MOVE;
vector: import("p5").Vector;
length: number;
weight: number;
direction: import("./export-enums").JoystickDirection;
};
export declare type AssetErrorType = "load-sound" | "load-sprite" | "load-extends";
export declare type AssetsFailBehavior = {
skip: true;
render?: never;
} | {
skip?: false;
render?: (errors: {
type: AssetErrorType;
detail: any;
}[]) => import("react").ReactElement;
};
export declare type Vector = import("p5").Vector;
export declare type AnimationInitialParams<E extends Record<string, any> = Record<string, any>> = {
timePerFrame?: number;
source?: Avatar;
size?: Size;
maxCycle?: number;
isRunning?: boolean;
} & E;
export declare type EntityEdge = {
left: number;
right: number;
top: number;
bottom: number;
};
//# sourceMappingURL=export-types.d.ts.map