GoudEngine TypeScript SDK
    Preparing search index...

    Class GoudGame

    Main game engine instance. Creates a window, manages rendering, input, and ECS.

    Implements

    Index

    Constructors

    • Parameters

      • Optionalconfig: { height?: number; title?: string; width?: number }

      Returns GoudGame

    Accessors

    • get deltaTime(): number

      Seconds elapsed since last frame

      Returns number

    • get fps(): number

      Current frames per second

      Returns number

    • get frameCount(): number

      Number of frames processed

      Returns number

    • get title(): string

      Window title

      Returns string

    • get totalTime(): number

      Total elapsed time in seconds

      Returns number

    • get windowHeight(): number

      Window height in pixels

      Returns number

    • get windowWidth(): number

      Window width in pixels

      Returns number

    Methods

    • Fast AABB overlap test

      Parameters

      • minAx: number
      • minAy: number
      • maxAx: number
      • maxAy: number
      • minBx: number
      • minBy: number
      • maxBx: number
      • maxBy: number

      Returns boolean

    • Adds a light to the 3D scene

      Parameters

      • lightType: number
      • posX: number
      • posY: number
      • posZ: number
      • dirX: number
      • dirY: number
      • dirZ: number
      • r: number
      • g: number
      • b: number
      • intensity: number
      • range: number
      • spotAngle: number

      Returns number

    • Attaches a Name component to the entity

      Parameters

      Returns void

    • Starts a new render frame with the given clear color

      Parameters

      • Optionalr: number
      • Optionalg: number
      • Optionalb: number
      • Optionala: number

      Returns void

    • Fast circle overlap test

      Parameters

      • x1: number
      • y1: number
      • r1: number
      • x2: number
      • y2: number
      • r2: number

      Returns boolean

    • Clears the depth buffer

      Returns void

    • Signals the window to close

      Returns void

    • AABB vs AABB collision test with contact

      Parameters

      • centerAx: number
      • centerAy: number
      • halfWa: number
      • halfHa: number
      • centerBx: number
      • centerBy: number
      • halfWb: number
      • halfHb: number

      Returns IContact | null

    • Circle vs AABB collision test

      Parameters

      • circleX: number
      • circleY: number
      • circleRadius: number
      • boxX: number
      • boxY: number
      • boxHw: number
      • boxHh: number

      Returns IContact | null

    • Circle vs circle collision test

      Parameters

      • centerAx: number
      • centerAy: number
      • radiusA: number
      • centerBx: number
      • centerBy: number
      • radiusB: number

      Returns IContact | null

    • Configures fog settings

      Parameters

      • enabled: boolean
      • r: number
      • g: number
      • b: number
      • density: number

      Returns boolean

    • Configures the ground grid

      Parameters

      • enabled: boolean
      • size: number
      • divisions: number

      Returns boolean

    • Configures the skybox/background color

      Parameters

      • enabled: boolean
      • r: number
      • g: number
      • b: number
      • a: number

      Returns boolean

    • Creates a 3D cube

      Parameters

      • textureId: number
      • width: number
      • height: number
      • depth: number

      Returns number

    • Creates a 3D cylinder

      Parameters

      • textureId: number
      • radius: number
      • height: number
      • Optionalsegments: number

      Returns number

    • Creates a 3D plane

      Parameters

      • textureId: number
      • width: number
      • depth: number

      Returns number

    • Creates a 3D sphere

      Parameters

      • textureId: number
      • diameter: number
      • Optionalsegments: number

      Returns number

    • Destroys an entity and all its components

      Parameters

      Returns boolean

    • Despawns multiple entities at once

      Parameters

      Returns number

    • Releases all engine resources

      Returns void

    • Destroys a 3D object

      Parameters

      • objectId: number

      Returns boolean

    • Destroys a previously loaded texture

      Parameters

      • handle: number

      Returns void

    • Disables alpha blending

      Returns void

    • Disables depth testing

      Returns void

    • Distance between two points

      Parameters

      • x1: number
      • y1: number
      • x2: number
      • y2: number

      Returns number

    • Squared distance between two points

      Parameters

      • x1: number
      • y1: number
      • x2: number
      • y2: number

      Returns number

    • Draws a colored rectangle

      Parameters

      • x: number
      • y: number
      • width: number
      • height: number
      • Optionalcolor: IColor

      Returns void

    • Draws a textured sprite

      Parameters

      • texture: number
      • x: number
      • y: number
      • width: number
      • height: number
      • Optionalrotation: number
      • Optionalcolor: IColor

      Returns void

    • Draws a sprite with source rectangle for sprite sheets

      Parameters

      • texture: number
      • x: number
      • y: number
      • width: number
      • height: number
      • rotation: number
      • srcX: number
      • srcY: number
      • srcW: number
      • srcH: number
      • Optionalcolor: IColor

      Returns boolean

    • Enables depth testing

      Returns void

    • Finishes the current frame and presents it to the screen

      Returns void

    • Returns the number of living entities

      Returns number

    • Returns the entity's Name, or null if absent

      Parameters

      Returns string | null

    • Returns true if the entity has a Name

      Parameters

      Returns boolean

    • Returns true if the entity has a Sprite

      Parameters

      Returns boolean

    • Returns true if the entity has a Transform2D

      Parameters

      Returns boolean

    • Returns true if the action was pressed this frame

      Parameters

      • action: string

      Returns boolean

    • Returns true if the action was released this frame

      Parameters

      • action: string

      Returns boolean

    • Returns true if the action is currently pressed

      Parameters

      • action: string

      Returns boolean

    • Returns true if the entity still exists

      Parameters

      Returns boolean

    • Returns true if the key was pressed this frame

      Parameters

      • key: number

      Returns boolean

    • Returns true if the key was released this frame

      Parameters

      • key: number

      Returns boolean

    • Returns true if the key is currently held down

      Parameters

      • key: number

      Returns boolean

    • Returns true if the mouse button was pressed this frame

      Parameters

      • button: number

      Returns boolean

    • Returns true if the mouse button was released this frame

      Parameters

      • button: number

      Returns boolean

    • Returns true if the mouse button is currently held

      Parameters

      • button: number

      Returns boolean

    • Loads a texture from a file path and returns its handle

      Parameters

      • path: string

      Returns Promise<number>

    • Maps an action name to a key

      Parameters

      • action: string
      • key: number

      Returns boolean

    • Tests if a point is inside a circle

      Parameters

      • px: number
      • py: number
      • cx: number
      • cy: number
      • radius: number

      Returns boolean

    • Tests if a point is inside a rectangle

      Parameters

      • px: number
      • py: number
      • rx: number
      • ry: number
      • rw: number
      • rh: number

      Returns boolean

    • Removes a light

      Parameters

      • lightId: number

      Returns boolean

    • Removes the Name from the entity

      Parameters

      Returns boolean

    • Removes the Sprite from the entity

      Parameters

      Returns boolean

    • Renders all 3D objects

      Returns boolean

    • Runs the game loop. Calls the update callback each frame with delta time. Blocks until the window is closed.

      Parameters

      • update: (dt: number) => void

      Returns void

    • Sets the 3D camera position

      Parameters

      • x: number
      • y: number
      • z: number

      Returns boolean

    • Sets the 3D camera rotation

      Parameters

      • pitch: number
      • yaw: number
      • roll: number

      Returns boolean

    • Sets fog visibility

      Parameters

      • enabled: boolean

      Returns boolean

    • Sets the screen corner where the FPS overlay is displayed

      Parameters

      • corner: number

      Returns void

    • Enables or disables the FPS debug overlay

      Parameters

      • enabled: boolean

      Returns void

    • Sets how often FPS statistics are recomputed

      Parameters

      • interval: number

      Returns void

    • Sets grid visibility

      Parameters

      • enabled: boolean

      Returns boolean

    • Sets a 3D object's position

      Parameters

      • objectId: number
      • x: number
      • y: number
      • z: number

      Returns boolean

    • Sets a 3D object's rotation in degrees

      Parameters

      • objectId: number
      • x: number
      • y: number
      • z: number

      Returns boolean

    • Sets a 3D object's scale

      Parameters

      • objectId: number
      • x: number
      • y: number
      • z: number

      Returns boolean

    • Sets the rendering viewport

      Parameters

      • x: number
      • y: number
      • width: number
      • height: number

      Returns void

    • Returns true if the window close has been requested

      Returns boolean

    • Spawns multiple empty entities at once

      Parameters

      • count: number

      Returns IEntity[]

    • Updates a light's properties

      Parameters

      • lightId: number
      • lightType: number
      • posX: number
      • posY: number
      • posZ: number
      • dirX: number
      • dirY: number
      • dirZ: number
      • r: number
      • g: number
      • b: number
      • intensity: number
      • range: number
      • spotAngle: number

      Returns boolean

    • Parameters

      • Optionalconfig: { height?: number; title?: string; width?: number }

      Returns Promise<GoudGame>