metro 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. data/changelog.md +8 -1
  2. data/lib/core_ext/class.rb +14 -0
  3. data/lib/metro.rb +1 -0
  4. data/lib/metro/events/event_data.rb +3 -4
  5. data/lib/metro/events/event_state_manager.rb +63 -0
  6. data/lib/metro/events/events.rb +3 -0
  7. data/lib/metro/events/hit_list.rb +4 -5
  8. data/lib/metro/events/unknown_sender.rb +1 -1
  9. data/lib/metro/models/model.rb +14 -25
  10. data/lib/metro/models/model_factory.rb +1 -1
  11. data/lib/metro/models/models.rb +62 -0
  12. data/lib/metro/models/properties/position_property.rb +1 -1
  13. data/lib/metro/models/ui/animated_sprite.rb +85 -0
  14. data/lib/metro/models/ui/border.rb +44 -18
  15. data/lib/metro/models/ui/fps.rb +1 -1
  16. data/lib/metro/models/ui/generic.rb +24 -3
  17. data/lib/metro/models/ui/model_label.rb +1 -1
  18. data/lib/metro/models/ui/model_labeler.rb +2 -2
  19. data/lib/metro/models/ui/rectangle.rb +1 -1
  20. data/lib/metro/models/ui/sprite.rb +79 -0
  21. data/lib/metro/models/ui/ui.rb +12 -0
  22. data/lib/metro/scene.rb +13 -61
  23. data/lib/metro/scenes.rb +11 -13
  24. data/lib/metro/transitions/edit_transition_scene.rb +2 -2
  25. data/lib/metro/units/calculation_validations.rb +74 -0
  26. data/lib/metro/units/dimensions.rb +11 -19
  27. data/lib/metro/units/point.rb +6 -22
  28. data/lib/metro/units/rectangle_bounds.rb +10 -6
  29. data/lib/metro/units/scale.rb +7 -0
  30. data/lib/metro/units/units.rb +1 -0
  31. data/lib/metro/version.rb +1 -1
  32. data/lib/metro/window.rb +7 -3
  33. data/lib/setup_handlers/reload_game_on_game_file_changes.rb +6 -6
  34. data/lib/templates/game/models/hero.rb +35 -6
  35. data/lib/templates/model.rb.tt +1 -1
  36. data/spec/core_ext/string_spec.rb +0 -20
  37. data/spec/metro/units/point_spec.rb +132 -0
  38. data/spec/setup_handlers/exit_if_dry_run_spec.rb +27 -0
  39. data/spec/setup_handlers/reload_game_on_game_file_changes_spec.rb +68 -0
  40. metadata +21 -9
@@ -0,0 +1,68 @@
1
+ require 'spec_helper'
2
+
3
+ describe Metro::SetupHandlers::ReloadGameOnGameFileChanges do
4
+
5
+ let(:expected_filepaths) do
6
+ %w[ lib scenes models views assets ]
7
+ end
8
+
9
+ its(:watched_filepaths) { should eq expected_filepaths }
10
+
11
+
12
+ describe "#setup" do
13
+ context "when the game is not in debug mode" do
14
+ before do
15
+ Game.stub(:debug?).and_return(false)
16
+ end
17
+
18
+ let(:options) { mock('Options',packaged?: false) }
19
+
20
+ it "should not start the watcher" do
21
+ subject.should_not_receive(:start_watcher)
22
+ subject.setup(options)
23
+ end
24
+ end
25
+
26
+ context "when the options specify that it is being run in a package" do
27
+ before do
28
+ Game.stub(:debug?).and_return(true)
29
+ end
30
+
31
+ let(:options) { mock('Options',packaged?: true) }
32
+
33
+ it "should not start the watcher" do
34
+ subject.should_not_receive(:start_watcher)
35
+ subject.setup(options)
36
+ end
37
+ end
38
+
39
+ context "when the game is debug mode" do
40
+ before do
41
+ Game.stub(:debug?).and_return(true)
42
+ end
43
+
44
+ let(:options) { mock('Options',packaged?: false) }
45
+
46
+
47
+ it "should start the watcher" do
48
+ subject.should_receive(:start_watcher)
49
+ subject.setup(options)
50
+ end
51
+ end
52
+ end
53
+
54
+ describe "#reload_game_because_files_changed" do
55
+
56
+ before do
57
+ Metro.stub(:game_has_valid_code?).and_return(false)
58
+ end
59
+
60
+ let(:changed_files) { [ :new_file, :update_file, :deleted_file ] }
61
+
62
+ it "should not ask the current scene to reload if the code is invalid" do
63
+ Game.should_not_receive(:current_scene)
64
+ subject.reload_game_because_files_changed(changed_files)
65
+ end
66
+ end
67
+
68
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-29 00:00:00.000000000 Z
12
+ date: 2012-12-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: gosu
@@ -138,6 +138,7 @@ files:
138
138
  - lib/commands/generate_scene.rb
139
139
  - lib/commands/generate_view.rb
140
140
  - lib/commands/thor.rb
141
+ - lib/core_ext/class.rb
141
142
  - lib/core_ext/numeric.rb
142
143
  - lib/gosu_ext/color.rb
