Voxellancer
0.3
A game about voxels in space
Main Page
Related Pages
Classes
Files
File List
All
Classes
Functions
Pages
boardcomputer.h
1
#pragma once
2
3
#include <vector>
4
#include <list>
5
6
#include <glm/glm.hpp>
7
#include <glm/gtx/quaternion.hpp>
8
9
#include "equipment/enginestate.h"
10
11
#include "utils/handle/handle.h"
12
13
class
WorldObject
;
14
19
class
BoardComputer
{
20
public
:
21
BoardComputer
(
WorldObject
* worldObject);
22
23
WorldObject
* worldObject();
24
25
const
EngineState
& engineState()
const
;
26
27
void
moveTo(
const
glm::vec3& position,
bool
decelerate =
true
);
28
void
rotateTo(
const
glm::vec3& position,
const
glm::vec3& up = glm::vec3(0, 0, 0));
29
30
void
shootBullet(
const
std::vector<
Handle<WorldObject>
>& targets);
31
void
shootRockets(
Handle<WorldObject>
& target);
32
33
void
update(
float
deltaSec);
34
35
36
protected
:
37
WorldObject
* m_worldObject;
38
EngineState
m_engineState;
39
bool
m_overwriteEngineState;
40
41
/* Return the euler angles needed to adjust 'up' */
42
glm::vec3 rotateUpTo(
const
glm::vec3& up);
43
glm::vec3 rotateUpAuto(
const
glm::quat& rotation);
44
};
45
46
WorldObject
Definition:
worldobject.h:43
Handle< WorldObject >
BoardComputer
Definition:
boardcomputer.h:19
AbstractMove
Definition:
abstractmove.h:5
src
ai
boardcomputer.h
Generated on Sun Mar 30 2014 13:32:30 for Voxellancer by
1.8.6