cyberarm_engine 0.14.0 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
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