2020-06-08 11:49:45 +08:00
|
|
|
declare interface Array<T> {
|
|
|
|
|
findIndex(predicate: Function): number;
|
|
|
|
|
any(predicate: Function): boolean;
|
|
|
|
|
firstOrDefault(predicate: Function): T;
|
|
|
|
|
find(predicate: Function): T;
|
|
|
|
|
where(predicate: Function): Array<T>;
|
|
|
|
|
count(predicate: Function): number;
|
|
|
|
|
findAll(predicate: Function): Array<T>;
|
|
|
|
|
contains(value: any): boolean;
|
|
|
|
|
removeAll(predicate: Function): void;
|
|
|
|
|
remove(element: any): boolean;
|
|
|
|
|
removeAt(index: any): void;
|
|
|
|
|
removeRange(index: any, count: any): void;
|
|
|
|
|
select(selector: Function): Array<T>;
|
|
|
|
|
orderBy(keySelector: Function, comparer: Function): Array<T>;
|
|
|
|
|
orderByDescending(keySelector: Function, comparer: Function): Array<T>;
|
|
|
|
|
groupBy(keySelector: Function): Array<T>;
|
|
|
|
|
sum(selector: any): any;
|
|
|
|
|
}
|
2020-06-08 16:23:48 +08:00
|
|
|
declare abstract class Component {
|
|
|
|
|
entity: Entity;
|
|
|
|
|
displayRender: egret.DisplayObject;
|
|
|
|
|
abstract initialize(): any;
|
|
|
|
|
update(): void;
|
|
|
|
|
bind(displayRender: egret.DisplayObject): this;
|
|
|
|
|
}
|
2020-06-08 11:49:45 +08:00
|
|
|
declare class Entity {
|
|
|
|
|
name: string;
|
|
|
|
|
scene: Scene;
|
|
|
|
|
readonly transform: Transform;
|
2020-06-08 16:23:48 +08:00
|
|
|
readonly components: Component[];
|
|
|
|
|
private _updateOrder;
|
2020-06-08 11:49:45 +08:00
|
|
|
constructor(name: string);
|
2020-06-08 16:23:48 +08:00
|
|
|
updateOrder: number;
|
|
|
|
|
setUpdateOrder(updateOrder: number): this;
|
2020-06-08 11:49:45 +08:00
|
|
|
attachToScene(newScene: Scene): void;
|
2020-06-08 16:23:48 +08:00
|
|
|
addComponent<T extends Component>(component: T): T;
|
|
|
|
|
update(): void;
|
2020-06-08 11:49:45 +08:00
|
|
|
destory(): void;
|
|
|
|
|
}
|
|
|
|
|
declare class Scene extends egret.DisplayObjectContainer {
|
|
|
|
|
camera: Camera;
|
|
|
|
|
entities: Entity[];
|
2020-06-08 16:23:48 +08:00
|
|
|
private _projectionMatrix;
|
|
|
|
|
private _transformMatrix;
|
|
|
|
|
private _matrixTransformMatrix;
|
2020-06-08 11:49:45 +08:00
|
|
|
constructor(displayObject: egret.DisplayObject);
|
|
|
|
|
createEntity(name: string): Entity;
|
|
|
|
|
addEntity(entity: Entity): Entity;
|
|
|
|
|
setActive(): Scene;
|
|
|
|
|
initialize(): void;
|
|
|
|
|
onActive(): void;
|
|
|
|
|
onDeactive(): void;
|
2020-06-08 16:23:48 +08:00
|
|
|
update(): void;
|
|
|
|
|
prepRenderState(): void;
|
2020-06-08 11:49:45 +08:00
|
|
|
destory(): void;
|
|
|
|
|
}
|
|
|
|
|
declare class SceneManager {
|
|
|
|
|
private static _loadedScenes;
|
|
|
|
|
private static _lastScene;
|
|
|
|
|
private static _activeScene;
|
|
|
|
|
static createScene(name: string, scene: Scene): Scene;
|
|
|
|
|
static setActiveScene(scene: Scene): Scene;
|
2020-06-08 16:23:48 +08:00
|
|
|
static getActiveScene(): Scene;
|
2020-06-08 11:49:45 +08:00
|
|
|
}
|
|
|
|
|
declare class Transform {
|
|
|
|
|
readonly entity: Entity;
|
|
|
|
|
private _children;
|
|
|
|
|
private _parent;
|
2020-06-08 16:23:48 +08:00
|
|
|
private _localPosition;
|
|
|
|
|
private _localRotation;
|
|
|
|
|
private _localScale;
|
|
|
|
|
private _translationMatrix;
|
|
|
|
|
private _rotationMatrix;
|
|
|
|
|
private _scaleMatrix;
|
|
|
|
|
private _worldTransform;
|
|
|
|
|
private _worldToLocalTransform;
|
|
|
|
|
private _worldInverseTransform;
|
|
|
|
|
private _rotation;
|
|
|
|
|
private _position;
|
|
|
|
|
private _scale;
|
|
|
|
|
private _localTransform;
|
2020-06-08 11:49:45 +08:00
|
|
|
readonly childCount: number;
|
|
|
|
|
constructor(entity: Entity);
|
|
|
|
|
getChild(index: number): Transform;
|
|
|
|
|
parent: Transform;
|
|
|
|
|
setParent(parent: Transform): this;
|
2020-06-08 16:23:48 +08:00
|
|
|
position: Vector2;
|
|
|
|
|
localPosition: Vector2;
|
|
|
|
|
setLocalPosition(localPosition: Vector2): this;
|
|
|
|
|
setPosition(position: Vector2): this;
|
|
|
|
|
updateTransform(): void;
|
2020-06-08 11:49:45 +08:00
|
|
|
}
|
2020-06-08 16:23:48 +08:00
|
|
|
declare class Camera extends Component {
|
|
|
|
|
private _zoom;
|
|
|
|
|
private _origin;
|
|
|
|
|
private _transformMatrix;
|
|
|
|
|
private _inverseTransformMatrix;
|
|
|
|
|
readonly transformMatrix: Matrix2D;
|
|
|
|
|
constructor();
|
|
|
|
|
initialize(): void;
|
|
|
|
|
update(): void;
|
|
|
|
|
setPosition(position: Vector2): this;
|
|
|
|
|
updateMatrixes(): void;
|
2020-06-08 11:49:45 +08:00
|
|
|
destory(): void;
|
|
|
|
|
}
|
|
|
|
|
declare class MathHelper {
|
2020-06-08 16:23:48 +08:00
|
|
|
static toDegrees(radians: number): number;
|
|
|
|
|
static toRadians(degrees: number): number;
|
2020-06-08 11:49:45 +08:00
|
|
|
}
|
|
|
|
|
declare class Matrix2D {
|
|
|
|
|
m11: number;
|
|
|
|
|
m12: number;
|
|
|
|
|
m21: number;
|
|
|
|
|
m22: number;
|
|
|
|
|
m31: number;
|
|
|
|
|
m32: number;
|
|
|
|
|
private static _identity;
|
|
|
|
|
static readonly identity: Matrix2D;
|
|
|
|
|
constructor(m11: number, m12: number, m21: number, m22: number, m31: number, m32: number);
|
|
|
|
|
translation: Vector2;
|
|
|
|
|
rotation: number;
|
|
|
|
|
rotationDegrees: number;
|
|
|
|
|
scale: Vector2;
|
|
|
|
|
static add(matrix1: Matrix2D, matrix2: Matrix2D): Matrix2D;
|
|
|
|
|
static divide(matrix1: Matrix2D, matrix2: Matrix2D): Matrix2D;
|
|
|
|
|
static multiply(matrix1: Matrix2D, matrix2: Matrix2D): Matrix2D;
|
2020-06-08 16:23:48 +08:00
|
|
|
static multiplyTranslation(matrix: Matrix2D, x: number, y: number): Matrix2D;
|
|
|
|
|
determinant(): number;
|
|
|
|
|
static invert(matrix: Matrix2D, result: Matrix2D): Matrix2D;
|
|
|
|
|
static createTranslation(xPosition: number, yPosition: number, result?: Matrix2D): Matrix2D;
|
|
|
|
|
static createRotation(radians: number, result?: Matrix2D): Matrix2D;
|
|
|
|
|
static createScale(xScale: number, yScale: number, result?: Matrix2D): Matrix2D;
|
2020-06-08 11:49:45 +08:00
|
|
|
}
|
|
|
|
|
declare class Vector2 {
|
|
|
|
|
x: number;
|
|
|
|
|
y: number;
|
2020-06-08 16:23:48 +08:00
|
|
|
private static readonly unitVector2;
|
|
|
|
|
static readonly One: Vector2;
|
2020-06-08 11:49:45 +08:00
|
|
|
constructor(x: number, y: number);
|
|
|
|
|
static add(value1: Vector2, value2: Vector2): Vector2;
|
|
|
|
|
static divide(value1: Vector2, value2: Vector2): Vector2;
|
|
|
|
|
static multiply(value1: Vector2, value2: Vector2): Vector2;
|
|
|
|
|
static subtract(value1: Vector2, value2: Vector2): Vector2;
|
|
|
|
|
normalize(): void;
|
2020-06-08 16:23:48 +08:00
|
|
|
static transform(position: Vector2, matrix: Matrix2D): Vector2;
|
2020-06-08 11:49:45 +08:00
|
|
|
}
|