////////////////////////////////////////////////// //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 void Rotate(float x, float y); ======= /******************************************************** * 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