dedalus 0.2.19 → 0.2.20

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 44f04ecde1ab6bae2875dc758bc221a5e2c7fa2d
4
- data.tar.gz: 4cb2a1661186f0ac45350d9e8458473c00494595
3
+ metadata.gz: 2f4879b973c1147f12956e1662b1f9d45c5b2d1c
4
+ data.tar.gz: 0e4d0a4ecb3f7509d0a6f3ba1a1bc250031e5500
5
5
  SHA512:
6
- metadata.gz: cb312e6ccc08fafe6bb29eae6b4ed17d08a07cce0ca5069c559045bb3cc2cedd084712389f3580c9391db37bc4822fabb1c41cf82674bf3bb5e0870ebd07ff17
7
- data.tar.gz: c946655d7a74d356e193b224355c2249254b294fb165ebe857c948c34779edd8bf003b3f836243a98d79c1fa0c303e083d13843f75ae4d64602b77eec8eafb13
6
+ metadata.gz: ffb664d2e7632fc989db85de4dd98c36c727ec7c4faac2a6e01b76f1922afc49fe6d94b9172e5a5c807473cb2ebb2e3f24326398cf37e543bda775d4d0a43ed8
7
+ data.tar.gz: 3bd94eda18f255f79126803f36c2c291ba787b3f34bc15cf76f3856fcee7e3ac3a367e0e5471210112a078bea8ca5c84124e8e7a952b574a3dccfeca5cc8a425
@@ -5,14 +5,13 @@ module Dedalus
5
5
 
6
6
  def traverse(structure, origin: [0,0], dimensions:, render: false, &blk)
7
7
  traversal = ViewTraversal.new(&blk)
8
- structure = traversal.walk!(structure, origin: origin, dimensions: dimensions, render: render)
9
- structure
8
+ traversal.walk!(structure, origin: origin, dimensions: dimensions, render: render)
10
9
  end
11
10
 
12
11
  def send_molecule(structure, window_dims, mouse_position:, message:)
13
12
  mouse_coord = coord(*mouse_position)
14
13
 
15
- updated_structure = traverse(structure, origin: [0,0], dimensions: window_dims) do
14
+ traverse(structure, origin: [0,0], dimensions: window_dims, render: false) do
16
15
  on_molecule do |molecule, origin:, dimensions:, z_index:|
17
16
  element_bounding_box = Geometer::Rectangle.new(coord(*origin), dim(*dimensions))
18
17
  mouse_overlap = element_bounding_box.contains?(mouse_coord) rescue false # could get bad coords...
@@ -20,12 +19,8 @@ module Dedalus
20
19
  molecule.position = origin
21
20
  molecule.send(message)
22
21
  end
23
-
24
- molecule
25
22
  end
26
23
  end
27
-
28
- updated_structure
29
24
  end
30
25
 
31
26
  def hover_molecule(structure, window_dims, mouse_position:)
@@ -47,7 +42,8 @@ module Dedalus
47
42
  )
48
43
  end
49
44
 
50
- if freeform # then offset by origin
45
+ # TODO may need to do this to get click/hover events for sprites?
46
+ if freeform # then offset by origin
51
47
  x0,y0 = *origin
52
48
  x,y = *atom.position
53
49
  atom.position = [x+x0,y+y0]
@@ -10,7 +10,6 @@ module Dedalus
10
10
  end
11
11
 
12
12
  def click
13
- p [ :app_view_click ]
14
13
  composer.click_molecule(
15
14
  app_screen,
16
15
  [window.width, window.height],
@@ -20,7 +19,7 @@ module Dedalus
20
19
 
21
20
  def compose(screen)
22
21
  composer.hover_molecule(screen, dimensions, mouse_position: mouse_position)
23
- composer.render!(screen.shown, dimensions)
22
+ composer.render!(screen, dimensions)
24
23
  end
25
24
 
26
25
  def dimensions
@@ -2,7 +2,7 @@ module Dedalus
2
2
  module Elements
3
3
  class ImageGrid < Dedalus::Molecule
4
4
  attr_accessor :grid, :tiles_path, :tile_width, :tile_height, :tile_class
5
- attr_accessor :scale
5
+ attr_accessor :scale, :redraw_tiles
6
6
 
7
7
  def show
8
8
  if grid
@@ -29,7 +29,11 @@ module Dedalus
29
29
  end
30
30
 
31
31
  def record?
32
- grid && !grid.empty?
32
+ (grid && !grid.empty?)
33
+ end
34
+
35
+ def rerecord?
36
+ redraw_tiles
33
37
  end
34
38
 
35
39
  def width
@@ -3,6 +3,7 @@ module Dedalus
3
3
  class SpriteField < Dedalus::Organism
4
4
  attr_accessor :grid, :sprite_map, :scale, :camera_location
5
5
  attr_accessor :tile_width, :tile_height, :tiles_path, :tile_class
6
+ attr_accessor :redraw_tiles
6
7
 
7
8
  def show
8
9
  layers
@@ -48,7 +49,8 @@ module Dedalus
48
49
  tile_class: tile_class,
49
50
  scale: scale,
50
51
  offset: camera_offset,
51
- name: 'sprite-field-tiles'
52
+ name: 'sprite-field-tiles',
53
+ redraw_tiles: redraw_tiles
52
54
  )
53
55
  end
54
56
 
@@ -12,10 +12,14 @@ module Dedalus
12
12
  @tiles[path]
13
13
  end
14
14
 
15
- def self.lookup_recording(id,width,height,window,&blk)
15
+ def self.lookup_recording(id,width,height,window,force:false,&blk)
16
16
  # p [ :lookup_recording, id: id ]
17
17
  @recordings ||= {}
18
- @recordings[id] ||= window.record(width.to_i,height.to_i,&blk)
18
+ if force
19
+ @recordings[id] = window.record(width.to_i,height.to_i,&blk)
20
+ else
21
+ @recordings[id] ||= window.record(width.to_i,height.to_i,&blk)
22
+ end
19
23
  @recordings[id]
20
24
  end
21
25
 
@@ -4,8 +4,8 @@ module Dedalus
4
4
  viewed_with ApplicationView
5
5
  include Models
6
6
 
7
+ # TODO move into joyce??
7
8
  def click
8
- p [ :app_click ]
9
9
  view.click
10
10
  end
11
11
 
@@ -1,4 +1,4 @@
1
1
  module Dedalus
2
2
  # dedalus version
3
- VERSION = "0.2.19"
3
+ VERSION = "0.2.20"
4
4
  end
@@ -73,7 +73,7 @@ module Dedalus
73
73
  end
74
74
  else
75
75
  if structure.record? && render
76
- recorded_image = ImageRepository.lookup_recording(structure.name, structure.width, structure.height, structure.window) do
76
+ recorded_image = ImageRepository.lookup_recording(structure.name, structure.width, structure.height, structure.window, force: structure.rerecord?) do
77
77
  walk!(structure.shown, origin: [0,0], dimensions: pad_dims, freeform: freeform, render: render)
78
78
  end
79
79
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dedalus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.19
4
+ version: 0.2.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joseph Weissman