@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
85 lines • 2.31 kB
TypeScript
export type ViewportPositionFlags = number;
export namespace ViewportPositionFlags {
let StickToScreenEdge: number;
let ResolveGUICollisions: number;
}
export default ViewportPosition;
declare class ViewportPosition {
static fromJSON(opt: any): ViewportPosition;
/**
* Clip-scale position, on-screen values are in range of 0 to 1
* @type {Vector2}
*/
position: Vector2;
/**
* Fixed offset in pixels
* @type {Vector2}
*/
offset: Vector2;
/**
* ranges from 0..1 in both X and Y, controls anchor point of element positioning
* @type {Vector2}
*/
anchor: Vector2;
/**
* Makes display element avoid overlap with GUI elements
* @see GUIElement
* @type {boolean}
*/
resolveGuiCollisions: boolean;
/**
* How far should the HUD stay away from the edge if it's sticky
* @see stickToScreenEdge
* @type {number}
*/
screenEdgeWidth: number;
/**
* Controls whenever or not HUD should remain on the screen when it gets to the edge
* @type {boolean}
*/
stickToScreenEdge: boolean;
/**
* Can be used to enable and disable positioning
* @type {ObservedBoolean}
*/
enabled: ObservedBoolean;
/**
*
* @param {ViewportPosition} other
* @returns {boolean}
*/
equals(other: ViewportPosition): boolean;
hash(): number;
fromJSON({ position, offset, anchor, screenEdgeWidth, stickToScreenEdge, enabled, }: {
position?: Vector2;
offset?: Vector2;
anchor?: Vector2;
screenEdgeWidth?: number;
stickToScreenEdge?: boolean;
enabled?: boolean;
}): void;
toJSON(): {
position: {
x: number;
y: number;
};
offset: {
x: number;
y: number;
};
anchor: {
x: number;
y: number;
};
screenEdgeWidth: number;
stickToScreenEdge: boolean;
enabled: boolean;
};
}
declare namespace ViewportPosition {
let typeName: string;
let serializable: boolean;
}
import Vector2 from "../../../../core/geom/Vector2.js";
import ObservedBoolean from "../../../../core/model/ObservedBoolean.js";
//# sourceMappingURL=ViewportPosition.d.ts.map