Accessory Class Reference

#include <Accessory.h>

List of all members.

Public Types

enum  PositionSelectType {
  ePositionSelectNone = 0, ePositionSelectFuel = 1, ePositionSelectGeneric = 2,
  ePositionSelectLimit = 3, ePositionSelectFuelLimit = 4
}

Public Member Functions

 Accessory ()
virtual ~Accessory ()
bool parseXML (AccessoryCreateContext &context, XMLNode *accessoryNode)
const char * getActivationSound ()
const char * getName ()
LangStringgetStringName ()
const char * getDescription ()
const int getPrice ()
const int getSellPrice ()
const int getOriginalSellPrice ()
const int getOriginalPrice ()
const int getFreeMarketLimits ()
const int getBundle ()
const int getArmsLevel ()
const int getMaximumNumber ()
const int getStartingNumber ()
const int getUseNumber ()
const bool getAIOnly ()
const bool getBotOnly ()
const bool getNoBuy ()
PositionSelectType getPositionSelect ()
int getPositionSelectLimit ()
ToolTipgetToolTip ()
const char * getIconName ()
const char * getGroupName ()
const char * getTabGroupName ()
AccessoryPartgetAction ()
fixed getModelScale ()
ModelIDgetModel ()
bool getMuzzleFlash ()
AccessoryPart::AccessoryType getType ()
void setPrice (int p)
void setSellPrice (int p)
unsigned int getAccessoryId ()
GLTexturegetTexture ()

Static Public Member Functions

static void resetAccessoryIds ()
static MissileMeshgetWeaponMesh (ModelID &id, Tank *currentPlayer)

Public Attributes

GLTexturetexture_

Static Public Attributes

static std::map
< std::string,
MissileMesh * > 
loadedMeshes_

Protected Attributes

unsigned int accessoryId_
bool aiOnly_
bool botOnly_
bool noBuy_
AccessoryPartaccessoryAction_
PositionSelectType positionSelect_
ToolTip toolTip_
ModelID modelId_
LangString stringName_
std::string iconName_
std::string groupName_
std::string tabGroupName_
std::string name_
std::string description_
std::string activationSound_
int positionSelectLimit_
int price_
int originalPrice_
int bundle_
int armsLevel_
int sellPrice_
int originalSellPrice_
int freemarketLimits_
int maximumNumber_
int useNumber_
int startingNumber_
fixed modelScale_
bool muzzleFlash_

Static Protected Attributes

static unsigned int nextAccessoryId_ = 0


Detailed Description

Definition at line 36 of file Accessory.h.


Member Enumeration Documentation

enum Accessory::PositionSelectType

Enumerator:
ePositionSelectNone 
ePositionSelectFuel 
ePositionSelectGeneric 
ePositionSelectLimit 
ePositionSelectFuelLimit 

Definition at line 42 of file Accessory.h.


Constructor & Destructor Documentation

Accessory::Accessory (  ) 

Definition at line 40 of file Accessory.cpp.

References texture_.

Accessory::~Accessory (  )  [virtual]

Definition at line 60 of file Accessory.cpp.


Member Function Documentation

bool Accessory::parseXML ( AccessoryCreateContext context,
XMLNode accessoryNode 
)

Definition at line 64 of file Accessory.cpp.

References accessoryAction_, AccessoryPart::AccessoryAutoDefense, AccessoryPart::AccessoryBattery, AccessoryPart::AccessoryParachute, AccessoryPart::AccessoryShield, AccessoryPart::AccessoryWeapon, activationSound_, aiOnly_, armsLevel_, botOnly_, bundle_, S3D::checkDataFile(), AccessoryStore::createAccessoryPart(), description_, S3D::dialogMessage(), ePositionSelectFuel, ePositionSelectFuelLimit, ePositionSelectGeneric, ePositionSelectLimit, ePositionSelectNone, AccessoryStore::findAccessoryPartByAccessoryId(), S3D::formatStringBuffer(), freemarketLimits_, getAccessoryId(), AccessoryCreateContext::getAccessoryStore(), getActivationSound(), getDescription(), getIconName(), getName(), XMLNode::getNamedChild(), AccessoryCreateContext::getOptionsGame(), AccessoryPart::getType(), groupName_, iconName_, ModelID::initFromNode(), int(), LANG_STRING, maximumNumber_, modelId_, modelScale_, muzzleFlash_, name_, noBuy_, originalPrice_, originalSellPrice_, positionSelect_, positionSelectLimit_, price_, XMLNode::returnError(), sellPrice_, ToolTip::setText(), startingNumber_, LangStringUtil::strcmp(), tabGroupName_, toolTip_, ToolTip::ToolTipHelp, and useNumber_.

