Top Level Namespace

Included Modules

Extended Modules

Defined in:

Constant Summary

ALL_SHADERS = ShaderAllShaders.new(-1)
CONFIG_DOWN = KeysConfig.new
CONFIG_PRESSED = KeysConfig.new
DEFAULT_SHADER = DefaultShader.new(0)
EXPL_TIME = 10
Fonts = {} of F => Engine::Font
GAME_VERSION = 4
N_CIRCLE = 64
N_EXPL = 20
NO_MUSIC = Sound.new(-1)
PICS = {LevelTile::Empty => Tileset::Floor, LevelTile::Wall => Tileset::Wall, LevelTile::Void => Tileset::Void, LevelTile::Exit => Tileset::Stair, LevelTile::Start => Tileset::Grave}
THE_SCREEN = Sprite.new(-1)
TYP_DATA = {MonsterType::Infantry => {color_tile: Tileset::BlueCircle, tile: Tileset::Longsword, health: 70, radius: 0.75, speed: 1.5}, MonsterType::Hunter => {color_tile: Tileset::RedCircle, tile: Tileset::Bow, health: 50, radius: 0.9, speed: 1.0}, MonsterType::Brute => {color_tile: Tileset::RedCircle, tile: Tileset::BigAxe, health: 150, radius: 1.5, speed: 0.75}, MonsterType::Rogue => {color_tile: Tileset::BlueCircle, tile: Tileset::Dagger, health: 40, radius: 0.7, speed: 1.5}, MonsterType::Mage => {color_tile: Tileset::YellowCircle, tile: Tileset::Staff, health: 120, radius: 0.7, speed: 1.5}}

Method Summary

Macro Summary

Instance methods inherited from module Engine

button(resource : ButtonResource, x = 0, y = 0, width = 0, height = 0, text : String | Nil = nil, halign : HAlign = HAlign::None, valign : VAlign = VAlign::None, font : Font | FontResource | Nil = nil)
button(*args, **args2, &)
button
, button_clicked(*args, **args2, &) button_clicked, camera(offset = v2(0, 0), scale = v2(1, 1), angle = 0) camera, circle(center, r, filled, color1, color2 = color1) circle, color(r : Int32, g : Int32, b : Int32, a : Int32 = 255) : Engine::Color
color(u : UInt32) : Engine::Color
color
, edit(value : Int32, min : Int32, max : Int32, font : Font, x = 0, y = 0, width = 0, height = 0, halign = HAlign::None, valign = VAlign::None, fill : Color | Nil = nil, border : Color | Nil = nil, *, allow_scroll = false) : Int32 | Nil edit, ellipse(center, radius, filled, color1, color2 = color1, angle = 0) ellipse, label(txt : String, font : Font, x = 0, y = 0, width = 0, height = 0, halign = HAlign::None, valign = VAlign::None, fill : Color | Nil = nil, border : Color | Nil = nil, text_halign = HAlign::None, text_valign = VAlign::None) label, line(p1, p2, color1, color2 = color1) line, line_settings(width = 1, stipple = 4294967295_i64, stipple_scale = 1) line_settings, log(s) log, panel(x = 0, y = 0, width = 0, height = 0, halign = HAlign::None, valign = VAlign::None, fill : Color | Nil = nil, border : Color | Nil = nil, &)
panel(*args, **args2)
panel
, point(pos : Vector2, color) point, process process, raycast_first(from : Vector2, to : Vector2, material) raycast_first, rect(box, filled, color1, color2, color3, color4, angle = 0)
rect(box, filled, color, angle = 0)
rect
, rect_gauge(box, value, color1, color2, angle = 0) rect_gauge, triangle(p1 : Vector2, color1, p2 : Vector2, color2, p3 : Vector2, color3)
triangle(p1 : Vector2, p2 : Vector2, p3 : Vector2, color)
triangle
, vec2(x : Float32, y : Float32) vec2, vec3(x : Float32, y : Float32, z : Float32) vec3, vec4(x : Float32, y : Float32, z : Float32, w : Float32) vec4

Class methods inherited from module Engine

[](param : Params) [], []=(param : Params, value) []=, init(dir) init, layer=(value) layer=, screen_box screen_box, screen_size screen_size

Method Detail

def aabb(v0, size) #

[View source]
def aabb(x0, y0, *, w, h) #

[View source]
def aabb(*, x0, y0, x1, y1) #

[View source]
def campaign_stats #

[View source]
def cfg #

[View source]
def check_map(input, start) #

[View source]
def create_monster(world, typ, start, *, random_cooldown = false) #

[View source]
def do_config_physics #

[View source]
def fnt #

[View source]
def init_fonts #

[View source]
def make_explosion(world, source) #

[View source]
def play_sound(world, res, pos) #

[View source]
def set_music(world, res : Engine::Sound, volume) #

[View source]
def show_progress(pos, r, value) #

[View source]
def split_text(s, font, width) #

[View source]
def start_new_game(world) #

[View source]
def stop_music(world) #

[View source]
def turn_into_body(world, ent) #

[View source]
def turn_into_player(world, ent) #

[View source]
def v2(x, y) #

[View source]
def v2i(x, y) #

[View source]

Macro Detail

macro config_physics(&block) #

[View source]