89 lines
2.6 KiB
C++
89 lines
2.6 KiB
C++
//////////////////////////////////////////////////
|
|
//Created by Erik and Linda of the GameLogic team
|
|
//////////////////////////////////////////////////
|
|
#ifndef PLAYER_H
|
|
#define PLAYER_H
|
|
|
|
#include "GameLogicStates.h"
|
|
#include "OysterMath.h"
|
|
#include "DynamicObject.h"
|
|
|
|
|
|
namespace GameLogic
|
|
{
|
|
class Weapon;
|
|
class Player : public DynamicObject
|
|
{
|
|
public:
|
|
Player(void);
|
|
~Player(void);
|
|
|
|
/********************************************************
|
|
* Moves the player based on input
|
|
* @param movement: enum value on what kind of action is to be taken
|
|
********************************************************/
|
|
void Move(const PLAYER_MOVEMENT &movement);
|
|
|
|
void MoveForward();
|
|
void MoveBackwards();
|
|
void MoveRight();
|
|
void MoveLeft();
|
|
|
|
/********************************************************
|
|
* Uses the weapon based on input
|
|
* @param fireInput: enum value on what kind of action is to be taken
|
|
********************************************************/
|
|
void UseWeapon(const WEAPON_FIRE &usage);
|
|
|
|
/********************************************************
|
|
* Respawns the player, this resets several stats and settings on the player
|
|
* @param spawnPoint: the coordinate in the world where the player is to spawn
|
|
********************************************************/
|
|
void Respawn(Oyster::Math::Float3 spawnPoint);
|
|
|
|
<<<<<<< HEAD
|
|
<<<<<<< HEAD
|
|
void Rotate(float x, float y);
|
|
=======
|
|
=======
|
|
void rotate(float x, float y);
|
|
|
|
>>>>>>> blah
|
|
/********************************************************
|
|
* Collision function for player, this is to be sent to physics through the subscribe function with the rigidbody
|
|
* Will be called when the physics detect a collision
|
|
* @param rigidBodyPlayer: physics object of the player
|
|
* @param obj: physics object for the object that collided with the player
|
|
********************************************************/
|
|
static Oyster::Physics::ICustomBody::SubscriptMessage PlayerCollision(const Oyster::Physics::ICustomBody *rigidBodyPlayer, const Oyster::Physics::ICustomBody *obj);
|
|
|
|
>>>>>>> Major updates to Collision handling with the class CollitionManager. changes started on the massdriver
|
|
|
|
bool IsWalking();
|
|
bool IsJumping();
|
|
bool IsIdle();
|
|
|
|
Oyster::Math::Float3 GetPosition() const;
|
|
Oyster::Math::Float3 GetLookDir() const;
|
|
Oyster::Math::Float4x4 GetOrientation() const;
|
|
int GetTeamID() const;
|
|
PLAYER_STATE GetState() const;
|
|
|
|
void DamageLife(int damage);
|
|
|
|
private:
|
|
void Jump();
|
|
|
|
private:
|
|
int life;
|
|
int teamID;
|
|
Weapon *weapon;
|
|
PLAYER_STATE playerState;
|
|
Oyster::Math::Float4 lookDir;
|
|
|
|
bool hasTakenDamage;
|
|
float invincibleCooldown;
|
|
|
|
};
|
|
}
|
|
#endif |