Referenced by AccessoryStore::parseFile().

const char * Accessory::getActivationSound (  ) 

Definition at line 241 of file Accessory.cpp.

References activationSound_.

Referenced by parseXML(), ClientDefenseHandler::processMessage(), and TankFired::simulate().

const char* Accessory::getName (  )  [inline]

Definition at line 54 of file Accessory.h.

References name_.

Referenced by BuyAccessoryDialog::addAccessory(), BuyAccessoryDialog::addPlayerFavorites(), InventoryDialog::addPlayerWeapons(), TankDamage::calculateDeath(), StatsLoggerDatabase::createLogger(), AccessoryStore::findByPrimaryAccessoryName(), WeaponInvokeWeapon::fireWeapon(), TankAccessories::getAccessoryAndCountString(), Teleport::getActionDetails(), TankMovement::getActionDetails(), TankFired::getActionDetails(), TankFalling::getActionDetails(), TankDamage::getActionDetails(), SoundAction::getActionDetails(), ShotProjectile::getActionDetails(), ShotBounce::getActionDetails(), Napalm::getActionDetails(), Lightning::getActionDetails(), Laser::getActionDetails(), Explosion::getActionDetails(), CallbackWeapon::getActionDetails(), AddTarget::getActionDetails(), TankType::getDescription(), getStringName(), TankDamage::logDeath(), AccessoryStore::parseFile(), WeaponAnimation::parseXML(), parseXML(), ServerBuyAccessoryHandler::processMessage(), EconomyFreeMarket::savePrices(), TankWeapon::setCurrentWeapon(), TankMenus::showInventory(), StatsLoggerFile::tankFired(), StatsLoggerFile::tankKilled(), StatsLoggerDatabase::tankKilled(), StatsLoggerFile::tankSelfKilled(), StatsLoggerDatabase::tankSelfKilled(), StatsLoggerFile::tankTeamKilled(), StatsLoggerDatabase::tankTeamKilled(), WeaponGiveAccessory::weaponCallback(), StatsLoggerFile::weaponFired(), StatsLoggerDatabase::weaponFired(), StatsLoggerFile::weaponKilled(), and StatsLoggerDatabase::weaponKilled().

LangString & Accessory::getStringName (  ) 

Definition at line 232 of file Accessory.cpp.

References getName(), LANG_RESOURCE, and stringName_.

Referenced by GLWScorchedInfo::draw().

const char* Accessory::getDescription (  )  [inline]

Definition at line 56 of file Accessory.h.

References description_.

Referenced by StatsLoggerDatabase::createLogger(), parseXML(), and TankWeaponTip::populate().

const int Accessory::getPrice (  )  [inline]

Definition at line 57 of file Accessory.h.

References price_.

Referenced by EconomyFreeMarket::accessoryBought(), BuyAccessoryDialog::addAccessory(), BuyAccessoryDialog::buttonDown(), TankAIWeaponSets::WeaponSet::buyWeapons(), ServerBuyAccessoryHandler::processMessage(), EconomyFreeMarket::setPrice(), and AccessoryStore::writeEconomyToBuffer().

const int Accessory::getSellPrice (  )  [inline]

Definition at line 58 of file Accessory.h.

References sellPrice_.

Referenced by BuyAccessoryDialog::addAccessory(), InventoryDialog::addPlayerWeapons(), BuyAccessoryDialog::buttonDown(), ServerBuyAccessoryHandler::processMessage(), WeaponGiveAccessory::weaponCallback(), and AccessoryStore::writeEconomyToBuffer().

const int Accessory::getOriginalSellPrice (  )  [inline]

Definition at line 59 of file Accessory.h.

References originalSellPrice_.

const int Accessory::getOriginalPrice (  )  [inline]

Definition at line 60 of file Accessory.h.

References originalPrice_.

Referenced by EconomyFreeMarket::accessoryBought(), StatsLoggerDatabase::createLogger(), EconomyFreeMarket::savePrices(), and EconomyFreeMarket::setPrice().

const int Accessory::getFreeMarketLimits (  )  [inline]

Definition at line 61 of file Accessory.h.

References freemarketLimits_.

Referenced by EconomyFreeMarket::setPrice().

const int Accessory::getBundle (  )  [inline]

Definition at line 62 of file Accessory.h.

References bundle_.

