cyberarm_engine 0.14.0 → 0.18.0

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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +8 -0
  3. data/Gemfile +1 -1
  4. data/README.md +5 -4
  5. data/Rakefile +1 -1
  6. data/assets/textures/default.png +0 -0
  7. data/assets/textures/logo.png +0 -0
  8. data/cyberarm_engine.gemspec +11 -9
  9. data/lib/cyberarm_engine.rb +19 -7
  10. data/lib/cyberarm_engine/animator.rb +13 -11
  11. data/lib/cyberarm_engine/background.rb +19 -15
  12. data/lib/cyberarm_engine/background_nine_slice.rb +125 -0
  13. data/lib/cyberarm_engine/bounding_box.rb +18 -18
  14. data/lib/cyberarm_engine/builtin/intro_state.rb +128 -0
  15. data/lib/cyberarm_engine/cache.rb +4 -0
  16. data/lib/cyberarm_engine/cache/download_manager.rb +121 -0
  17. data/lib/cyberarm_engine/common.rb +18 -13
  18. data/lib/cyberarm_engine/config_file.rb +2 -2
  19. data/lib/cyberarm_engine/game_object.rb +63 -72
  20. data/lib/cyberarm_engine/game_state.rb +11 -3
  21. data/lib/cyberarm_engine/model.rb +207 -0
  22. data/lib/cyberarm_engine/model/material.rb +21 -0
  23. data/lib/cyberarm_engine/model/model_object.rb +131 -0
  24. data/lib/cyberarm_engine/model/parser.rb +74 -0
  25. data/lib/cyberarm_engine/model/parsers/collada_parser.rb +138 -0
  26. data/lib/cyberarm_engine/model/parsers/wavefront_parser.rb +154 -0
  27. data/lib/cyberarm_engine/model_cache.rb +31 -0
  28. data/lib/cyberarm_engine/opengl.rb +28 -0
  29. data/lib/cyberarm_engine/opengl/light.rb +50 -0
  30. data/lib/cyberarm_engine/opengl/orthographic_camera.rb +46 -0
  31. data/lib/cyberarm_engine/opengl/perspective_camera.rb +38 -0
  32. data/lib/cyberarm_engine/opengl/renderer/bounding_box_renderer.rb +249 -0
  33. data/lib/cyberarm_engine/opengl/renderer/g_buffer.rb +164 -0
  34. data/lib/cyberarm_engine/opengl/renderer/opengl_renderer.rb +289 -0
  35. data/lib/cyberarm_engine/opengl/renderer/renderer.rb +22 -0
  36. data/lib/cyberarm_engine/{shader.rb → opengl/shader.rb} +51 -43
  37. data/lib/cyberarm_engine/opengl/texture.rb +69 -0
  38. data/lib/cyberarm_engine/ray.rb +5 -5
  39. data/lib/cyberarm_engine/stats.rb +2 -2
  40. data/lib/cyberarm_engine/text.rb +51 -27
  41. data/lib/cyberarm_engine/timer.rb +1 -1
  42. data/lib/cyberarm_engine/transform.rb +43 -20
  43. data/lib/cyberarm_engine/ui/border_canvas.rb +4 -3
  44. data/lib/cyberarm_engine/ui/dsl.rb +45 -12
  45. data/lib/cyberarm_engine/ui/element.rb +211 -61
  46. data/lib/cyberarm_engine/ui/elements/button.rb +72 -42
  47. data/lib/cyberarm_engine/ui/elements/check_box.rb +5 -2
  48. data/lib/cyberarm_engine/ui/elements/container.rb +81 -29
  49. data/lib/cyberarm_engine/ui/elements/edit_box.rb +175 -2
  50. data/lib/cyberarm_engine/ui/elements/edit_line.rb +139 -48
  51. data/lib/cyberarm_engine/ui/elements/flow.rb +1 -1
  52. data/lib/cyberarm_engine/ui/elements/image.rb +32 -12
  53. data/lib/cyberarm_engine/ui/elements/list_box.rb +78 -2
  54. data/lib/cyberarm_engine/ui/elements/progress.rb +5 -5
  55. data/lib/cyberarm_engine/ui/elements/radio.rb +1 -1
  56. data/lib/cyberarm_engine/ui/elements/slider.rb +13 -16
  57. data/lib/cyberarm_engine/ui/elements/stack.rb +1 -1
  58. data/lib/cyberarm_engine/ui/elements/text_block.rb +153 -0
  59. data/lib/cyberarm_engine/ui/elements/toggle_button.rb +27 -19
  60. data/lib/cyberarm_engine/ui/event.rb +7 -7
  61. data/lib/cyberarm_engine/ui/gui_state.rb +88 -16
  62. data/lib/cyberarm_engine/ui/style.rb +23 -11
  63. data/lib/cyberarm_engine/ui/theme.rb +95 -21
  64. data/lib/cyberarm_engine/vector.rb +33 -30
  65. data/lib/cyberarm_engine/version.rb +2 -2
  66. data/lib/cyberarm_engine/window.rb +35 -18
  67. metadata +70 -18
  68. data/lib/cyberarm_engine/ui/elements/label.rb +0 -52
