-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWorld.h
55 lines (46 loc) · 1.23 KB
/
World.h
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
#pragma once
#include <stdbool.h>
#include <vector>
#include "GameActor.h"
#include "CollisionManager.h"
#include "InputHandler.h"
#include "Clock.h"
#include "Camera.h"
#include "MapGenerator.h"
#include "Player.h"
#include "AStar.hpp"
#include "Item.h"
#include "TileItem.h"
#define NUM_PLAYERS 1
class GameActor;
class CollisionManager;
class EnemyWeapon;
class World {
static const float RESPAWN_DELAY, ENEMY_SPAWN_DELAY, ENEMY_PATHFIND_DELAY;
int seed;
int screen_w, screen_h;
Clock clock;
CollisionManager* collision_manager;
Camera* camera;
MapGenerator* map_generator;
AStar::Generator path_generator;
std::vector<GameActor*> actors;
std::vector<GameActor*> players;
std::vector<GameActor*> enemy_weapons;
float player_respawn_timers[NUM_PLAYERS];
float enemy_spawn_timer;
void check_spawn_players();
void spawn_enemies();
void spawn_tile_item(Tile* t);
void find_path();
public:
World(int screen_w, int screen_h);
void update(InputHandler* inputs);
float get_delta();
std::vector<GameActor*>* get_actors();
std::vector<GameActor*>* get_players();
Camera* get_camera();
bool generate_map(); //starting x and y position is 0, 0, map width and height determined by MapGenerator
MapGenerator* get_map();
~World();
};