143
144
  - lib/gosu_ext/gosu_constants.rb
@@ -161,6 +162,8 @@ files:
161
162
  - lib/metro/events/event_dictionary.rb
162
163
  - lib/metro/events/event_factory.rb
163
164
  - lib/metro/events/event_relay.rb
165
+ - lib/metro/events/event_state_manager.rb
166
+ - lib/metro/events/events.rb
164
167
  - lib/metro/events/has_events.rb
165
168
  - lib/metro/events/hit_list.rb
166
169
  - lib/metro/events/unknown_sender.rb
@@ -175,6 +178,7 @@ files:
175
178
  - lib/metro/models/key_value_coding.rb
176
179
  - lib/metro/models/model.rb
177
180
  - lib/metro/models/model_factory.rb
181
+ - lib/metro/models/models.rb
178
182
  - lib/metro/models/properties/animation_property.rb
179
183
  - lib/metro/models/properties/array_property.rb
180
184
  - lib/metro/models/properties/boolean_property.rb
@@ -194,6 +198,7 @@ files:
194
198
  - lib/metro/models/properties/scale_property.rb
195
199
  - lib/metro/models/properties/song_property.rb
196
200
  - lib/metro/models/properties/text_property.rb
201
+ - lib/metro/models/ui/animated_sprite.rb
197
202
  - lib/metro/models/ui/border.rb
198
203
  - lib/metro/models/ui/fps.rb
199
204
  - lib/metro/models/ui/generic.rb
@@ -204,6 +209,8 @@ files:
204
209
  - lib/metro/models/ui/model_label.rb
205
210
  - lib/metro/models/ui/model_labeler.rb
206
211
  - lib/metro/models/ui/rectangle.rb
212
+ - lib/metro/models/ui/sprite.rb
213
+ - lib/metro/models/ui/ui.rb
207
214
  - lib/metro/parameters/command_line_args_parser.rb
208
215
  - lib/metro/parameters/options.rb
209
216
  - lib/metro/parameters/parameters.rb
@@ -217,6 +224,7 @@ files:
217
224
  - lib/metro/transitions/scene_transitions.rb
218
225
  - lib/metro/transitions/transition_scene.rb
219
226
  - lib/metro/units/bounds.rb
227
+ - lib/metro/units/calculation_validations.rb
220
228
  - lib/metro/units/dimensions.rb
221
229
  - lib/metro/units/point.rb
222
230
  - lib/metro/units/rectangle_bounds.rb
@@ -276,7 +284,10 @@ files:
276
284
  - spec/metro/scene_views/json_view_spec.rb
277
285
  - spec/metro/scene_views/yaml_view_spec.rb
278
286
  - spec/metro/scenes_spec.rb
287
+ - spec/metro/units/point_spec.rb
279
288
  - spec/metro/views/view_spec.rb
289
+ - spec/setup_handlers/exit_if_dry_run_spec.rb
290
+ - spec/setup_handlers/reload_game_on_game_file_changes_spec.rb
280
291
  - spec/spec_helper.rb
281
292
  homepage: https://github.com/burtlo/metro
282
293
  licenses:
@@ -284,13 +295,11 @@ licenses:
284
295
  post_install_message: ! " ______ ___ _____\n ___ |/ /_____ __ /_______________\n
285
296
  \ __ /|_/ / _ _ \\_ __/__ ___/_ __ \\\n _ / / / / __// /_ _ / /
286
297
  /_/ /\n /_/ /_/ \\___/ \\__/ /_/ \\____/\n\n Thank you for installing
287
- metro 0.3.3 / 2012-11-28.\n ---------------------------------------------------------------------\n
288
- \ Changes:\n \n * Edit Mode - actors within a scene can have their position
289
- edited\n and saved. Actors within the scene that have a valid bounds\n specified
290
- will appear within the scene with name and bounding box.\n * Dimensions can now
291
- be defined as strings\n * Game bounds and Game dimensions return objects of that
292
- type\n * `metr::ui::fps` added and has some shortcut placements settings\n \n\n
293
- \ ---------------------------------------------------------------------\n"
298
+ metro 0.3.4 / 2012-12-14.\n ---------------------------------------------------------------------\n
299
+ \ Changes:\n \n * `metro::ui::sprite` and `metro::ui::animated_sprite` model
300
+ classes\n to make it easier to take care of all the basic model attributes.\n
301
+ \ * Event Management changed in the background. The API remains the\n same.\n
302
+ \ \n\n ---------------------------------------------------------------------\n"
294
303
  rdoc_options: []
295
304
  require_paths:
296
305
  - lib
@@ -334,6 +343,9 @@ test_files:
334
343
  - spec/metro/scene_views/json_view_spec.rb
335
344
  - spec/metro/scene_views/yaml_view_spec.rb
336
345
  - spec/metro/scenes_spec.rb
346
+ - spec/metro/units/point_spec.rb
337
347
  - spec/metro/views/view_spec.rb
348
+ - spec/setup_handlers/exit_if_dry_run_spec.rb
349
+ - spec/setup_handlers/reload_game_on_game_file_changes_spec.rb
338
350
  - spec/spec_helper.rb
339
351
  has_rdoc: