summaryrefslogtreecommitdiffhomepage
path: root/run.rb
blob: a5a100bdb492c4ddf2b560efd98b53584bd08e93 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# frozen_string_literal: true

require 'ruby2d'
require_relative 'lib/camera/camera'
require_relative 'tileset'
require_relative 'ui'
require_relative 'input'

set width: 640, height: 480
set width: 1280, height: 720
set width: 1920, height: 1080

set background: 'navy'

UI.load

@eks = 0
@why = 0

# Create on click
    #@new = @yep.create_image(column: @selected_item[0],
    #                                    row: @selected_item[1],
    #                                    x: (Camera.mouse[0] - (Camera.mouse[0] % (128 + 12))),
    #                                    y: (Camera.mouse[1] - (Camera.mouse[1] % (128 + 12))))
    #Camera << @new

on :mouse_scroll do |event|
  @selected_item[0] += event.delta_y
  if @selected_item[0] >= @yep.columns
    @selected_item[1] = (@selected_item[1] + 1) % @yep.rows
  elsif @selected_item[0].negative?
    @selected_item[1] = (@selected_item[1] - 1) % @yep.rows
  end
  @selected_item[0] %= @yep.columns
end
@yep = Tileset.new('./assets/kenny/PNG/128', 128, 128)

@yep.tileset.each do |thing|
  thing.each do |stuff|
    #stuff
  end
end

([email protected]).each do |row|
  ([email protected]).each do |column|
    #Camera << @yep.create_image(column: column, row: row, x: (column * (128 + 12)), y: (row * (128 + 12)))
  end
end

#@selected_item = [0,0]
#@selected_image = @yep.create_image(column: @selected_item[0], row: @selected_item[1])

Camera.zoom = 0.25

UI::Main.mouse_follow.objects.each do |object|
  Camera << object
end

UI::Popup.menubox.base.color = ['orange', 'yellow', 'red', 'maroon']

@timer = 0
update do
  Camera.x += 10 if Input.held('d')
  Camera.x -= 10 if Input.held('a')
  Camera.y -= 10 if Input.held('w')
  Camera.y += 10 if Input.held('s')
  @timer += 1
  @timer %= 60
  if (@timer % 30).zero?
  end
  #Camera.remove @selected_image
  #@selected_image.remove
  UI::Main.mouse_follow.x = (Camera.mouse[0] - (Camera.mouse[0] % (128 + 12) + 12))
  UI::Main.mouse_follow.y = (Camera.mouse[1] - (Camera.mouse[1] % (128 + 12) + 12))
  # Ignore if to the left of UI boxes
  if (Window.mouse_x - 30).positive? && \
      # Ignore if to the right of UI boxes
      (Window.mouse_x < (UI::Main.history_slots.length * 75) + 15) && \
      # If within a box, and not between 2 boxes
      (((Window.mouse_x - 30) % 75) <= 60) && \
      # Ignore below boxes
      (Window.mouse_y >= Window.height - 90) && \
      # Ignore above boxes
      (Window.mouse_y <= Window.height - 30) 
    UI::Main.history_slots.each do |item|
      if item[0].contains(Window.mouse_x, Window.mouse_y)
        item[0].base_color = 'lime'
      else
        item[0].base_color = 'green'
      end
    end
  end
  if UI::Main.popup_button.contains(Window.mouse_x, Window.mouse_y)
    if Input.down('left')
      UI::Main.popup_button.swap_colors = true
      if UI::Popup.showing_menu = !UI::Popup.showing_menu
        UI::Popup.tiles.each do |tile|
          tile.add
        end
        UI::Main.mouse_follow.remove
      else
        UI::Popup.tiles.each do |tile|
          tile.remove
        end
        UI::Main.mouse_follow.add
      end
    elsif Input.up('left')
      UI::Main.popup_button.swap_colors = false
    end
  else
    UI::Main.popup_button.swap_colors = false
  end

  #@selected_image = @yep.create_image(column: @selected_item[0],
  #                                    row: @selected_item[1],
  #                                    x: (Camera.mouse[0] - (Camera.mouse[0] % (128 + 12))),
  #                                    y: (Camera.mouse[1] - (Camera.mouse[1] % (128 + 12))))
  #Camera << @selected_image
  Input.reset
  Camera.redraw
end

show