Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 7350 in orxonox.OLD for trunk/src/world_entities/weapons/weapon.cc


Ignore:
Timestamp:
Apr 19, 2006, 3:42:23 PM (18 years ago)
Author:
bensch
Message:

orxonox/trunk: our first cheat :)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/world_entities/weapons/weapon.cc

    r7221 r7350  
    2626#include "util/loading/resource_manager.h"
    2727#include "class_list.h"
     28#include "util/loading/factory.h"
    2829#include "util/loading/load_param.h"
    2930#include "state.h"
     
    3435
    3536#include "glgui_bar.h"
     37
     38using namespace std;
    3639
    3740////////////////////
     
    6669
    6770/**
     71 * @brief creates a new Weapon of type weaponID and returns it.
     72 * @param weaponID the WeaponID type to create.
     73 * @returns the newly created Weapon.
     74 */
     75Weapon* Weapon::createWeapon(ClassID weaponID)
     76{
     77  BaseObject* createdObject = Factory::fabricate(weaponID);
     78  if (createdObject != NULL)
     79  {
     80    if (createdObject->isA(CL_WEAPON))
     81      return dynamic_cast<Weapon*>(createdObject);
     82    else
     83    {
     84      delete createdObject;
     85      return NULL;
     86    }
     87  }
     88}
     89
     90/**
    6891 * initializes the Weapon with ALL default values
    6992 *
     
    7295void Weapon::init()
    7396{
     97  this->setClassID(CL_WEAPON, "Weapon");
    7498  this->currentState     = WS_INACTIVE;            //< Normaly the Weapon is Inactive
    7599  this->requestedAction  = WA_NONE;                //< No action is requested by default
     
    382406  switch (action)
    383407  {
    384   case WA_SHOOT:
    385     return this->fireW();
    386     break;
    387   case WA_CHARGE:
    388     return this->chargeW();
    389     break;
    390   case WA_RELOAD:
    391     return this->reloadW();
    392     break;
    393   case WA_DEACTIVATE:
    394     return this->deactivateW();
    395     break;
    396   case WA_ACTIVATE:
    397     return this->activateW();
    398     break;
     408    case WA_SHOOT:
     409      return this->fireW();
     410      break;
     411    case WA_CHARGE:
     412      return this->chargeW();
     413      break;
     414    case WA_RELOAD:
     415      return this->reloadW();
     416      break;
     417    case WA_DEACTIVATE:
     418      return this->deactivateW();
     419      break;
     420    case WA_ACTIVATE:
     421      return this->activateW();
     422      break;
    399423  }
    400424}
     
    495519  PRINTF(4)("Reloading Weapon %s\n", this->getName());
    496520  if (this->ammoContainer.get() != NULL &&
    497         unlikely(this->energy + this->ammoContainer->getStoredEnergy() < this->minCharge))
     521      unlikely(this->energy + this->ammoContainer->getStoredEnergy() < this->minCharge))
    498522  {
    499523    this->requestAction(WA_DEACTIVATE);
     
    643667  switch (action)
    644668  {
    645   case WA_SHOOT:
    646     return "shoot";
    647     break;
    648   case WA_CHARGE:
    649     return "charge";
    650     break;
    651   case WA_RELOAD:
    652     return "reload";
    653     break;
    654   case WA_ACTIVATE:
    655     return "activate";
    656     break;
    657   case WA_DEACTIVATE:
    658     return "deactivate";
    659     break;
    660   case WA_SPECIAL1:
    661     return "special1";
    662     break;
    663   default:
    664     return "none";
    665     break;
     669    case WA_SHOOT:
     670      return "shoot";
     671      break;
     672    case WA_CHARGE:
     673      return "charge";
     674      break;
     675    case WA_RELOAD:
     676      return "reload";
     677      break;
     678    case WA_ACTIVATE:
     679      return "activate";
     680      break;
     681    case WA_DEACTIVATE:
     682      return "deactivate";
     683      break;
     684    case WA_SPECIAL1:
     685      return "special1";
     686      break;
     687    default:
     688      return "none";
     689      break;
    666690  }
    667691}
     
    706730  switch (state)
    707731  {
    708   case WS_SHOOTING:
    709     return "shooting";
    710     break;
    711   case WS_CHARGING:
    712     return "charging";
    713     break;
    714   case WS_RELOADING:
    715     return "reloading";
    716     break;
    717   case WS_ACTIVATING:
    718     return "activating";
    719     break;
    720   case WS_DEACTIVATING:
    721     return "deactivating";
    722     break;
    723   case WS_IDLE:
    724     return "idle";
    725     break;
    726   case WS_INACTIVE:
    727     return "inactive";
    728     break;
    729   default:
    730     return "none";
    731     break;
    732   }
    733 }
     732    case WS_SHOOTING:
     733      return "shooting";
     734      break;
     735    case WS_CHARGING:
     736      return "charging";
     737      break;
     738    case WS_RELOADING:
     739      return "reloading";
     740      break;
     741    case WS_ACTIVATING:
     742      return "activating";
     743      break;
     744    case WS_DEACTIVATING:
     745      return "deactivating";
     746      break;
     747    case WS_IDLE:
     748      return "idle";
     749      break;
     750    case WS_INACTIVE:
     751      return "inactive";
     752      break;
     753    default:
     754      return "none";
     755      break;
     756  }
     757}
Note: See TracChangeset for help on using the changeset viewer.