Referenced by EconomyFreeMarket::accessoryBought(), BuyAccessoryDialog::addAccessory(), BuyAccessoryDialog::buttonDown(), TankAIWeaponSets::WeaponSet::buyWeapons(), StatsLoggerDatabase::createLogger(), ServerBuyAccessoryHandler::processMessage(), and EconomyFreeMarket::setPrice().

const int Accessory::getArmsLevel (  )  [inline]

Definition at line 63 of file Accessory.h.

References armsLevel_.

Referenced by TankAccessories::accessoryAllowed(), StatsLoggerDatabase::createLogger(), Weapon::getArmsLevel(), TankAIWeaponSets::WeaponSet::getTankAccessoryByType(), ServerShotHolder::validateFiredMessage(), and TankAIWeaponSets::WeaponSetEntry::weaponValid().

const int Accessory::getMaximumNumber (  )  [inline]

Definition at line 64 of file Accessory.h.

References maximumNumber_.

Referenced by TankAccessories::accessoryAllowed(), TankAccessories::newMatch(), AccessoryStore::parseFile(), validAccessory(), and TankAIWeaponSets::WeaponSetEntry::weaponValid().

const int Accessory::getStartingNumber (  )  [inline]

Definition at line 65 of file Accessory.h.

References startingNumber_.

Referenced by TankAccessories::newMatch(), and validAccessory().

const int Accessory::getUseNumber (  )  [inline]

Definition at line 66 of file Accessory.h.

References useNumber_.

Referenced by TankAccessories::canUse(), TankFalling::collision(), ServerDefenseHandler::processDefenseMessage(), and PlayShots::processFiredMessage().

const bool Accessory::getAIOnly (  )  [inline]

Definition at line 67 of file Accessory.h.

References aiOnly_.

Referenced by TankAccessories::accessoryAllowed(), and validAccessory().

const bool Accessory::getBotOnly (  )  [inline]

Definition at line 68 of file Accessory.h.

References botOnly_.

Referenced by TankAccessories::accessoryAllowed(), and validAccessory().

const bool Accessory::getNoBuy (  )  [inline]

Definition at line 69 of file Accessory.h.

References noBuy_.

Referenced by BuyAccessoryDialog::addAccessory(), AccessoryStore::parseFile(), ServerBuyAccessoryHandler::processMessage(), and TankAIWeaponSets::WeaponSetEntry::weaponValid().

PositionSelectType Accessory::getPositionSelect (  )  [inline]

Definition at line 70 of file Accessory.h.

References positionSelect_.

Referenced by TankKeyboardControlUtil::keyboardCheck(), TargetCamera::mouseUp(), TankFuelTip::populate(), ClientStartGameHandler::processMessage(), TankWeapon::setCurrentWeapon(), and ServerShotHolder::validateFiredMessage().

int Accessory::getPositionSelectLimit (  )  [inline]

Definition at line 71 of file Accessory.h.

References positionSelectLimit_.

Referenced by TargetCamera::mouseUp(), TankWeapon::setCurrentWeapon(), and ServerShotHolder::validateFiredMessage().

ToolTip& Accessory::getToolTip (  )  [inline]

Definition at line 73 of file Accessory.h.

References toolTip_.

Referenced by BuyAccessoryDialog::addAccessory(), InventoryDialog::addPlayerWeapons(), AutoDefenseDialog::displayCurrent(), GLWWeaponModel::draw(), TankMenus::AccessoryMenu::getMenuItems(), TankWeaponTip::showItems(), TankParachutesTip::showItems(), TankShieldTip::showItems(), and TankFuelTip::showItems().

const char* Accessory::getIconName (  )  [inline]

Definition at line 74 of file Accessory.h.

References iconName_.

Referenced by StatsLoggerDatabase::createLogger(), getTexture(), and parseXML().

const char* Accessory::getGroupName (  )  [inline]

Definition at line 75 of file Accessory.h.

References groupName_.

Referenced by TankAccessories::add_(), and TankAccessories::rm().

const char* Accessory::getTabGroupName (  )  [inline]

Definition at line 76 of file Accessory.h.

References tabGroupName_.

Referenced by AccessoryStore::getAllAccessoriesByTabGroup(), TankMenus::AccessoryMenu::getMenuItems(), and AccessoryStore::parseFile().

AccessoryPart* Accessory::getAction (  )  [inline]

Definition at line 77 of file Accessory.h.

References accessoryAction_.

