Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Nov 7, 2007, 12:39:30 AM (16 years ago)
Author:
rgrieder
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/main_reto_vs05/src/run_manager.cc

    r169 r177  
    5252#include "orxonox_ship.h"
    5353#include "bullet.h"
     54#include "bullet_manager.h"
    5455#include "camera_manager.h"
     56#include "weapon_manager.h"
    5557
    5658#include "run_manager.h"
     
    9799    // background scene (world objects, skybox, lights, etc.)
    98100    backgroundScene_ = new OrxonoxScene(sceneMgr_);
     101
     102
     103    // BULLET LIST FOR THE TEST APPLICATION
     104
     105    // create a bullet manager
     106    bulletManager_ = new BulletManager(sceneMgr_);
     107    WeaponManager::loadWeapons();
     108
     109    // TODO: Use STL to make life easier. But it works this way too..
     110    /*bullets_ = new Bullet*[10];
     111    bulletsIndex_ = 0;
     112    bulletsSize_ = 10;*/
     113
    99114
    100115    // PLAYER SPACESHIP
     
    114129    // Construct a new spaceship and give it the node
    115130    playerShip_ = new OrxonoxShip(sceneMgr_, sceneMgr_->getRootSceneNode()
    116       ->createChildSceneNode("ShipNode", Vector3(20, 20, 20)));
     131      ->createChildSceneNode("ShipNode", Vector3(20, 20, 20)), bulletManager_);
    117132
    118133
     
    140155
    141156   
    142     // BULLET LIST FOR THE TEST APPLICATION
    143 
    144     // TODO: Use STL to make life easier. But it works this way too..
    145     bullets_ = new Bullet*[10];
    146     bulletsIndex_ = 0;
    147     bulletsSize_ = 10;
    148 
    149157
    150158    // HUMAN INTERFACE
     
    205213    if (playerShip_)
    206214      delete playerShip_;
     215    if (bulletManager_)
     216      delete bulletManager_;
     217
     218    WeaponManager::destroyWeapons();
    207219
    208220    // clean up the bullet list
    209     for (int i = 0; i < bulletsIndex_; i++)
     221    /*for (int i = 0; i < bulletsIndex_; i++)
    210222      delete bullets_[i];
    211     delete bullets_;
     223    delete bullets_;*/
    212224  }
    213225
     
    239251
    240252    // update the bullet positions
    241     for (int i = 0; i < bulletsIndex_; i++)
     253    bulletManager_->tick(time, deltaTime);
     254
     255    /*for (int i = 0; i < bulletsIndex_; i++)
    242256    {
    243257      bullets_[i]->node_->translate(bullets_[i]->speed_*deltaTime);
    244258      bullets_[i]->node_->yaw(Degree(deltaTime*100));
    245259      bullets_[i]->node_->roll(Degree(deltaTime*300));
    246     }
     260    }*/
    247261
    248262    // HUMAN INTERFACE
     
    447461      // Prevent continuous fire for the moment.
    448462      leftButtonDown_ = true;
     463
     464      playerShip_->fire();
    449465     
    450466      // let ship fire one shot with its only weapon (Barrels..)
    451       Bullet *tempBullet = playerShip_->fire();
     467      /*Bullet *tempBullet = playerShip_->fire();
    452468
    453469      // resize array if neccessary (double the size then)
     
    464480
    465481      // add the bullet to the list
    466       bullets_[bulletsIndex_++] = tempBullet;
     482      bullets_[bulletsIndex_++] = tempBullet;*/
    467483
    468484    }
Note: See TracChangeset for help on using the changeset viewer.