cyberarm_engine 0.24.3 → 0.24.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +8 -8
  3. data/.rubocop.yml +7 -7
  4. data/.travis.yml +5 -5
  5. data/Gemfile +6 -6
  6. data/Gemfile.lock +24 -0
  7. data/LICENSE.txt +21 -21
  8. data/README.md +74 -74
  9. data/Rakefile +10 -10
  10. data/assets/shaders/fragment/g_buffer.glsl +30 -30
  11. data/assets/shaders/fragment/lighting.glsl +115 -69
  12. data/assets/shaders/include/light_struct.glsl +11 -11
  13. data/assets/shaders/include/material_struct.glsl +16 -16
  14. data/assets/shaders/vertex/g_buffer.glsl +28 -28
  15. data/assets/shaders/vertex/lighting.glsl +24 -24
  16. data/bin/console +14 -14
  17. data/bin/setup +8 -8
  18. data/cyberarm_engine.gemspec +36 -36
  19. data/lib/cyberarm_engine/animator.rb +219 -219
  20. data/lib/cyberarm_engine/background.rb +180 -179
  21. data/lib/cyberarm_engine/background_image.rb +93 -93
  22. data/lib/cyberarm_engine/background_nine_slice.rb +142 -142
  23. data/lib/cyberarm_engine/bounding_box.rb +150 -150
  24. data/lib/cyberarm_engine/builtin/intro_state.rb +130 -130
  25. data/lib/cyberarm_engine/cache/download_manager.rb +123 -123
  26. data/lib/cyberarm_engine/cache.rb +4 -4
  27. data/lib/cyberarm_engine/common.rb +128 -128
  28. data/lib/cyberarm_engine/config_file.rb +46 -46
  29. data/lib/cyberarm_engine/console/command.rb +157 -157
  30. data/lib/cyberarm_engine/console/commands/help_command.rb +43 -43
  31. data/lib/cyberarm_engine/console/subcommand.rb +99 -99
  32. data/lib/cyberarm_engine/console.rb +248 -248
  33. data/lib/cyberarm_engine/game_object.rb +244 -244
  34. data/lib/cyberarm_engine/game_state.rb +124 -124
  35. data/lib/cyberarm_engine/gosu_ext/draw_arc.rb +97 -97
  36. data/lib/cyberarm_engine/gosu_ext/draw_circle.rb +30 -30
  37. data/lib/cyberarm_engine/gosu_ext/draw_path.rb +17 -17
  38. data/lib/cyberarm_engine/model/material.rb +21 -21
  39. data/lib/cyberarm_engine/model/{model_object.rb → mesh.rb} +131 -131
  40. data/lib/cyberarm_engine/model/parser.rb +74 -74
  41. data/lib/cyberarm_engine/model/parsers/collada_parser.rb +138 -138
  42. data/lib/cyberarm_engine/model/parsers/wavefront_parser.rb +154 -154
  43. data/lib/cyberarm_engine/model.rb +216 -213
  44. data/lib/cyberarm_engine/model_cache.rb +31 -31
  45. data/lib/cyberarm_engine/notification.rb +82 -82
  46. data/lib/cyberarm_engine/notification_manager.rb +241 -241
  47. data/lib/cyberarm_engine/opengl/light.rb +52 -50
  48. data/lib/cyberarm_engine/opengl/orthographic_camera.rb +46 -46
  49. data/lib/cyberarm_engine/opengl/perspective_camera.rb +41 -38
  50. data/lib/cyberarm_engine/opengl/renderer/bounding_box_renderer.rb +249 -249
  51. data/lib/cyberarm_engine/opengl/renderer/g_buffer.rb +167 -165
  52. data/lib/cyberarm_engine/opengl/renderer/opengl_renderer.rb +307 -304
  53. data/lib/cyberarm_engine/opengl/renderer/renderer.rb +33 -33
  54. data/lib/cyberarm_engine/opengl/shader.rb +408 -406
  55. data/lib/cyberarm_engine/opengl/texture.rb +69 -69
  56. data/lib/cyberarm_engine/opengl.rb +53 -40
  57. data/lib/cyberarm_engine/ray.rb +56 -56
  58. data/lib/cyberarm_engine/stats.rb +200 -200
  59. data/lib/cyberarm_engine/text.rb +260 -260
  60. data/lib/cyberarm_engine/timer.rb +23 -23
  61. data/lib/cyberarm_engine/transform.rb +296 -296
  62. data/lib/cyberarm_engine/trees/aabb_node.rb +126 -0
  63. data/lib/cyberarm_engine/trees/aabb_tree.rb +55 -0
  64. data/lib/cyberarm_engine/trees/aabb_tree_debug.rb +29 -0
  65. data/lib/cyberarm_engine/ui/border_canvas.rb +102 -102
  66. data/lib/cyberarm_engine/ui/dsl.rb +142 -142
  67. data/lib/cyberarm_engine/ui/element.rb +662 -662
  68. data/lib/cyberarm_engine/ui/elements/button.rb +100 -100
  69. data/lib/cyberarm_engine/ui/elements/check_box.rb +54 -54
  70. data/lib/cyberarm_engine/ui/elements/container.rb +404 -410
  71. data/lib/cyberarm_engine/ui/elements/edit_box.rb +179 -179
  72. data/lib/cyberarm_engine/ui/elements/edit_line.rb +297 -297
  73. data/lib/cyberarm_engine/ui/elements/flow.rb +15 -15
  74. data/lib/cyberarm_engine/ui/elements/image.rb +72 -72
  75. data/lib/cyberarm_engine/ui/elements/list_box.rb +79 -79
  76. data/lib/cyberarm_engine/ui/elements/menu.rb +27 -27
  77. data/lib/cyberarm_engine/ui/elements/menu_item.rb +6 -6
  78. data/lib/cyberarm_engine/ui/elements/progress.rb +93 -93
  79. data/lib/cyberarm_engine/ui/elements/radio.rb +6 -6
  80. data/lib/cyberarm_engine/ui/elements/slider.rb +107 -107
  81. data/lib/cyberarm_engine/ui/elements/stack.rb +11 -11
  82. data/lib/cyberarm_engine/ui/elements/text_block.rb +216 -216
  83. data/lib/cyberarm_engine/ui/elements/toggle_button.rb +67 -67
  84. data/lib/cyberarm_engine/ui/event.rb +54 -54
  85. data/lib/cyberarm_engine/ui/gui_state.rb +321 -321
  86. data/lib/cyberarm_engine/ui/style.rb +50 -50
  87. data/lib/cyberarm_engine/ui/theme.rb +225 -225
  88. data/lib/cyberarm_engine/vector.rb +312 -312
  89. data/lib/cyberarm_engine/version.rb +4 -4
  90. data/lib/cyberarm_engine/window.rb +195 -195
  91. data/lib/cyberarm_engine.rb +70 -78
  92. data/mrbgem.rake +29 -29
  93. metadata +8 -7
@@ -1,67 +1,67 @@
1
- module CyberarmEngine
2
- class Element
3
- class ToggleButton < Button
4
- attr_reader :toggled, :value
5
-
6
- def initialize(options, block = nil)
7
- if options.dig(:theme, :ToggleButton, :checkmark_image)
8
- options[:theme][:ToggleButton][:image_width] ||= options[:theme][:TextBlock][:text_size]
9
- super(get_image(options.dig(:theme, :ToggleButton, :checkmark_image)), options, block)
10
- else
11
- super(options[:checkmark], options, block)
12
- end
13
-
14
- @value = options[:checked] || false
15
-
16
- if @value
17
- @raw_text = @options[:checkmark]
18
- else
19
- @raw_text = ""
20
- end
21
- end
22
-
23
- def clicked_left_mouse_button(_sender, _x, _y)
24
- self.value = !@value
25
-
26
- @block.call(self) if @block
27
-
28
- :handled
29
- end
30
-
31
- def render
32
- if @image
33
- draw_image if @value
34
- else
35
- draw_text
36
- end
37
- end
38
-
39
- def recalculate
40
- super
41
- return if @image
42
-
43
- _width = dimensional_size(@style.width, :width)
44
- _height = dimensional_size(@style.height, :height)
45
-
46
- @width = _width || @text.textobject.text_width(@options[:checkmark])
47
- @height = _height || @text.height
48
-
49
- update_background
50
- end
51
-
52
- def value=(boolean)
53
- @value = boolean
54
-
55
- if boolean
56
- @raw_text = @options[:checkmark]
57
- else
58
- @raw_text = ""
59
- end
60
-
61
- recalculate
62
-
63
- publish(:changed, @value)
64
- end
65
- end
66
- end
67
- end
1
+ module CyberarmEngine
2
+ class Element
3
+ class ToggleButton < Button
4
+ attr_reader :toggled, :value
5
+
6
+ def initialize(options, block = nil)
7
+ if options.dig(:theme, :ToggleButton, :checkmark_image)
8
+ options[:theme][:ToggleButton][:image_width] ||= options[:theme][:TextBlock][:text_size]
9
+ super(get_image(options.dig(:theme, :ToggleButton, :checkmark_image)), options, block)
10
+ else
11
+ super(options[:checkmark], options, block)
12
+ end
13
+
14
+ @value = options[:checked] || false
15
+
16
+ if @value
17
+ @raw_text = @options[:checkmark]
18
+ else
19
+ @raw_text = ""
20
+ end
21
+ end
22
+
23
+ def clicked_left_mouse_button(_sender, _x, _y)
24
+ self.value = !@value
25
+
26
+ @block.call(self) if @block
27
+
28
+ :handled
29
+ end
30
+
31
+ def render
32
+ if @image
33
+ draw_image if @value
34
+ else
35
+ draw_text
36
+ end
37
+ end
38
+
39
+ def recalculate
40
+ super
41
+ return if @image
42
+
43
+ _width = dimensional_size(@style.width, :width)
44
+ _height = dimensional_size(@style.height, :height)
45
+
46
+ @width = _width || @text.textobject.text_width(@options[:checkmark])
47
+ @height = _height || @text.height
48
+
49
+ update_background
50
+ end
51
+
52
+ def value=(boolean)
53
+ @value = boolean
54
+
55
+ if boolean
56
+ @raw_text = @options[:checkmark]
57
+ else
58
+ @raw_text = ""
59
+ end
60
+
61
+ recalculate
62
+
63
+ publish(:changed, @value)
64
+ end
65
+ end
66
+ end
67
+ end
@@ -1,54 +1,54 @@
1
- module CyberarmEngine
2
- module Event # Gets included into Element
3
- def subscribe(event, method = nil, &block)
4
- handler = method || block
5
- @event_handler[event] << handler
6
-
7
- Subscription.new(self, event, handler)
8
- end
9
-
10
- def unsubscribe(subscription)
11
- end
12
-
13
- def publish(event, *args)
14
- raise ArgumentError, "#{self.class} does not handle #{event.inspect}" unless @event_handler.include?(event)
15
-
16
- return unless enabled?
17
-
18
- was_handled = false
19
-
20
- was_handled = true if respond_to?(event) && (send(event, self, *args) == :handled)
21
-
22
- @event_handler[event].reverse_each do |handler|
23
- if handler.call(self, *args) == :handled
24
- was_handled = true
25
- break
26
- end
27
- end
28
-
29
- return :handled if was_handled
30
-
31
- parent.publish(event, *args) if parent
32
- nil
33
- end
34
-
35
- def event(event)
36
- @event_handler ||= {}
37
- @event_handler[event] ||= []
38
- end
39
- end
40
-
41
- class Subscription
42
- attr_reader :publisher, :event, :handler
43
-
44
- def initialize(publisher, event, handler)
45
- @publisher = publisher
46
- @event = event
47
- @handler = handler
48
- end
49
-
50
- def unsubscribe
51
- @publisher.unsubscribe(self)
52
- end
53
- end
54
- end
1
+ module CyberarmEngine
2
+ module Event # Gets included into Element
3
+ def subscribe(event, method = nil, &block)
4
+ handler = method || block
5
+ @event_handler[event] << handler
6
+
7
+ Subscription.new(self, event, handler)
8
+ end
9
+
10
+ def unsubscribe(subscription)
11
+ end
12
+
13
+ def publish(event, *args)
14
+ raise ArgumentError, "#{self.class} does not handle #{event.inspect}" unless @event_handler.include?(event)
15
+
16
+ return unless enabled?
17
+
18
+ was_handled = false
19
+
20
+ was_handled = true if respond_to?(event) && (send(event, self, *args) == :handled)
21
+
22
+ @event_handler[event].reverse_each do |handler|
23
+ if handler.call(self, *args) == :handled
24
+ was_handled = true
25
+ break
26
+ end
27
+ end
28
+
29
+ return :handled if was_handled
30
+
31
+ parent.publish(event, *args) if parent
32
+ nil
33
+ end
34
+
35
+ def event(event)
36
+ @event_handler ||= {}
37
+ @event_handler[event] ||= []
38
+ end
39
+ end
40
+
41
+ class Subscription
42
+ attr_reader :publisher, :event, :handler
43
+
44
+ def initialize(publisher, event, handler)
45
+ @publisher = publisher
46
+ @event = event
47
+ @handler = handler
48
+ end
49
+
50
+ def unsubscribe
51
+ @publisher.unsubscribe(self)
52
+ end
53
+ end
54
+ end