Referenced by PhysicsParticleActionObject::bounceShieldHit(), TankDamage::calculateDamage(), PhysicsParticleObject::checkShotCollision(), TankDefinition::createTank(), TargetDefinition::createTarget(), TargetRendererImplTank::drawLife(), TargetRendererImpl::drawShield(), LandscapeActionFireWeapon::fireAction(), WeaponRoller::fireWeapon(), generateTargetTip(), TargetSpace::getCollision(), PhysicsParticleObject::getShieldCollision(), TargetSpace::getSquares(), MovementMap::inShield(), MovementMap::movementProof(), TankMovement::moveTank(), AccessoryStore::parseFile(), WeaponInvokeWeapon::parseXML(), PlayShots::processFiredMessage(), s3d_fire_weapon(), TargetShield::setCurrentShield(), PhysicsParticleActionObject::shotShieldHit(), ShieldHit::simulate(), and Laser::simulate().

fixed Accessory::getModelScale (  )  [inline]

Definition at line 78 of file Accessory.h.

References modelScale_.

Referenced by GLWWeaponModel::draw().

ModelID& Accessory::getModel (  )  [inline]

Definition at line 79 of file Accessory.h.

References modelId_.

Referenced by GLWWeaponModel::draw().

bool Accessory::getMuzzleFlash (  )  [inline]

Definition at line 80 of file Accessory.h.

References muzzleFlash_.

Referenced by TankFired::simulate().

AccessoryPart::AccessoryType Accessory::getType (  )  [inline]

Definition at line 82 of file Accessory.h.

References accessoryAction_, and AccessoryPart::getType().

Referenced by TankAccessories::activate(), TankAccessories::add_(), TankDefinition::createTank(), TargetDefinition::createTarget(), LandscapeActionFireWeapon::fireAction(), TankMenus::AccessoryMenu::getMenuItems(), TankMovement::moveTank(), ServerDefenseHandler::processDefenseMessage(), ClientDefenseHandler::processMessage(), TankAccessories::rm(), and ServerShotHolder::validateFiredMessage().

void Accessory::setPrice ( int  p  )  [inline]

Definition at line 84 of file Accessory.h.

References price_.

Referenced by AccessoryStore::readEconomyFromBuffer(), and EconomyFreeMarket::setPrice().

void Accessory::setSellPrice ( int  p  )  [inline]

Definition at line 85 of file Accessory.h.

References sellPrice_.

Referenced by AccessoryStore::readEconomyFromBuffer(), and EconomyFreeMarket::setPrice().

static void Accessory::resetAccessoryIds (  )  [inline, static]

Definition at line 87 of file Accessory.h.

References nextAccessoryId_.

Referenced by AccessoryStore::clearAccessories().

unsigned int Accessory::getAccessoryId (  )  [inline]

Definition at line 88 of file Accessory.h.

References accessoryId_.

Referenced by EconomyFreeMarket::accessoryBought(), TankAccessories::activate(), BuyAccessoryDialog::buttonDown(), AccessoryStore::findAccessoryPartByAccessoryId(), AccessoryStore::findByAccessoryId(), TankAICurrentMove::fireShot(), TankKeyboardControlUtil::fireShot(), EconomyFreeMarket::loadPrices(), TankDamage::logDeath(), TankAICurrentMove::makeMoveShot(), TargetCamera::mouseUp(), parseXML(), TankAICurrentDefenses::selectFirstParachute(), TankAICurrentDefenses::selectFirstShield(), TankWeapon::setCurrentWeapon(), AccessoryStore::writeEconomyToBuffer(), TargetShield::writeMessage(), and TargetParachute::writeMessage().

GLTexture * Accessory::getTexture (  ) 

Definition at line 249 of file Accessory.cpp.

References GLTexture::create(), S3D::formatStringBuffer(), S3D::getDataFile(), getIconName(), ImageFactory::loadAlphaImageHandle(), and texture_.

Referenced by BuyAccessoryDialog::addAccessory(), InventoryDialog::addPlayerWeapons(), AutoDefenseDialog::displayCurrent(), GLWScorchedInfo::draw(), TankMenus::AccessoryMenu::getMenuItems(), TankDamage::logDeath(), TankWeaponTip::showItems(), TankParachutesTip::showItems(), TankShieldTip::showItems(), and TankFuelTip::showItems().

MissileMesh * Accessory::getWeaponMesh ( ModelID id,
Tank currentPlayer 
) [static]

Definition at line 278 of file Accessory.cpp.

References TargetRendererImplTank::getModel(), TankModel::getProjectileModelID(), Target::getRenderer(), ModelID::getStringHash(), ModelID::initFromString(), loadedMeshes_, and ModelID::modelValid().

Referenced by MissileActionRenderer::draw(), and GLWWeaponModel::draw().


Member Data Documentation

std::map< std::string, MissileMesh * > Accessory::loadedMeshes_ [static]

