File tree Expand file tree Collapse file tree 6 files changed +84
-16
lines changed
src/com/androidmontreal/rhok Expand file tree Collapse file tree 6 files changed +84
-16
lines changed Original file line number Diff line number Diff line change @@ -21,10 +21,12 @@ public class Pump implements Piece {
21
21
double outputPressure ;
22
22
23
23
private double waterContent ;
24
+ private Direction direction ;
24
25
25
26
26
27
public Pump ( Direction outputDirection , double pressure , Sprite sprite ) {
27
28
29
+ this .direction = outputDirection ;
28
30
this .sprite = sprite ;
29
31
30
32
switch ( outputDirection ) {
@@ -117,4 +119,8 @@ public double pullWater(double volume) {
117
119
return retVal ;
118
120
}
119
121
122
+ public Direction getDirection () {
123
+ return direction ;
124
+ }
125
+
120
126
}
Load Diff This file was deleted.
Original file line number Diff line number Diff line change
1
+ package com .androidmontreal .rhok .renderers ;
2
+
3
+
4
+ public interface IRenderer {
5
+
6
+ public void render ();
7
+
8
+ }
Original file line number Diff line number Diff line change 1
- package com .androidmontreal .rhok .pieces . renderer ;
1
+ package com .androidmontreal .rhok .renderers ;
2
2
3
3
import com .androidmontreal .rhok .pieces .Piece ;
4
4
import com .androidmontreal .rhok .pieces .Pipe ;
5
+ import com .androidmontreal .rhok .pieces .Pump ;
5
6
6
7
public class PieceRenderer {
7
8
8
- private PipeRenderer renderer ;
9
+ private IRenderer r ;
9
10
10
11
public PieceRenderer (Piece p ) {
11
12
12
13
if (p instanceof Pipe ){
13
- renderer = new PipeRenderer ((Pipe )p );
14
+ r = new PipeRenderer ((Pipe )p );
15
+ }else if (p instanceof Pump ){
16
+ r = new PumpRenderer ((Pump )p );
14
17
}
15
18
16
19
//TODO: Add more type render
17
20
18
21
}
19
22
20
23
public void render () {
21
- renderer .render ();
24
+ r .render ();
22
25
}
23
26
24
27
}
Original file line number Diff line number Diff line change 1
- package com .androidmontreal .rhok .pieces . renderer ;
1
+ package com .androidmontreal .rhok .renderers ;
2
2
3
3
import java .util .ArrayList ;
4
4
Original file line number Diff line number Diff line change
1
+ package com .androidmontreal .rhok .renderers ;
2
+
3
+ import java .util .ArrayList ;
4
+
5
+ import com .androidmontreal .rhok .pieces .Pump ;
6
+ import com .androidmontreal .rhok .pieces .factory .SpriteFactory ;
7
+ import com .badlogic .gdx .graphics .g2d .Sprite ;
8
+ import com .badlogic .gdx .graphics .g2d .SpriteBatch ;
9
+
10
+ public class PumpRenderer implements IRenderer {
11
+
12
+ private Pump p ;
13
+ private ArrayList <Sprite > sprites ;
14
+ private SpriteFactory sf ;
15
+
16
+ /**
17
+ *
18
+ * @param p
19
+ */
20
+ public PumpRenderer (Pump p ) {
21
+
22
+ this .p = p ;
23
+ sprites = new ArrayList <Sprite >();
24
+ sf = SpriteFactory .getInstance ();
25
+
26
+ createBaseLayer ();
27
+ createComplexLayer ();
28
+
29
+ }
30
+
31
+
32
+ /**
33
+ * Create the first layer
34
+ */
35
+ private void createBaseLayer () {
36
+
37
+ switch (p .getDirection ()) {
38
+ case UP : sprites .add (sf .createSprite (SpriteFactory .PUMP_TOP )); break ;
39
+ case DOWN : sprites .add (sf .createSprite (SpriteFactory .PUMP_DOWN )); break ;
40
+ case RIGHT : sprites .add (sf .createSprite (SpriteFactory .PUMP_LEFT )); break ;
41
+ case LEFT : sprites .add (sf .createSprite (SpriteFactory .PUMP_RIGHT )); break ;
42
+ }
43
+ }
44
+
45
+ private void createComplexLayer () {
46
+ // TODO Water related rendering go here
47
+ }
48
+
49
+
50
+ @ Override
51
+ public void render () {
52
+
53
+ SpriteBatch batch = new SpriteBatch ();
54
+
55
+ for (Sprite s : sprites ) {
56
+ s .setPosition (p .getPosition ().getX (),p .getPosition ().getY ());
57
+ s .draw (batch );
58
+ }
59
+
60
+ }
61
+
62
+ }
You can’t perform that action at this time.
0 commit comments