Changeset 5498 in orxonox.OLD for trunk/src/world_entities/weapons/weapon.cc
- Timestamp:
- Nov 7, 2005, 10:43:22 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/world_entities/weapons/weapon.cc
r5441 r5498 65 65 /** 66 66 * initializes the Weapon with ALL default values 67 * 68 * This Sets the default values of the Weapon 67 69 */ 68 70 void Weapon::init() 69 71 { 70 this->currentState = WS_INACTIVE; 71 this->requestedAction = WA_NONE; 72 this->stateDuration = 0.0; 73 for (int i = 0; i < WS_STATE_COUNT; i++) 72 this->currentState = WS_INACTIVE; //< Normaly the Weapon is Inactive 73 this->requestedAction = WA_NONE; //< No action is requested by default 74 this->stateDuration = 0.0; //< All the States have zero duration 75 for (int i = 0; i < WS_STATE_COUNT; i++) //< Every State has: 74 76 { 75 this->times[i] = 0.0; 76 this->animation[i] = NULL; 77 this->times[i] = 0.0; //< An infinitesimal duration 78 this->animation[i] = NULL; //< No animation 77 79 } 78 80 for (int i = 0; i < WA_ACTION_COUNT; i++) 79 this->soundBuffers[i] = NULL; 80 81 this->soundSource = new SoundSource(this); 82 this->emissionPoint.setParent(this); 83 84 this->projectile = CL_NULL; 85 this->projectileFactory = NULL; 86 87 this->hideInactive = true; 88 89 this->minCharge = 1.0; 90 this->maxCharge = 1.0; 91 92 this->energyLoaded = .0; 93 this->energyLoadedMax = 5.0; 94 this->energy = .0; 95 this->energyMax = 10.0; 96 this->capability = WTYPE_ALL; 97 98 this->setWeaponManager(NULL); 99 } 100 81 this->soundBuffers[i] = NULL; //< No Sounds 82 83 this->soundSource = new SoundSource(this); //< Every Weapon has exacty one SoundSource. 84 this->emissionPoint.setParent(this); //< One EmissionPoint, that is a PNode connected to the weapon. You can set this to the exitting point of the Projectiles 85 86 this->projectile = CL_NULL; //< No Projectile Class is Connected to this weapon 87 this->projectileFactory = NULL; //< No Factory generating Projectiles is selected. 88 89 this->hideInactive = true; //< The Weapon will be hidden if it is inactive (by default) 90 91 this->minCharge = 1.0; //< The minimum charge the Weapon can hold is 1 unit. 92 this->maxCharge = 1.0; //< The maximum charge is also one unit. 93 94 this->energyLoaded = .0; //< How much energy is loaded in the Gun. (Weapons must be charged befor usage) 95 this->energyLoadedMax = 5.0; //< Each Weapon has a Maximum energy that can be charged onto it 96 this->energy = .0; //< The secondary Buffer (before we have to reload) 97 this->energyMax = 10.0; //< How much energy can be carried 98 this->capability = WTYPE_ALL; //< The Weapon has all capabilities @see W_Capability. 99 100 this->setWeaponManager(NULL); //< By default the Weapon is free, and unhandled by a WeaponManager (this is good for small enemies). 101 } 102 103 /** 104 * loads the Parameters of a Weapon 105 * @param root the XML-Element to load the Weapons settings from 106 */ 101 107 void Weapon::loadParams(const TiXmlElement* root) 102 108 { … … 121 127 * @returns true, if it was sucessfull, false on error 122 128 * 123 * be aware, that this function does not create Factories, as this is job of Bullet-classes. 129 * be aware, that this function does not create Factories, as this is job of Projecitle/Bullet-classes. 130 * What it does, is telling the Weapon what Projectiles it can Emit. 124 131 */ 125 132 void Weapon::setProjectileType(ClassID projectile) … … 166 173 /** 167 174 * prepares Projectiles of the Weapon 168 * @param count how many Projectiles to create 175 * @param count how many Projectiles to create (they will be stored in the ProjectileFactory) 169 176 */ 170 177 void Weapon::prepareProjectiles(unsigned int count) … … 178 185 /** 179 186 * resurects and returns a Projectile 180 * @returns a Projectile on success, NULL on error (ProjectileFastFactory not Found) 187 * @returns a Projectile on success, NULL on error 188 * 189 * errors: 1. (ProjectileFastFactory not Found) 190 * 2. No more Projectiles availiable. 181 191 */ 182 192 Projectile* Weapon::getProjectile() … … 186 196 else 187 197 { 188 PRINTF(2)("No projectile defined for Weapon %s(%s) can t return any\n", this->getName(), this->getClassName());198 PRINTF(2)("No projectile defined for Weapon %s(%s) can't return any\n", this->getName(), this->getClassName()); 189 199 return NULL; 190 200 } … … 307 317 } 308 318 309 ////////////////////// 310 // WEAPON INTERNALS // 311 ////////////////////// 319 //////////////////////////////////////////////////////////// 320 // WEAPON INTERNALS // 321 // These are functions, that no other Weapon should over- // 322 // write. No class has direct Access to them, as it is // 323 // quite a complicated process, handling a Weapon from // 324 // the outside // 325 //////////////////////////////////////////////////////////// 312 326 /** 313 327 * executes an action, and with it starts a new State. … … 531 545 /** 532 546 * checks wether all the Weapons functions are valid, and if it is possible to go to action with it. 533 * 547 * @todo IMPLEMENT the Weapons Check 534 548 */ 535 549 bool Weapon::check() const … … 561 575 } 562 576 563 564 // static 577 //////////////////////////////////////////////////////// 578 // static Definitions (transormators for readability) // 579 //////////////////////////////////////////////////////// 565 580 /** 566 581 * Converts a String into an Action.
Note: See TracChangeset
for help on using the changeset viewer.