class Works::Struct::TransportBelt::Base

Direct Known Subclasses

Defined in:

works/struct/transport_belt/base.cr

Constant Summary

BackgroundColor = LibAllegro.map_rgb_f(0.33, 0.33, 0.33)
BeltSpeed = 1
Color = LibAllegro.map_rgb_f(0.75, 0.75, 0)
ItemSlotTicks = 8 * Screen.scale_factor
Key = :transport_belt
LaneDensity = 4
Name = "Transport belt"

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

[View source]
def self.belt_speed #

[View source]
def self.color #

[View source]
def self.destroy #

[View source]
def self.init_animation #

[View source]
def self.key #

[View source]
def self.name #

[View source]
def self.position #

[View source]
def self.update #

[View source]

Instance Method Detail

def add_from_inserter(klass, amount, inserter_facing : Symbol) #

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

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

[View source]
def background_color #

[View source]
def belt_speed #

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

[View source]
def can_receive_from_belt?(lane_index, facing) #

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

[View source]
def clone #

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

[View source]
def draw_accents(dx, dy, color) #

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

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

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

[View source]
def facing : Symbol #

[View source]
def facing_horizontal? #

[View source]
def facing_vertical? #

[View source]
def find_belt(map : Map, col, row) #

[View source]
def grab_item(item_grab_size) #

[View source]
def grab_item #

[View source]
def increase_item_data_position(lane_index, index, data : ItemData) #

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

[View source]
def input_coords #

[View source]
def item_class #

[View source]
def lane_from_inserter(inserter_facing : Symbol) #

[View source]
def lanes : Tuple(Array(ItemData | Nil), Array(ItemData | Nil)) #

[View source]
def move_item_on_belt(lane_index, index, map : Map, data : ItemData) #

[View source]
def move_to_belt(belt : Struct::TransportBelt::Base, lane_index, index, item : Item::Base) #

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

[View source]
def output_coords #

[View source]
def perpendicular?(other_facing : Symbol) #

[View source]
def position #

[View source]
def receive_from_belt(lane_index, item) #

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

[View source]
def rotate #

[View source]
def turning_from : Symbol | Nil #

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

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

[View source]
def update_turning_from(input_facing : Symbol, map : Map) #

[View source]