metadata CHANGED
@@ -1,29 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cyberarm_engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.0
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cyberarm
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-05-07 00:00:00.000000000 Z
11
+ date: 2021-04-19 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: clipboard
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 1.3.5
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.3.5
27
+ - !ruby/object:Gem::Dependency
28
+ name: excon
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.78.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.78.0
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: gosu
15
43
  requirement: !ruby/object:Gem::Requirement
16
44
  requirements:
17
45
  - - "~>"
18
46
  - !ruby/object:Gem::Version
19
- version: 0.15.0
47
+ version: '1.1'
20
48
  type: :runtime
21
49
  prerelease: false
22
50
  version_requirements: !ruby/object:Gem::Requirement
23
51
  requirements:
24
52
  - - "~>"
25
53
  - !ruby/object:Gem::Version
26
- version: 0.15.0
54
+ version: '1.1'
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: gosu_more_drawables
29
57
  requirement: !ruby/object:Gem::Requirement
@@ -44,42 +72,42 @@ dependencies:
44
72
  requirements:
45
73
  - - "~>"
46
74
  - !ruby/object:Gem::Version
47
- version: '1.16'
75
+ version: '2.2'
48
76
  type: :development
49
77
  prerelease: false
50
78
  version_requirements: !ruby/object:Gem::Requirement
51
79
  requirements:
52
80
  - - "~>"
53
81
  - !ruby/object:Gem::Version
54
- version: '1.16'
82
+ version: '2.2'
55
83
  - !ruby/object:Gem::Dependency
56
- name: rake
84
+ name: minitest
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
87
  - - "~>"
60
88
  - !ruby/object:Gem::Version
61
- version: '13.0'
89
+ version: '5.0'
62
90
  type: :development
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
94
  - - "~>"
67
95
  - !ruby/object:Gem::Version
68
- version: '13.0'
96
+ version: '5.0'
69
97
  - !ruby/object:Gem::Dependency
70
- name: minitest
98
+ name: rake
71
99
  requirement: !ruby/object:Gem::Requirement
72
100
  requirements:
73
101
  - - "~>"
74
102
  - !ruby/object:Gem::Version
75
- version: '5.0'
103
+ version: '13.0'
76
104
  type: :development
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
108
  - - "~>"
81
109
  - !ruby/object:Gem::Version
82
- version: '5.0'
110
+ version: '13.0'
83
111
  description: Yet another game making framework around gosu
84
112
  email:
85
113
  - matthewlikesrobots@gmail.com
@@ -88,24 +116,47 @@ extensions: []
88
116
  extra_rdoc_files: []
89
117
  files:
90
118
  - ".gitignore"
119
+ - ".rubocop.yml"
91
120
  - ".travis.yml"
92
121
  - Gemfile
93
122
  - LICENSE.txt
94
123
  - README.md
95
124
  - Rakefile
125
+ - assets/textures/default.png
126
+ - assets/textures/logo.png
96
127
  - bin/console
97
128
  - bin/setup
98
129
  - cyberarm_engine.gemspec
99
130
  - lib/cyberarm_engine.rb
100
131
  - lib/cyberarm_engine/animator.rb
101
132
  - lib/cyberarm_engine/background.rb
133
+ - lib/cyberarm_engine/background_nine_slice.rb
102
134
  - lib/cyberarm_engine/bounding_box.rb
135
+ - lib/cyberarm_engine/builtin/intro_state.rb
136
+ - lib/cyberarm_engine/cache.rb
137
+ - lib/cyberarm_engine/cache/download_manager.rb
103
138
  - lib/cyberarm_engine/common.rb
104
139
  - lib/cyberarm_engine/config_file.rb
105
140
  - lib/cyberarm_engine/game_object.rb
106
141
  - lib/cyberarm_engine/game_state.rb
