Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jul 28, 2005, 2:43:15 PM (19 years ago)
Author:
bensch
Message:

orxonox/trunk: added class turret, a subclass for turrets, this is not finished yet, but will be in some time from now…

File:
1 copied

Legend:

Unmodified
Added
Removed
  • orxonox/trunk/src/world_entities/weapons/turret.cc

    r4962 r4963  
    1 
    2 
    31/*
    42   orxonox - the future of 3D-vertical-scrollers
     
    1210
    1311   ### File Specific
    14    main-programmer: Patrick Boenzli
     12   main-programmer: Benjamin Grauer
    1513   co-programmer:
    16 
    17 
    18    @todo: direction in which the projectile flights
    19    @todo: a target to set/hit
    2014*/
    2115
    2216
    23 #include "test_gun.h"
     17#include "turret.h"
    2418
    25 #include "world_entity.h"
    26 #include "model.h"
     19#include "weapon_manager.h"
    2720#include "test_bullet.h"
    28 #include "weapon_manager.h"
    2921
    3022#include "state.h"
     
    4537   creates a new weapon
    4638*/
    47 TestGun::TestGun (WeaponManager* weaponManager, int leftRight)
     39Turret::Turret (WeaponManager* weaponManager)
    4840  : Weapon(weaponManager)
    4941{
    50   this->setClassID(CL_TEST_GUN, "TestGun");
     42  this->setClassID(CL_TURRET, "Turret");
    5143
    52   this->model = (Model*)ResourceManager::getInstance()->load("models/test_gun.obj", OBJ, RP_CAMPAIGN);
     44  this->model = (Model*)ResourceManager::getInstance()->load("models/turret1.obj", OBJ, RP_CAMPAIGN);
    5345  this->leftRight = leftRight;
    5446
    55   this->objectComponent1 = new PNode();
     47/*  this->objectComponent1 = new PNode();
    5648  Animation3D* animation1 = this->getAnimation(WS_SHOOTING, this->objectComponent1);
    5749  Animation3D* animation2 = this->getAnimation(WS_ACTIVATING, this);
     
    9183      animation3->addKeyFrame(Vector(.0, .0, 0.0), Quaternion(), 0.3, ANIM_LINEAR, ANIM_CONSTANT);
    9284      animation3->addKeyFrame(Vector(.0, .0, 1.0), Quaternion(), 0.3, ANIM_LINEAR, ANIM_CONSTANT);
    93     }
    94 /*
    95   this->fireSound = (SoundBuffer*)ResourceManager::getInstance()->load("sound/shot1.wav", WAV);
    96   this->weaponSource = new SoundSource(this->fireSound, this);
    97   this->weaponSource->setRolloffFactor(.1);*/
    98   Projectile* p = new TestBullet();
     85    }*/
    9986
    10087  //  ObjectManager::getInstance()->cache(CL_TEST_BULLET, 100, p);
     
    120107 *  standard deconstructor
    121108*/
    122 TestGun::~TestGun ()
     109Turret::~Turret ()
    123110{
    124111  // model will be deleted from WorldEntity-destructor
     
    133120   been armed out.
    134121*/
    135 void TestGun::activate()
     122void Turret::activate()
    136123{
    137124}
     
    145132   been armed out.
    146133*/
    147 void TestGun::deactivate()
     134void Turret::deactivate()
    148135{
    149136}
     
    156143   @todo: the ObjectManager deliveres Projectiles not TestBullets! this should be diffrent
    157144*/
    158 void TestGun::fire()
     145void Turret::fire()
    159146{
    160147  Projectile* pj =  dynamic_cast<Projectile*>(this->getProjectileFactory()->resurrect());
     
    177164
    178165/**
    179  *  is called, when the weapon gets hit (=collide with something)
    180  * @param from which entity it is been hit
    181  * @param where it is been hit
    182 
    183    this may not be used, since it would make the game relay complicated when one
    184    can destroy the weapons of enemies or vice versa.
    185 */
    186 void TestGun::hit (WorldEntity* entity, Vector* position)
    187 {}
    188 
    189 
    190 /**
    191166 *  is called, when the weapon is destroyed
    192167
     
    194169   hit, it can also be destoryed.
    195170*/
    196 void TestGun::destroy ()
     171void Turret::destroy ()
    197172{}
    198173
     
    200175 *  this will draw the weapon
    201176*/
    202 void TestGun::draw ()
     177void Turret::draw ()
    203178{
    204179  this->getWeaponManager()->getFixedTarget()->debugDraw(10);
     
    213188  this->getAbsDir ().matrix (matrix);
    214189  glMultMatrixf((float*)matrix);
    215   if( this->leftRight == W_RIGHT)
    216     glScalef(1.0, 1.0, -1.0);
    217   this->model->draw(1);
    218   glPopMatrix();
    219190
    220   /* draw objectComponent1: gun coil - animated stuff */
    221   glMatrixMode(GL_MODELVIEW);
    222   glPushMatrix();
    223   glTranslatef (this->objectComponent1->getAbsCoor ().x,
    224                 this->objectComponent1->getAbsCoor ().y,
    225                 this->objectComponent1->getAbsCoor ().z);
    226   this->objectComponent1->getAbsDir ().matrix (matrix);
    227   glMultMatrixf((float*)matrix);
    228   this->model->draw(0);
     191  this->model->draw();
    229192  glPopMatrix();
    230193}
Note: See TracChangeset for help on using the changeset viewer.