gosu_extensions 0.1.16 → 0.1.17

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.16
1
+ 0.1.17
@@ -25,7 +25,7 @@ class GameWindow < Gosu::Window
25
25
  :caption,
26
26
  :screen_width,
27
27
  :screen_height,
28
- :gravity
28
+ :gravity_vector
29
29
  attr_reader :environment,
30
30
  :moveables,
31
31
  :font
@@ -41,6 +41,7 @@ class GameWindow < Gosu::Window
41
41
  super self.screen_width, self.screen_height, self.full_screen, 16
42
42
 
43
43
  setup_background
44
+
44
45
  setup_menu
45
46
 
46
47
  setup_steps
@@ -118,13 +119,13 @@ class GameWindow < Gosu::Window
118
119
  @screen_height || DEFAULT_SCREEN_HEIGHT
119
120
  end
120
121
  def gravity_vector
121
- @gravity || @gravity = CP::Vec2.new(0, 0.98/SUBSTEPS)
122
+ @gravity_vector || @gravity_vector = CP::Vec2.new(0, 0.98/SUBSTEPS)
122
123
  end
123
124
 
124
125
  class << self
125
126
  def gravity amount = 0.98
126
127
  InitializerHooks.register self do
127
- self.gravity = CP::Vec2.new 0, amount.to_f/SUBSTEPS
128
+ self.gravity_vector = CP::Vec2.new(0, amount.to_f/SUBSTEPS)
128
129
  end
129
130
  end
130
131
  def width value = DEFAULT_SCREEN_WIDTH
@@ -180,13 +181,15 @@ class GameWindow < Gosu::Window
180
181
  self.caption = self.class.caption || ""
181
182
  end
182
183
  def setup_background
183
- @background_image = Gosu::Image.new self, File.join(Resources.root, self.background_path), self.background_hard_borders
184
+ if self.background_path
185
+ @background_image = Gosu::Image.new self, File.join(Resources.root, self.background_path), self.background_hard_borders
186
+ end
184
187
  end
185
188
  def setup_containers
186
- @moveables = []
187
- @controls = []
189
+ @moveables = []
190
+ @controls = []
188
191
  @remove_shapes = []
189
- @players = []
192
+ @players = []
190
193
  end
191
194
  def setup_steps
192
195
  @step = 0
@@ -222,7 +225,7 @@ class GameWindow < Gosu::Window
222
225
  # add_collision_func ...
223
226
  #
224
227
  def setup_collisions
225
- @environment.instance_eval &@collision_definitions
228
+ self.environment.instance_eval &@collision_definitions if @collision_definitions
226
229
  end
227
230
 
228
231
  # Add controls for a player.
@@ -0,0 +1,53 @@
1
+ require File.join(File.dirname(__FILE__), '/../../spec_helper')
2
+
3
+ describe GameWindow do
4
+
5
+ class Gosu::Window
6
+ def initialize(*)
7
+ # Note: Let's not initialize a real window.
8
+ end
9
+ end
10
+
11
+ class GameWindowTest < GameWindow
12
+ def setup_font
13
+ # Note: Causes errors, test separately.
14
+ end
15
+ end
16
+
17
+ before(:each) do
18
+ @window = GameWindowTest.new
19
+ end
20
+
21
+ describe "gravity_vector" do
22
+ context 'default' do
23
+ it "should have a calculated value" do
24
+ @window.gravity_vector.x.should == 0.0
25
+ @window.gravity_vector.y.should == 0.098
26
+ end
27
+ end
28
+ context 'user defined' do
29
+ before(:each) do
30
+ GameWindowTest.class_eval do
31
+ gravity 100
32
+ end
33
+ @window = GameWindowTest.new
34
+ end
35
+ it "should have a user defined value" do
36
+ @window.gravity_vector.x.should == 0.0
37
+ @window.gravity_vector.y.should == 10.0
38
+ end
39
+ end
40
+ end
41
+
42
+ describe "draw" do
43
+ it "should call other draw methods in sequence" do
44
+ @window.should_receive(:draw_background).once.with
45
+ @window.should_receive(:draw_ambient).once.with
46
+ @window.should_receive(:draw_moveables).once.with
47
+ @window.should_receive(:draw_ui).once.with
48
+
49
+ @window.draw
50
+ end
51
+ end
52
+
53
+ end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 16
9
- version: 0.1.16
8
+ - 17
9
+ version: 0.1.17
10
10
  platform: ruby
11
11
  authors:
12
12
  - Florian Hanke
@@ -116,6 +116,7 @@ signing_key:
116
116
  specification_version: 3
117
117
  summary: Default extensions built onto the popular Gosu Framework. Uses Chipmunk for game physics. That's it for now. I'm working on them. Anyway, GAME ON!
118
118
  test_files:
119
+ - spec/lib/core/game_window_spec.rb
119
120
  - spec/lib/core/initializer_hooks_spec.rb
120
121
  - spec/lib/core/it_is_a_spec.rb
121
122
  - spec/lib/core/trait_spec.rb