142
+ - lib/cyberarm_engine/model.rb
143
+ - lib/cyberarm_engine/model/material.rb
144
+ - lib/cyberarm_engine/model/model_object.rb
145
+ - lib/cyberarm_engine/model/parser.rb
146
+ - lib/cyberarm_engine/model/parsers/collada_parser.rb
147
+ - lib/cyberarm_engine/model/parsers/wavefront_parser.rb
148
+ - lib/cyberarm_engine/model_cache.rb
149
+ - lib/cyberarm_engine/opengl.rb
150
+ - lib/cyberarm_engine/opengl/light.rb
151
+ - lib/cyberarm_engine/opengl/orthographic_camera.rb
152
+ - lib/cyberarm_engine/opengl/perspective_camera.rb
153
+ - lib/cyberarm_engine/opengl/renderer/bounding_box_renderer.rb
154
+ - lib/cyberarm_engine/opengl/renderer/g_buffer.rb
155
+ - lib/cyberarm_engine/opengl/renderer/opengl_renderer.rb
156
+ - lib/cyberarm_engine/opengl/renderer/renderer.rb
157
+ - lib/cyberarm_engine/opengl/shader.rb
158
+ - lib/cyberarm_engine/opengl/texture.rb
107
159
  - lib/cyberarm_engine/ray.rb
108
- - lib/cyberarm_engine/shader.rb
109
160
  - lib/cyberarm_engine/stats.rb
110
161
  - lib/cyberarm_engine/text.rb
111
162
  - lib/cyberarm_engine/timer.rb
@@ -120,12 +171,12 @@ files:
120
171
  - lib/cyberarm_engine/ui/elements/edit_line.rb
121
172
  - lib/cyberarm_engine/ui/elements/flow.rb
122
173
  - lib/cyberarm_engine/ui/elements/image.rb
123
- - lib/cyberarm_engine/ui/elements/label.rb
124
174
  - lib/cyberarm_engine/ui/elements/list_box.rb
125
175
  - lib/cyberarm_engine/ui/elements/progress.rb
126
176
  - lib/cyberarm_engine/ui/elements/radio.rb
127
177
  - lib/cyberarm_engine/ui/elements/slider.rb
128
178
  - lib/cyberarm_engine/ui/elements/stack.rb
179
+ - lib/cyberarm_engine/ui/elements/text_block.rb
129
180
  - lib/cyberarm_engine/ui/elements/toggle_button.rb
130
181
  - lib/cyberarm_engine/ui/event.rb
131
182
  - lib/cyberarm_engine/ui/gui_state.rb
@@ -139,10 +190,11 @@ licenses:
139
190
  - MIT
140
191
  metadata:
141
192
  allowed_push_host: https://rubygems.org
142
- post_install_message:
193
+ post_install_message:
143
194
  rdoc_options: []
144
195
  require_paths:
145
196
  - lib
197
+ - assets
146
198
  required_ruby_version: !ruby/object:Gem::Requirement
147
199
  requirements:
148
200
  - - ">="
@@ -154,8 +206,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
154
206
  - !ruby/object:Gem::Version
155
207
  version: '0'
156
208
  requirements: []
157
- rubygems_version: 3.1.2
158
- signing_key:
209
+ rubygems_version: 3.2.3
210
+ signing_key:
159
211
  specification_version: 4
160
212
  summary: Make games quickly and easily with gosu
161
213
  test_files: []
@@ -1,52 +0,0 @@
1
- module CyberarmEngine
2
- class Element
3
- class Label < Element
4
- def initialize(text, options = {}, block = nil)
5
- super(options, block)
6
-
7
- @text = Text.new(text, font: @options[:font], z: @z, color: @options[:color], size: @options[:text_size], shadow: @options[:text_shadow])
8
- end
9
-
10
- def render
11
- @text.draw
12
- end
13
-
14
- def clicked_left_mouse_button(sender, x, y)
15
- @block.call(self) if @block
16
-
17
- # return :handled
18
- end
19
-
20
- def recalculate
21
- @width, @height = 0, 0
22
-
23
- _width = dimensional_size(@style.width, :width)
24
- _height= dimensional_size(@style.height,:height)
25
-
26
- @width = _width ? _width : @text.width.round
27
- @height= _height ? _height : @text.height.round
28
-
29
- @text.x = @style.border_thickness_left + @style.padding_left + @x
30
- @text.y = @style.border_thickness_top + @style.padding_top + @y
31
- @text.z = @z + 3
32
-
33
- update_background
34
- end
35
-
36
- def value
37
- @text.text
38
- end
39
-
40
- def value=(value)
41
- @text.text = value
42
-
43
- old_width, old_height = width, height
44
- recalculate
45
-
46
- root.gui_state.request_recalculate if old_width != width || old_height != height
47
-
48
- publish(:changed, self.value)
49
- end
50
- end
51
- end
52
- end