gosu_extensions 0.2.0 → 0.2.1
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.
- data/VERSION +1 -1
- data/lib/gosu_extensions.rb +1 -0
- data/lib/traits/generator.rb +6 -2
- data/lib/traits/lives.rb +10 -7
- data/lib/units/sprite.rb +5 -0
- data/lib/units/thing.rb +5 -2
- metadata +3 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.1
|
data/lib/gosu_extensions.rb
CHANGED
data/lib/traits/generator.rb
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
module Generator extend Trait
|
2
2
|
|
3
|
+
def self.start klass, *args
|
4
|
+
[:start_generating, klass, *args]
|
5
|
+
end
|
6
|
+
Start = :start_generating
|
7
|
+
|
3
8
|
def self.included base
|
4
9
|
base.extend ClassMethods
|
5
10
|
end
|
@@ -34,9 +39,8 @@ end
|
|
34
39
|
|
35
40
|
module InstanceMethods
|
36
41
|
|
37
|
-
def
|
42
|
+
def destroyed!
|
38
43
|
stop_generating!
|
39
|
-
super
|
40
44
|
end
|
41
45
|
|
42
46
|
def stop_generating!
|
data/lib/traits/lives.rb
CHANGED
@@ -19,6 +19,7 @@ module Lives extend Trait
|
|
19
19
|
|
20
20
|
def self.included target_class
|
21
21
|
target_class.extend IncludeMethods
|
22
|
+
target_class.send :include, InstanceMethods
|
22
23
|
end
|
23
24
|
|
24
25
|
module IncludeMethods
|
@@ -26,19 +27,21 @@ module Lives extend Trait
|
|
26
27
|
# Define the amount of lives in the class.
|
27
28
|
#
|
28
29
|
def lives amount
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
hook = lambda { self.lives = self.class.prototype_lives }
|
34
|
-
InitializerHooks.register self, &hook
|
30
|
+
InitializerHooks.register self do
|
31
|
+
self.lives = amount
|
32
|
+
end
|
33
|
+
attr_reader :lives # override the default
|
35
34
|
end
|
36
35
|
|
37
36
|
end
|
38
37
|
|
39
38
|
module InstanceMethods
|
40
39
|
|
41
|
-
|
40
|
+
attr_writer :lives
|
41
|
+
|
42
|
+
def lives
|
43
|
+
3
|
44
|
+
end
|
42
45
|
|
43
46
|
# Does three things:
|
44
47
|
# * Deduct 1 live.
|
data/lib/units/sprite.rb
ADDED
data/lib/units/thing.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
|
-
class Thing
|
1
|
+
class Thing < Sprite
|
2
2
|
|
3
|
-
include VectorUtilities
|
4
3
|
include InitializerHooks
|
5
4
|
include ItIsA
|
6
5
|
|
@@ -111,8 +110,12 @@ class Thing
|
|
111
110
|
def destroyed?
|
112
111
|
@destroyed
|
113
112
|
end
|
113
|
+
def destroyed!
|
114
|
+
# Override
|
115
|
+
end
|
114
116
|
def destroy!
|
115
117
|
return if self.destroyed?
|
118
|
+
self.destroyed!
|
116
119
|
self.window.unregister self
|
117
120
|
self.destroyed = true
|
118
121
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 1
|
9
|
+
version: 0.2.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Florian Hanke
|
@@ -88,6 +88,7 @@ files:
|
|
88
88
|
- lib/traits/targeting.rb
|
89
89
|
- lib/traits/targeting/closest.rb
|
90
90
|
- lib/traits/turnable.rb
|
91
|
+
- lib/units/sprite.rb
|
91
92
|
- lib/units/thing.rb
|
92
93
|
has_rdoc: true
|
93
94
|
homepage: http://www.github.com/floere/gosu_extensions
|