-
Notifications
You must be signed in to change notification settings - Fork 0
/
StructureBounceComponent.pde
63 lines (50 loc) · 1.04 KB
/
StructureBounceComponent.pde
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/////////////////////////////
// StructureBounceComponent
/////////////////////////////
class StructureBounceComponent extends StructureControllerComponent{
// Properties
public float bounceHeight;
public float bounceSpeed;
//
float yPos;
boolean bouncing;
float original;
AnimationComponent animation;
StructureBounceComponent(){
super();
componentName = "StructureBounceComponent";
yPos = 0;
bouncing = false;
// Properties
bounceHeight = 32;
bounceSpeed = 1;
}
void awake(){
super.awake();
animation = (AnimationComponent)gameObject.getComponent("AnimationComponent");
}
void bounce(){
if(bouncing){
return;
}
bouncing = true;
original = gameObject.position.y;
}
//void hit(GameObject other){ }
void update(float dt){
if(bouncing == true){
yPos += dt * bounceSpeed;
if(animation != null){
animation.setPosition(0, bounceHeight * sin(yPos));
}
}
if(yPos >= PI){
yPos = 0;
bouncing = false;
animation.setPosition(0, 0);
}
}
boolean isBouncing() {
return bouncing;
}
}