-
Notifications
You must be signed in to change notification settings - Fork 0
/
actor.h
58 lines (49 loc) · 1.06 KB
/
actor.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
56
57
58
#pragma once
#include "collision.h"
#include "scenenode.h"
#include "cstring.h"
#include "weapon.h"
#include "flag.h"
#include "Pathfinder.h"
class Actor {
public:
MakeList( Actor );
SceneNode * mPivot;
Collision::Body * mBody;
Math::Vector3 mDestVelocity;
static int msCount;
float mHealth;
float mArmor;
float mMaxHealth;
float mMaxArmor;
float mSpeed;
int mFrags;
int mDeaths;
Team mTeam;
bool mDead;
bool mFlying;
Flag * mFlag;
bool mIsPlayer;
char mName[256];
Array<Weapon*> mWeapons;
int mCurrentWeapon;
void Jump( float height = 0.075f );
Actor();
virtual ~Actor();
void Move( const Math::Vector3 & direction, bool fly = false );
virtual void Damage( float howMuch, Actor * attacker );
void Update();
void TryGrabFlag( Flag * f );
void ThrowFlag();
virtual void Resurrect( );
virtual void Think();
virtual void Explode();
virtual void AddWeapon( Weapon * weapon );
virtual void SetTeamColors();
virtual void OnMove();
void Clear();
static void UpdateAll();
static void DeleteAll();
static int Count();
static void SelectTeams();
};