dedalus 0.2.6 → 0.2.7
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.
- checksums.yaml +4 -4
- data/bin/dedalus +2 -1
- data/lib/dedalus/elements/image.rb +12 -2
- data/lib/dedalus/elements/image_grid.rb +15 -7
- data/lib/dedalus/elements/sprite_field.rb +17 -7
- data/lib/dedalus/pattern_library/organisms/app_header.rb +1 -1
- data/lib/dedalus/pattern_library/templates/app_template.rb +1 -1
- data/lib/dedalus/version.rb +1 -1
- data/lib/dedalus/view_traversal.rb +14 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8686f3d6232edc32c9ead7d41abd9feedb983b9c
|
4
|
+
data.tar.gz: 727b37a3abf33fb14b046c004d7bd10c3737612a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b8d7f3f5c95f0b8e94a928531f0bc1be683b6b26420ae6f47881adfb09e10fc31f4211d614a115c1929ec00b249b3deac35d6f8344b39e4d7fc29e61d5854be
|
7
|
+
data.tar.gz: bf574d8b6c2001c97f364f7e3259ea01bb7a12d49a2c34079cf328524e933552b5c2211897d64b68cbdec821dcace92d5727eb9626de02f8fe327cef408a1c2d
|
data/bin/dedalus
CHANGED
@@ -9,7 +9,8 @@ if File.directory?(File.join(root,'.git'))
|
|
9
9
|
Dedalus::PatternLibrary::Application.kickstart!({
|
10
10
|
setup: {
|
11
11
|
library_name: "Dedalus",
|
12
|
-
module_to_search: Dedalus::
|
12
|
+
module_to_search: Dedalus::PatternLibrary
|
13
|
+
# Dedalus::Elements
|
13
14
|
}
|
14
15
|
})
|
15
16
|
rescue LoadError => e
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Dedalus
|
2
2
|
module Elements
|
3
3
|
class Image < Dedalus::Atom
|
4
|
-
attr_accessor :path, :padding, :z_order, :invert_x, :invert_y
|
4
|
+
attr_accessor :path, :padding, :z_order, :invert_x, :invert_y, :overlay_color
|
5
5
|
|
6
6
|
def render
|
7
7
|
x,y = *position
|
@@ -10,7 +10,17 @@ module Dedalus
|
|
10
10
|
|
11
11
|
ox,oy = *offset
|
12
12
|
|
13
|
-
|
13
|
+
if overlay_color
|
14
|
+
asset.draw(x + padding + ox, y + padding + oy, z_order, x_scale, y_scale, overlay_gosu_color)
|
15
|
+
else
|
16
|
+
asset.draw(x + padding + ox, y + padding + oy, z_order, x_scale, y_scale) #, overlay_color)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def overlay_gosu_color
|
21
|
+
clr = Palette.decode_color(overlay_color).to_gosu
|
22
|
+
clr.alpha = 255
|
23
|
+
clr
|
14
24
|
end
|
15
25
|
|
16
26
|
def offset
|
@@ -4,19 +4,27 @@ module Dedalus
|
|
4
4
|
attr_accessor :grid, :tiles_path, :tile_width, :tile_height
|
5
5
|
|
6
6
|
def show
|
7
|
-
grid
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
7
|
+
if grid
|
8
|
+
grid.map do |row|
|
9
|
+
row.map do |grid_value|
|
10
|
+
if grid_value
|
11
|
+
sprite_for(grid_value)
|
12
|
+
else
|
13
|
+
no_image
|
14
|
+
end
|
13
15
|
end
|
14
16
|
end
|
17
|
+
else
|
18
|
+
[]
|
15
19
|
end
|
16
20
|
end
|
17
21
|
|
18
22
|
def height
|
19
|
-
grid
|
23
|
+
if grid
|
24
|
+
grid.length * tile_height
|
25
|
+
else
|
26
|
+
0
|
27
|
+
end
|
20
28
|
end
|
21
29
|
|
22
30
|
def sprite_for(frame)
|
@@ -13,16 +13,26 @@ module Dedalus
|
|
13
13
|
layer_stack.push(Dedalus::Layer.new(background_image))
|
14
14
|
layer_stack.push(Dedalus::Layer.new(image_grid))
|
15
15
|
|
16
|
+
# p [ canvas_layer: canvas_layer ]
|
17
|
+
layer_stack.push(canvas_layer)
|
18
|
+
layer_stack
|
19
|
+
end
|
20
|
+
|
21
|
+
def canvas_layer
|
16
22
|
# TODO one sprite *layer*
|
17
|
-
|
18
|
-
|
23
|
+
Dedalus::Layer.new(sprites, freeform: true)
|
24
|
+
end
|
25
|
+
|
26
|
+
def sprites
|
27
|
+
sprite_map.flat_map do |location, sprite_list|
|
28
|
+
sprite_list.map do |sprite|
|
19
29
|
position = to_screen_coordinates(location: location)
|
20
|
-
sprite =
|
21
|
-
|
30
|
+
sprite.position = position
|
31
|
+
p [ updated_sprite_position: sprite ]
|
32
|
+
sprite
|
33
|
+
# Sprite.new(sprite_attrs.merge(position: position))
|
22
34
|
end
|
23
35
|
end
|
24
|
-
|
25
|
-
layer_stack
|
26
36
|
end
|
27
37
|
|
28
38
|
def image_grid
|
@@ -55,7 +65,7 @@ module Dedalus
|
|
55
65
|
[1,1,1,1,1]],
|
56
66
|
scale: 0.3,
|
57
67
|
player_location: [2,2],
|
58
|
-
sprite_map: { [
|
68
|
+
sprite_map: { [1.2,2.4] => [ Sprite.new(Sprite.example_data) ] }
|
59
69
|
}
|
60
70
|
end
|
61
71
|
end
|
data/lib/dedalus/version.rb
CHANGED
@@ -49,7 +49,19 @@ module Dedalus
|
|
49
49
|
if structure.is_a?(LayerStack)
|
50
50
|
layers = structure.layers
|
51
51
|
layers.each do |layer|
|
52
|
-
|
52
|
+
# TODO cleanup a bit?
|
53
|
+
if layer.freeform?
|
54
|
+
if layer.show.is_a?(Array)
|
55
|
+
# need to run through each element individually?
|
56
|
+
layer.show.each do |layer_element|
|
57
|
+
walk!(layer_element, origin: pad_origin, dimensions: pad_dims, freeform: true)
|
58
|
+
end
|
59
|
+
else
|
60
|
+
walk!(layer, origin: pad_origin, dimensions: pad_dims, freeform: true)
|
61
|
+
end
|
62
|
+
else
|
63
|
+
walk!(layer, origin: pad_origin, dimensions: pad_dims, freeform: false)
|
64
|
+
end
|
53
65
|
end
|
54
66
|
else
|
55
67
|
walk!(structure.show, origin: pad_origin, dimensions: pad_dims, freeform: freeform)
|
@@ -69,7 +81,7 @@ module Dedalus
|
|
69
81
|
dims = [width, current_row_height]
|
70
82
|
if row.is_a?(Array)
|
71
83
|
extra_columns = true
|
72
|
-
while extra_columns
|
84
|
+
while extra_columns
|
73
85
|
row = walk_columns!(row, origin: [x0, y], dimensions: dims)
|
74
86
|
if row.empty?
|
75
87
|
extra_columns = false
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dedalus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joseph Weissman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-05-
|
11
|
+
date: 2016-05-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: joyce
|