diff --git a/Code/Game/GameLogic/AttatchmentGun.cpp b/Code/Game/GameLogic/AttatchmentGun.cpp new file mode 100644 index 00000000..6146a838 --- /dev/null +++ b/Code/Game/GameLogic/AttatchmentGun.cpp @@ -0,0 +1,71 @@ +#include "AttatchmentGun.h" +#include "PhysicsAPI.h" +#include "GameLogicStates.h" +#include "Game.h" +using namespace GameLogic; + + + +AttatchmentGun::AttatchmentGun(void) +{ + this->owner = 0; + this->damage = 0.0f; +} + +AttatchmentGun::AttatchmentGun(Player &owner) +{ + this->owner = &owner; + this->damage = standardDamage; +} + + +AttatchmentGun::~AttatchmentGun(void) +{ + +} + +/******************************************************** +* Uses the attatchment and will from here switch case the different WEAPON_FIRE's that are to be used +********************************************************/ +void AttatchmentGun::UseAttatchment(const GameLogic::WEAPON_FIRE &usage, float dt) +{ + //switch case to determin what functionallity to use in the attatchment + switch (usage) + { + case WEAPON_FIRE::WEAPON_USE_PRIMARY_PRESS: + //skjut här + break; + + case WEAPON_FIRE::WEAPON_USE_SECONDARY_PRESS: + break; + + case WEAPON_USE_SECONDARY_RELEASE: + break; + + case WEAPON_FIRE::WEAPON_USE_UTILLITY_PRESS: + break; + } + +} + +void AttatchmentGun::Update(float dt) +{ + +} + +void AttatchmentGun::ShootBullet(const WEAPON_FIRE &usage, float dt) +{ + Oyster::Collision3D::Ray *hitRay; + Oyster::Math::Float3 pos = owner->GetRigidBody()->GetState().centerPos; + Oyster::Math::Float3 look = owner->GetLookDir().GetNormalized(); + Oyster::Math::Float hitDamage = this->damage; + + firedBullet bullet; + bullet.hitDamage = hitDamage; + + hitRay = new Oyster::Collision3D::Ray(pos,look); + + + + +} diff --git a/Code/Game/GameLogic/AttatchmentGun.h b/Code/Game/GameLogic/AttatchmentGun.h new file mode 100644 index 00000000..9cec7cb7 --- /dev/null +++ b/Code/Game/GameLogic/AttatchmentGun.h @@ -0,0 +1,33 @@ +////////////////////////////////////////////////// +//Created by Erik of the GameLogic team +////////////////////////////////////////////////// +#ifndef ATTATCHMENTGUN_H +#define ATTATCHMENTGUN_H +#include "IAttatchment.h" + + + +namespace GameLogic +{ + const Oyster::Math::Float standardDamage = 10; + + class AttatchmentGun : public IAttatchment + { + public: + AttatchmentGun(void); + AttatchmentGun(Player &owner); + ~AttatchmentGun(void); + + + void UseAttatchment(const WEAPON_FIRE &usage, float dt); + void Update(float dt); + + private: + Oyster::Math::Float damage; + private: + void ShootBullet(const WEAPON_FIRE &usage, float dt); + + }; +} +#endif +