-
Notifications
You must be signed in to change notification settings - Fork 0
/
GameController.h
45 lines (36 loc) · 1.06 KB
/
GameController.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
//
// Created by Austin Forry on 9/14/15.
//
#ifndef GAME_CLIENT_GAMECONTROLLER_H
#define GAME_CLIENT_GAMECONTROLLER_H
//#include "Vehicle.h"
//#include "Base.h"
#include <iostream>
#include <vector>
#include "NetworkClient.h"
class NetworkClient;
class GameController {
private:
GameState* state;
NetworkClient* client;
pthread_mutex_t* game_state_mutex;
public:
GameController(GameState* state, NetworkClient* client, pthread_mutex_t* game_state_mutex);
void update(GameState* new_state);
std::vector<Vehicle*>* getVehicles();
std::vector<Base*>* getBases();
std::vector<Bullet*>* getBullets();
std::vector<Shield*>* getShields();
std::vector<Generator*>* getGenerators();
std::vector<Powerup*>* getPowerups();
std::vector<Rocket*>* getRockets();
std::vector<GravityWell*>* getGravityWells();
int getGameOver();
int getSecToRestart();
// Respond to input
void moveVehicle(double direction);
void turnVehicle(double direction);
void fireWeapon();
void activatePowerup();
};
#endif //GAME_CLIENT_GAMECONTROLLER_H