Definition at line 93 of file Accessory.h.

Referenced by getWeaponMesh().

GLTexture* Accessory::texture_

Definition at line 94 of file Accessory.h.

Referenced by Accessory(), and getTexture().

unsigned int Accessory::nextAccessoryId_ = 0 [static, protected]

Definition at line 98 of file Accessory.h.

Referenced by resetAccessoryIds().

unsigned int Accessory::accessoryId_ [protected]

Definition at line 99 of file Accessory.h.

Referenced by getAccessoryId().

bool Accessory::aiOnly_ [protected]

Definition at line 100 of file Accessory.h.

Referenced by getAIOnly(), and parseXML().

bool Accessory::botOnly_ [protected]

Definition at line 101 of file Accessory.h.

Referenced by getBotOnly(), and parseXML().

bool Accessory::noBuy_ [protected]

Definition at line 102 of file Accessory.h.

Referenced by getNoBuy(), and parseXML().

AccessoryPart* Accessory::accessoryAction_ [protected]

Definition at line 103 of file Accessory.h.

Referenced by getAction(), getType(), and parseXML().

PositionSelectType Accessory::positionSelect_ [protected]

Definition at line 104 of file Accessory.h.

Referenced by getPositionSelect(), and parseXML().

ToolTip Accessory::toolTip_ [protected]

Definition at line 105 of file Accessory.h.

Referenced by getToolTip(), and parseXML().

ModelID Accessory::modelId_ [protected]

Definition at line 106 of file Accessory.h.

Referenced by getModel(), and parseXML().

LangString Accessory::stringName_ [protected]

Definition at line 107 of file Accessory.h.

Referenced by getStringName().

std::string Accessory::iconName_ [protected]

Definition at line 108 of file Accessory.h.

Referenced by getIconName(), and parseXML().

std::string Accessory::groupName_ [protected]

Definition at line 109 of file Accessory.h.

Referenced by getGroupName(), and parseXML().

std::string Accessory::tabGroupName_ [protected]

Definition at line 109 of file Accessory.h.

Referenced by getTabGroupName(), and parseXML().

std::string Accessory::name_ [protected]

Definition at line 110 of file Accessory.h.

Referenced by getName(), and parseXML().

std::string Accessory::description_ [protected]

Definition at line 111 of file Accessory.h.

Referenced by getDescription(), and parseXML().

std::string Accessory::activationSound_ [protected]

Definition at line 112 of file Accessory.h.

Referenced by getActivationSound(), and parseXML().

int Accessory::positionSelectLimit_ [protected]

Definition at line 113 of file Accessory.h.

Referenced by getPositionSelectLimit(), and parseXML().

int Accessory::price_ [protected]

Definition at line 114 of file Accessory.h.

Referenced by getPrice(), parseXML(), and setPrice().

int Accessory::originalPrice_ [protected]

Definition at line 115 of file Accessory.h.

Referenced by getOriginalPrice(), and parseXML().

int Accessory::bundle_ [protected]

Definition at line 116 of file Accessory.h.

Referenced by getBundle(), and parseXML().

int Accessory::armsLevel_ [protected]

Definition at line 117 of file Accessory.h.

Referenced by getArmsLevel(), and parseXML().

int Accessory::sellPrice_ [protected]

Definition at line 118 of file Accessory.h.

Referenced by getSellPrice(), parseXML(), and setSellPrice().

int Accessory::originalSellPrice_ [protected]

Definition at line 119 of file Accessory.h.

Referenced by getOriginalSellPrice(), and parseXML().

int Accessory::freemarketLimits_ [protected]

Definition at line 120 of file Accessory.h.

Referenced by getFreeMarketLimits(), and parseXML().

int Accessory::maximumNumber_ [protected]

Definition at line 121 of file Accessory.h.

Referenced by getMaximumNumber(), and parseXML().

int Accessory::useNumber_ [protected]

Definition at line 122 of file Accessory.h.

Referenced by getUseNumber(), and parseXML().

int Accessory::startingNumber_ [protected]

Definition at line 123 of file Accessory.h.

Referenced by getStartingNumber(), and parseXML().

fixed Accessory::modelScale_ [protected]

Definition at line 124 of file Accessory.h.

Referenced by getModelScale(), and parseXML().

bool Accessory::muzzleFlash_ [protected]

Definition at line 125 of file Accessory.h.

Referenced by getMuzzleFlash(), and parseXML().


The documentation for this class was generated from the following files:
Generated on Mon Feb 16 15:15:00 2009 for Scorched3D by  doxygen 1.5.3