items no longer pile up
This commit is contained in:
parent
35dd123504
commit
7e9ea6e641
1 changed files with 11 additions and 4 deletions
15
src/main.zig
15
src/main.zig
|
@ -81,7 +81,7 @@ pub fn main() !void {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var debug_draw = true;
|
var debug_draw = false;
|
||||||
|
|
||||||
var global_font: raylib.Font = undefined;
|
var global_font: raylib.Font = undefined;
|
||||||
|
|
||||||
|
@ -105,6 +105,7 @@ pub const Scales = struct {
|
||||||
column_position_spacing: f32,
|
column_position_spacing: f32,
|
||||||
column_item_spacing: f32,
|
column_item_spacing: f32,
|
||||||
column_item_start: f32,
|
column_item_start: f32,
|
||||||
|
column_item_before_start: f32,
|
||||||
|
|
||||||
/// Recalculate scales after screen resize.
|
/// Recalculate scales after screen resize.
|
||||||
pub fn recalculate(self: *Scales) void {
|
pub fn recalculate(self: *Scales) void {
|
||||||
|
@ -124,6 +125,7 @@ pub const Scales = struct {
|
||||||
self.column_position_spacing = 64;
|
self.column_position_spacing = 64;
|
||||||
self.column_item_spacing = 16;
|
self.column_item_spacing = 16;
|
||||||
self.column_item_start = 117.8;
|
self.column_item_start = 117.8;
|
||||||
|
self.column_item_before_start = 48;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -203,8 +205,13 @@ pub const Column = struct {
|
||||||
if (up or down) self.refresh(true);
|
if (up or down) self.refresh(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn refresh(self: *Column, animate: bool) void {
|
fn refresh(self: *Column, comptime animate: bool) void {
|
||||||
var y = scales.column_item_start;
|
var y = scales.column_item_before_start - (scales.item_icon_small_height + scales.column_item_spacing) * @as(f32, @floatFromInt(self.selected));
|
||||||
|
for (self.items.items[0..self.selected]) |item| {
|
||||||
|
item.setPosition(animate, .{ .x = scales.column_position_center.x, .y = y });
|
||||||
|
y += scales.item_icon_small_height + scales.column_item_spacing;
|
||||||
|
}
|
||||||
|
y = scales.column_item_start;
|
||||||
for (self.items.items[self.selected..]) |item| {
|
for (self.items.items[self.selected..]) |item| {
|
||||||
item.setPosition(animate, .{ .x = scales.column_position_center.x, .y = y });
|
item.setPosition(animate, .{ .x = scales.column_position_center.x, .y = y });
|
||||||
y += scales.item_icon_small_height + scales.column_item_spacing;
|
y += scales.item_icon_small_height + scales.column_item_spacing;
|
||||||
|
@ -295,7 +302,7 @@ pub const Item = struct {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn setPosition(self: *Item, animate: bool, position: raylib.Vector2) void {
|
pub fn setPosition(self: *Item, comptime animate: bool, position: raylib.Vector2) void {
|
||||||
if (animate) {
|
if (animate) {
|
||||||
self.animator.time = 0;
|
self.animator.time = 0;
|
||||||
self.animator.start_position = self.position;
|
self.animator.start_position = self.position;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue