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,142 +1,142 @@
1
- module CyberarmEngine
2
- module DSL
3
- def flow(options = {}, &block)
4
- container(CyberarmEngine::Element::Flow, options, &block)
5
- end
6
-
7
- def stack(options = {}, &block)
8
- container(CyberarmEngine::Element::Stack, options, &block)
9
- end
10
-
11
- def menu(options = {}, &block)
12
- container(CyberarmEngine::Element::Menu, options, &block)
13
- end
14
-
15
- [
16
- "Banner",
17
- "Title",
18
- "Subtitle",
19
- "Tagline",
20
- "Caption",
21
- "Para",
22
- "Inscription",
23
- "Link"
24
- ].each do |const|
25
- define_method(:"#{const.downcase}") do |text, options = {}, &block|
26
- options[:parent] ||= element_parent
27
- options[:theme] ||= current_theme
28
-
29
- add_element(Element.const_get(const).new(text, options, block))
30
- end
31
- end
32
-
33
- def button(text, options = {}, &block)
34
- options[:parent] ||= element_parent
35
- options[:theme] ||= current_theme
36
-
37
- add_element(Element::Button.new(text, options, block) { block.call if block.is_a?(Proc) })
38
- end
39
-
40
- def list_box(options = {}, &block)
41
- options[:parent] ||= element_parent
42
- options[:theme] ||= current_theme
43
-
44
- add_element(Element::ListBox.new(options, block) { block.call if block.is_a?(Proc) })
45
- end
46
-
47
- def menu_item(text, options = {}, &block)
48
- options[:parent] ||= element_parent
49
- options[:theme] ||= current_theme
50
-
51
- add_element(Element::MenuItem.new(text, options, block) { block.call if block.is_a?(Proc) })
52
- end
53
-
54
- def edit_line(text, options = {}, &block)
55
- options[:parent] ||= element_parent
56
- options[:theme] ||= current_theme
57
-
58
- add_element(Element::EditLine.new(text, options, block))
59
- end
60
-
61
- def edit_box(text, options = {}, &block)
62
- options[:parent] ||= element_parent
63
- options[:theme] ||= current_theme
64
-
65
- add_element(Element::EditBox.new(text, options, block))
66
- end
67
-
68
- def toggle_button(options = {}, &block)
69
- options[:parent] ||= element_parent
70
- options[:theme] ||= current_theme
71
-
72
- add_element(Element::ToggleButton.new(options, block))
73
- end
74
-
75
- def check_box(text, options = {}, &block)
76
- options[:parent] ||= element_parent
77
- options[:theme] ||= current_theme
78
-
79
- add_element(Element::CheckBox.new(text, options, block))
80
- end
81
-
82
- def image(path, options = {}, &block)
83
- options[:parent] ||= element_parent
84
- options[:theme] ||= current_theme
85
-
86
- add_element(Element::Image.new(path, options, block))
87
- end
88
-
89
- def progress(options = {}, &block)
90
- options[:parent] ||= element_parent
91
- options[:theme] ||= current_theme
92
-
93
- add_element(Element::Progress.new(options, block))
94
- end
95
-
96
- def slider(options = {}, &block)
97
- options[:parent] ||= element_parent
98
- options[:theme] ||= current_theme
99
-
100
- add_element(Element::Slider.new(options, block))
101
- end
102
-
103
- def background(color = Gosu::Color::NONE)
104
- element_parent.style.default[:background] = color
105
- end
106
-
107
- def theme(theme)
108
- element_parent.options[:theme] ||= theme
109
- end
110
-
111
- def current_theme
112
- element_parent.options[:theme]
113
- end
114
-
115
- private def add_element(element)
116
- element_parent.add(element)
117
-
118
- element
119
- end
120
-
121
- private def element_parent
122
- CyberarmEngine::Element::Container.current_container
123
- end
124
-
125
- private def container(klass, options = {}, &block)
126
- options[:parent] ||= element_parent
127
- options[:theme] ||= current_theme
128
-
129
- _container = klass.new(options, block)
130
-
131
- old_parent = element_parent
132
- CyberarmEngine::Element::Container.current_container = _container
133
-
134
- _container.build
135
- _container.parent.add(_container) unless _container.is_a?(CyberarmEngine::Element::Menu)
136
-
137
- CyberarmEngine::Element::Container.current_container = old_parent
138
-
139
- _container
140
- end
141
- end
142
- end
1
+ module CyberarmEngine
2
+ module DSL
3
+ def flow(options = {}, &block)
4
+ container(CyberarmEngine::Element::Flow, options, &block)
5
+ end
6
+
7
+ def stack(options = {}, &block)
8
+ container(CyberarmEngine::Element::Stack, options, &block)
9
+ end
10
+
11
+ def menu(options = {}, &block)
12
+ container(CyberarmEngine::Element::Menu, options, &block)
13
+ end
14
+
15
+ [
16
+ "Banner",
17
+ "Title",
18
+ "Subtitle",
19
+ "Tagline",
20
+ "Caption",
21
+ "Para",
22
+ "Inscription",
23
+ "Link"
24
+ ].each do |const|
25
+ define_method(:"#{const.downcase}") do |text, options = {}, &block|
26
+ options[:parent] ||= element_parent
27
+ options[:theme] ||= current_theme
28
+
29
+ add_element(Element.const_get(const).new(text, options, block))
30
+ end
31
+ end
32
+
33
+ def button(text, options = {}, &block)
34
+ options[:parent] ||= element_parent
35
+ options[:theme] ||= current_theme
36
+
37
+ add_element(Element::Button.new(text, options, block) { block.call if block.is_a?(Proc) })
38
+ end
39
+
40
+ def list_box(options = {}, &block)
41
+ options[:parent] ||= element_parent
42
+ options[:theme] ||= current_theme
43
+
44
+ add_element(Element::ListBox.new(options, block) { block.call if block.is_a?(Proc) })
45
+ end
46
+
47
+ def menu_item(text, options = {}, &block)
48
+ options[:parent] ||= element_parent
49
+ options[:theme] ||= current_theme
50
+
51
+ add_element(Element::MenuItem.new(text, options, block) { block.call if block.is_a?(Proc) })
52
+ end
53
+
54
+ def edit_line(text, options = {}, &block)
55
+ options[:parent] ||= element_parent
56
+ options[:theme] ||= current_theme
57
+
58
+ add_element(Element::EditLine.new(text, options, block))
59
+ end
60
+
61
+ def edit_box(text, options = {}, &block)
62
+ options[:parent] ||= element_parent
63
+ options[:theme] ||= current_theme
64
+
65
+ add_element(Element::EditBox.new(text, options, block))
66
+ end
67
+
68
+ def toggle_button(options = {}, &block)
69
+ options[:parent] ||= element_parent
70
+ options[:theme] ||= current_theme
71
+
72
+ add_element(Element::ToggleButton.new(options, block))
73
+ end
74
+
75
+ def check_box(text, options = {}, &block)
76
+ options[:parent] ||= element_parent
77
+ options[:theme] ||= current_theme
78
+
79
+ add_element(Element::CheckBox.new(text, options, block))
80
+ end
81
+
82
+ def image(path, options = {}, &block)
83
+ options[:parent] ||= element_parent
84
+ options[:theme] ||= current_theme
85
+
86
+ add_element(Element::Image.new(path, options, block))
87
+ end
88
+
89
+ def progress(options = {}, &block)
90
+ options[:parent] ||= element_parent
91
+ options[:theme] ||= current_theme
92
+
93
+ add_element(Element::Progress.new(options, block))
94
+ end
95
+
96
+ def slider(options = {}, &block)
97
+ options[:parent] ||= element_parent
98
+ options[:theme] ||= current_theme
99
+
100
+ add_element(Element::Slider.new(options, block))
101
+ end
102
+
103
+ def background(color = Gosu::Color::NONE)
104
+ element_parent.style.default[:background] = color
105
+ end
106
+
107
+ def theme(theme)
108
+ element_parent.options[:theme] ||= theme
109
+ end
110
+
111
+ def current_theme
112
+ element_parent.options[:theme]
113
+ end
114
+
115
+ private def add_element(element)
116
+ element_parent.add(element)
117
+
118
+ element
119
+ end
120
+
121
+ private def element_parent
122
+ CyberarmEngine::Element::Container.current_container
123
+ end
124
+
125
+ private def container(klass, options = {}, &block)
126
+ options[:parent] ||= element_parent
127
+ options[:theme] ||= current_theme
128
+
129
+ _container = klass.new(options, block)
130
+
131
+ old_parent = element_parent
132
+ CyberarmEngine::Element::Container.current_container = _container
133
+
134
+ _container.build
135
+ _container.parent.add(_container) unless _container.is_a?(CyberarmEngine::Element::Menu)
136
+
137
+ CyberarmEngine::Element::Container.current_container = old_parent
138
+
139
+ _container
140
+ end
141
+ end
142
+ end