0247f04d6b95079e6d9b8dac464adb698d72e276
[physics.git] / src / entityCreator.cpp
1 #include "entityCreator.h"
2
3 #include <queue>
4
5 #include "entityManager.h"
6 #include "Entities/Ball.h"
7 #include "graphics/colors.h"
8
9 /// ***** Private Variables *****
10
11 typedef std::queue<Ball*> queBall;
12 queBall Balls;
13
14 /// ***** Initializers/Cleaners *****
15
16 void creator::init()
17 {
18     Ball* ball;
19
20     ball = new Ball(Vector2(50, 50), 20, cWhite);
21
22     ball->applyImpulse(Vector2(0.25,0.05)),
23     Balls.push(ball);
24     manager::add(ball);
25
26     ball = new Ball(Vector2(100, 50), 20, cBlack);
27
28     ball->applyImpulse(Vector2(-0.15,-0.05)),
29     Balls.push(ball);
30     manager::add(ball);
31
32     ball = new Ball(Vector2(150, 50), 20, cGrey);
33
34     ball->applyImpulse(Vector2(0.25,0.15)),
35     Balls.push(ball);
36     manager::add(ball);
37
38     ball = new Ball(Vector2(50, 100), 20, cRed);
39
40     ball->applyImpulse(Vector2(0.35,-0.15)),
41     Balls.push(ball);
42     manager::add(ball);
43
44     ball = new Ball(Vector2(100, 100), 20, cGreen);
45
46     ball->applyImpulse(Vector2(-0.15,0.55)),
47     Balls.push(ball);
48     manager::add(ball);
49
50     ball = new Ball(Vector2(150, 100), 20, cBlue);
51
52     ball->applyImpulse(Vector2(0.25,0.15)),
53     Balls.push(ball);
54     manager::add(ball);
55
56     ball = new Ball(Vector2(50, 150), 20, cYellow);
57
58     ball->applyImpulse(Vector2(0.25,-0.05)),
59     Balls.push(ball);
60     manager::add(ball);
61
62     ball = new Ball(Vector2(100, 150), 20, cMagenta);
63
64     ball->applyImpulse(Vector2(-0.15,-0.05)),
65     Balls.push(ball);
66     manager::add(ball);
67
68     ball = new Ball(Vector2(150, 150), 20, cCyan);
69
70     ball->applyImpulse(Vector2(-0.15,0.05)),
71     Balls.push(ball);
72     manager::add(ball);
73 }
74 void creator::clean()
75 {
76     removeAllBalls();
77 }
78
79 /// ***** Public Methods *****
80
81 void creator::addBall()
82 {
83     //TODO
84 }
85 void creator::removeBall()
86 {
87     //TODO
88 }
89 void creator::removeAllBalls()
90 {
91     while(! Balls.empty() )
92     {
93         Ball* ball = Balls.front();
94         Balls.pop();
95         manager::remove(ball);
96
97         delete ball;
98     }
99 }