abstract class Works::Struct::Furnace::Base

Direct Known Subclasses

Defined in:

works/struct/furnace/base.cr

Constant Summary

Color = LibAllegro.map_rgb_f(0.5, 0.5, 0.1)
Dimensions = {x: 2_u8, y: 2_u8}
Key = :furnace
Name = "furnace"
OutputProgressColor = LibAllegro.premul_rgba_f(0, 1, 0, 0.33)

HUD

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from class Works::Struct::Base

accept_item?(item : Item::Base) accept_item?, add_from_inserter(klass, amount, inserter_facing : Symbol) add_from_inserter, add_from_inserter?(item : Item::Base, inserter_facing : Symbol) add_from_inserter?, after_rotate(map : Map) after_rotate, can_overwrite?(strct : Struct::Base) can_overwrite?, color color, destroy destroy, draw(dx, dy, color)
draw(x, y)
draw
, draw_hover_info draw_hover_info, draw_struct_info(inventory_width, inventory_height) draw_struct_info, draw_struct_info_slots(inventory_width, inventory_height) draw_struct_info_slots, grab_item(item_grab_size)
grab_item
grab_item
, hide_hud hide_hud, hud_background_color hud_background_color, hud_hover_color hud_hover_color, hud_margin hud_margin, hud_shown? : Bool hud_shown?, hud_slot_size hud_slot_size, hud_x hud_x, hud_y(inventory_height) hud_y, item_class item_class, key key, overlaps_input?(col, row) overlaps_input?, overlaps_output?(col, row) overlaps_output?, rotate rotate, show_hud show_hud, slot_click(inventory : Inventory, mouse : Mouse) slot_click, slot_click_grab_item(inventory : Inventory, mouse : Mouse) slot_click_grab_item, slot_click_held_item(inventory : Inventory, held_item : Item::Held) slot_click_held_item, slot_hover?(slot_x, slot_y, mouse : Mouse) slot_hover?, update(map : Map) update, update_struct_info_slot_hovers(mouse : Mouse, inventory_width, inventory_height) update_struct_info_slot_hovers

Constructor methods inherited from class Works::Struct::Base

new(col = 0_u16, row = 0_u16) new

Class methods inherited from class Works::Struct::Base

color color, hud_background_color hud_background_color, hud_hover_color hud_hover_color, hud_margin hud_margin, hud_slot_size hud_slot_size, key key, name name

Instance methods inherited from class Works::Cell

clone clone, col : UInt16 col, col=(col : UInt16) col=, cols : UInt8 cols, dimensions : NamedTuple(x: UInt8, y: UInt8) dimensions, draw(x, y) draw, draw_selection(dx, dy, color = nil) draw_selection, height height, hover?(mouse_col, mouse_row) hover?, name name, overlaps?(o_col, o_row)
overlaps?(cell : Cell)
overlaps?
, print_str print_str, row : UInt16 row, row=(row : UInt16) row=, rows : UInt8 rows, size : UInt16 size, width width, x x, y y

Constructor methods inherited from class Works::Cell

new(col : UInt16 = 0_u16, row : UInt16 = 0_u16) new

Class methods inherited from class Works::Cell

dimensions : NamedTuple(x: UInt8, y: UInt8) dimensions, draw_selection(x, y, width, height, selection_color = nil) draw_selection, size : UInt16 size

Constructor Detail

def self.new(col = 0_u16, row = 0_u16) #

[View source]

Class Method Detail

def self.color #

[View source]
def self.dimensions #

[View source]
def self.key #

[View source]
def self.name #

[View source]

Instance Method Detail

def accept_input?(item : Item::Base) #

[View source]
def accept_output?(item : Item::Base) #

[View source]
def add_from_inserter(klass, amount, inserter_facing : Symbol) #

[View source]
def add_from_inserter?(item, inserter_facing : Symbol) #

[View source]
def burn_item(item : Item::Base) #

[View source]
def create_output(working_item : Item::Base) #

[View source]
def draw_struct_info_slots(inventory_width, inventory_height) #

[View source]
def fuel_slot_x #

[View source]
def fuel_slot_y(inventory_height) #

[View source]
def grab_item(item_grab_size) #

[View source]
def grab_item #

[View source]
def init_timer(item : Item::Base) #

[View source]
def input_item : Item::Base | Nil #

[View source]
def input_item=(input_item : Item::Base | Nil) #

[View source]
def input_slot_hover? : Bool #

[View source]
def input_slot_x #

[View source]
def input_slot_y(inventory_height) #

[View source]
def item_class #

[View source]
abstract def output_duration(item : Item::Base) : Time::Span #

[View source]
def output_item : Item::Base | Nil #

[View source]
def output_item=(output_item : Item::Base | Nil) #

[View source]
def output_slot_hover? : Bool #

[View source]
def output_slot_x(inventory_width) #

[View source]
def output_slot_y(inventory_height) #

[View source]
def output_timer : Works::Timer #

[View source]
def slot_click_grab_item(inventory : Inventory, mouse : Mouse) #

[View source]
def slot_click_held_item(inventory : Inventory, held_item : Item::Held) #

[View source]
def update(map : Map) #

[View source]
def update_struct_info_slot_hovers(mouse, inventory_width, inventory_height) #

[View source]
def working_item : Item::Base | Nil #

[View source]