-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWorld.js
92 lines (82 loc) · 1.83 KB
/
World.js
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
function World()
{
system.log("Constructing World...");
var self = this;
self.xOff = 0;
self.yOff = 0;
self.entity = [];
self.player = new Entity_Player();
self.initialized = false;
// Pong Shit
self.cpu_score = 0;
self.player_score = 0;
this.init = function()
{
system.log("Initializing World...");
self.initialized = true;
g.get('load')('map', 'javabomb');
camera.setPosition(system.cameraX, system.cameraY);
}
this.reset = function()
{
self.xOff = 0;
self.yOff = 0;
self.entity = [];
self.player = new Entity_Player();
}
this.addPlayer = function()
{
map.checkpoint.moveEntityToActiveCheckpoint(self.player);
}
this.translateWorld = function()
{
if(system.designMode){
camera.moveToPlayer(input.screenX, input.screenY);
} else {
camera.moveToPlayer(system.cameraX, system.cameraY);
//camera.moveToPlayer(self.player.x, self.player.y);
}
self.xOff = camera.x;
self.yOff = camera.y;
}
this.draw = function()
{
map.drawBackground();
self.drawEntities();
fx.drawBG();
map.drawForeground();
if(system.lights){ map.renderAndDrawLights(); }
fx.drawFG();
}
this.addEntity = function(newEntity)
{
self.entity.push(newEntity);
}
this.removeEntity = function(e)
{
h.popEntity(self.entity, e);
}
this.drawEntities = function()
{
i = self.entity.length;while(i--){if(!self.entity[i].foreground){self.entity[i].draw();}}
self.player.draw();
i = self.entity.length;while(i--){if(self.entity[i].foreground){self.entity[i].draw();}}
}
this.update = function()
{
if(!system.pauseWorld)
{
self.translateWorld();
self.player.update();
i = self.entity.length;while(i--){ self.entity[i].update(); }
if(!system.designMode){
physics.applyGravity();
} else {
designer.update();
}
physics.calculateCollisions();
fx.update();
map.update();
}
}
}