abstract class Works::Struct::Inserter::Base

Direct Known Subclasses

Defined in:

works/struct/inserter/base.cr

Constant Summary

ArmLength = Cell.size
ArmWidth = (Cell.size / 8).to_i

drawing

Color = LibAllegro.map_rgb_f(1, 0, 1)
Key = :inserter
Name = "inserter"
RotationSpeed = 180

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.key #

[View source]
def self.name #

[View source]
def self.rotation_speed #

[View source]

Instance Method Detail

def arm_end_position(dx, dy) #

[View source]
def can_overwrite?(strct : Struct::Base) #

[View source]
def clone #

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

[View source]
def draw_arm(dx, dy) #

[View source]
def draw_body(dx, dy) #

[View source]
def draw_item(dx, dy, center = true) #

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

[View source]
def facing : Symbol #

[View source]
def grab_item(item_grab_size) #

[View source]
def grab_item #

[View source]
def input_coords #

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

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

[View source]
def item_class #

[View source]
def item_grab_size #

[View source]
def item_slot_hover? : Bool #

[View source]
def item_slot_x #

[View source]
def item_slot_y(inventory_height) #

[View source]
def output_coords #

[View source]
def overlaps_input?(col, row) #

[View source]
def overlaps_output?(col, row) #

[View source]
def rotate #

[View source]
def rotation_speed #

[View source]
def rotation_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 struct_to_grab_output_from(map : Map) #

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

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

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

[View source]