package elm_playground_gamekits

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module SegmentsSource

Sourcetype vec = float * float * float
Sourcetype box = {
  1. x0 : float;
  2. y0 : float;
  3. z0 : float;
  4. x1 : float;
  5. y1 : float;
  6. z1 : float;
}
Sourcetype segment = {
  1. box : box;
  2. rgb : int * int * int;
  3. light : float;
}
Sourcetype side = {
  1. axis : int;
  2. positive : bool;
}
Sourcetype quad = {
  1. corners : vec list;
  2. normal : vec;
  3. side : side;
}
Sourcetype opening = {
  1. into : int;
  2. quad : quad;
}
Sourcetype level = {
  1. segments : segment array;
  2. walls : quad list array;
  3. openings : opening list array;
  4. start : vec;
  5. exit : int;
}
Sourceval make : segment list -> start:vec -> exit:int -> level
Sourceval mine : level
Sourceval segment_at : level -> vec -> int option
Sourceval inside : level -> radius:float -> vec -> bool
Sourceval move : level -> radius:float -> vec -> vec -> vec
Sourceval clear : level -> vec -> vec -> bool