Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 4950 in orxonox.OLD


Ignore:
Timestamp:
Jul 24, 2005, 12:36:58 PM (19 years ago)
Author:
bensch
Message:

orxonox/trunk: more loadability functionality in Weapon and FastFactory

Location:
orxonox/trunk/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • orxonox/trunk/src/util/fast_factory.cc

    r4941 r4950  
    1818#include "compiler.h"
    1919#include "debug.h"
     20#include "string.h"
    2021
    2122using namespace std;
     
    8384/**
    8485 * searches for a FastFactory
    85  * @param factoryName the Name of the Factory to search for (not used)
    8686 * @param classID the ClassID of the FastFactory to search for
    8787 * @returns true if found, false otherwise.
    8888 */
    89 FastFactory* FastFactory::searchFastFactory(ClassID classID, const char* fastFactoryName)
     89FastFactory* FastFactory::searchFastFactory(ClassID classID)
    9090{
    9191  if (FastFactory::first == NULL)
     
    9797    {
    9898      if (tmpFac->storedClassID == classID)
     99        return tmpFac;
     100      tmpFac = tmpFac->next;
     101    }
     102  }
     103  return NULL;
     104}
     105
     106/**
     107 * searches for a FastFactory
     108 * @param classID the ClassID of the FastFactory to search for
     109 * @returns true if found, false otherwise.
     110 */
     111FastFactory* FastFactory::searchFastFactory(const char* fastFactoryName)
     112{
     113  if (FastFactory::first == NULL)
     114    return NULL;
     115  else
     116  {
     117    FastFactory* tmpFac = FastFactory::first;
     118    while (tmpFac != NULL)
     119    {
     120      if (strcmp(tmpFac->getName(), fastFactoryName))
    99121        return tmpFac;
    100122      tmpFac = tmpFac->next;
  • orxonox/trunk/src/util/fast_factory.h

    r4947 r4950  
    6666    inline static FastFactory* getFirst() { return FastFactory::first; };
    6767
    68     static FastFactory* searchFastFactory(ClassID classID, const char* fastFactoryName = NULL);
     68    static FastFactory* searchFastFactory(ClassID classID);
     69    static FastFactory* searchFastFactory(const char* fastFactoryName);
     70
     71    ClassID getStoredID() const { return this->storedClassID; };
    6972
    7073  protected:
     
    135138  tFastFactory<T>* tmpFac = NULL;
    136139  if (FastFactory::getFirst() != NULL)
    137     tmpFac = static_cast<tFastFactory<T>*>(FastFactory::getFirst()->searchFastFactory(classID, fastFactoryName));
     140    tmpFac = static_cast<tFastFactory<T>*>(FastFactory::getFirst()->searchFastFactory(classID));
    138141
    139142  if (tmpFac != NULL)
  • orxonox/trunk/src/world_entities/weapons/weapon.cc

    r4949 r4950  
    9696 * sets the Projectile to use for this weapon.
    9797 * @param projectile The ID of the Projectile to use
     98 * @returns true, if it was sucessfull, false on error
    9899 *
    99100 * be aware, that this function does not create Factories, as this is job of Bullet-classes.
     
    117118  }
    118119};
     120
     121/**
     122 * @see bool Weapon::setProjectile(ClassID projectile)
     123 * @param projectile the Name of the Projectile.
     124 * @return true if
     125 */
     126bool Weapon::setProjectile(const char* projectile)
     127{
     128  if (projectile == NULL)
     129    return false;
     130  FastFactory* tmpFac = FastFactory::searchFastFactory(projectile);
     131  if (tmpFac != NULL)
     132  {
     133    this->setProjectile(tmpFac->getStoredID());
     134  }
     135}
    119136
    120137/**
  • orxonox/trunk/src/world_entities/weapons/weapon.h

    r4949 r4950  
    9595    // FUNCTIONS TO SET THE WEAPONS PROPERTIES.
    9696    bool setProjectile(ClassID projectile);
     97    bool setProjectile(const char* projectile);
    9798    /** @returns The projectile's classID */
    9899    inline ClassID getProjectile() { return this->projectile; };
  • orxonox/trunk/src/world_entities/weapons/weapon_manager.h

    r4949 r4950  
    8585{
    8686  int           number;
    87   bool          occupied;
    8887  long          capability;
    8988
Note: See TracChangeset for help on using the changeset viewer.