TankAccessories Class Reference

#include <TankAccessories.h>

List of all members.

Public Member Functions

 TankAccessories (ScorchedContext &context)
virtual ~TankAccessories ()
void setTank (Tank *tank)
void newMatch ()
void add (Accessory *accessory, int count, bool check=true)
void rm (Accessory *accessory, int count)
void clearAccessories ()
bool canUse (Accessory *accessory)
void activate (Accessory *accessory)
bool accessoryAllowed (Accessory *accessory, int count)
int getAccessoryCount (Accessory *accessory)
void getAllAccessories (std::list< Accessory * > &result)
std::list< Accessory * > & getAllAccessoriesByType (AccessoryPart::AccessoryType type)
std::list< Accessory * > & getAllAccessoriesByGroup (const char *groupName)
TankWeapongetWeapons ()
TankAutoDefensegetAutoDefense ()
TankBatteriesgetBatteries ()
LangString getAccessoryCountString (Accessory *accessory)
LangString getAccessoryAndCountString (Accessory *accessory)
bool writeMessage (NetBuffer &buffer, bool writeAccessories)
bool readMessage (NetBufferReader &reader)

Protected Types

typedef std::list
< Accessory * > 
AccessoryList

Protected Member Functions

void changed ()
void add_ (Accessory *accessory, int count, bool check)

Protected Attributes

ScorchedContextcontext_
TankWeapon tankWeapon_
TankAutoDefense tankAuto_
TankBatteries tankBatteries_
Tanktank_
std::map< Accessory *,
int > 
accessories_
std::map
< std::string,
AccessoryList * > 
accessoryGroups_
std::map
< AccessoryPart::AccessoryType,
AccessoryList * > 
accessoryTypes_


Detailed Description

Definition at line 31 of file TankAccessories.h.


Member Typedef Documentation

typedef std::list<Accessory *> TankAccessories::AccessoryList [protected]

Definition at line 74 of file TankAccessories.h.


Constructor & Destructor Documentation

TankAccessories::TankAccessories ( ScorchedContext context  ) 

Definition at line 37 of file TankAccessories.cpp.

TankAccessories::~TankAccessories (  )  [virtual]

Definition at line 45 of file TankAccessories.cpp.


Member Function Documentation

void TankAccessories::setTank ( Tank tank  ) 

Definition at line 49 of file TankAccessories.cpp.

References TankBatteries::setTank(), TankAutoDefense::setTank(), TankWeapon::setTank(), tank_, tankAuto_, tankBatteries_, and tankWeapon_.

Referenced by Tank::Tank().

void TankAccessories::newMatch (  ) 

Definition at line 57 of file TankAccessories.cpp.

References add_(), changed(), clearAccessories(), context_, TankType::getAccessories(), ScorchedContext::getAccessoryStore(), AccessoryStore::getAllAccessories(), Accessory::getMaximumNumber(), Tank::getModelContainer(), ScorchedContext::getOptionsGame(), Accessory::getStartingNumber(), ScorchedContext::getTankModels(), TankModelContainer::getTankTypeName(), TankModelStore::getTypeByName(), TankBatteries::newMatch(), TankAutoDefense::newMatch(), TankWeapon::newMatch(), tank_, tankAuto_, tankBatteries_, and tankWeapon_.

Referenced by Tank::newMatch().

void TankAccessories::add ( Accessory accessory,
int  count,
bool  check = true 
)

Definition at line 247 of file TankAccessories.cpp.

References add_(), and changed().

Referenced by BuyAccessoryDialog::buttonDown(), TankAIWeaponSets::WeaponSet::buyWeapons(), ServerBuyAccessoryHandler::processMessage(), ClientDefenseHandler::processMessage(), and WeaponGiveAccessory::weaponCallback().

void TankAccessories::rm ( Accessory accessory,
int  count 
)

Definition at line 315 of file TankAccessories.cpp.

References accessories_, accessoryGroups_, accessoryTypes_, changed(), Accessory::getGroupName(), and Accessory::getType().

Referenced by BuyAccessoryDialog::buttonDown(), TankFalling::collision(), TankMovement::init(), TankMovement::moveTank(), ServerDefenseHandler::processDefenseMessage(), PlayShots::processFiredMessage(), ServerBuyAccessoryHandler::processMessage(), ClientDefenseHandler::processMessage(), and WeaponGiveAccessory::weaponCallback().

void TankAccessories::clearAccessories (  ) 

Definition at line 113 of file TankAccessories.cpp.

References accessories_, accessoryGroups_, and accessoryTypes_.

Referenced by newMatch(), and readMessage().

bool TankAccessories::canUse ( Accessory accessory  ) 

Definition at line 177 of file TankAccessories.cpp.

References getAccessoryCount(), and Accessory::getUseNumber().

Referenced by TankWeapon::changed(), TankFalling::collision(), TankMenus::AccessoryMenu::getMenuItems(), TankAIWeaponSets::WeaponSet::getTankAccessoryByType(), ServerDefenseHandler::processDefenseMessage(), TankWeapon::setWeapon(), TankWeaponTip::showItems(), TankParachutesTip::showItems(), TankShieldTip::showItems(), TankFuelTip::showItems(), and ServerShotHolder::validateFiredMessage().

void TankAccessories::activate ( Accessory accessory  ) 

Definition at line 457 of file TankAccessories.cpp.

References AccessoryPart::AccessoryAutoDefense, AccessoryPart::AccessoryBattery, AccessoryPart::AccessoryParachute, AccessoryPart::AccessoryShield, AccessoryPart::AccessoryWeapon, context_, DIALOG_ASSERT, Accessory::getAccessoryId(), TargetParachute::getCurrentParachute(), TargetShield::getCurrentShield(), TargetLife::getLife(), Target::getLife(), TargetLife::getMaxLife(), Target::getParachute(), ScorchedContext::getServerMode(), Target::getShield(), Accessory::getType(), getWeapons(), TankKeyboardControlUtil::parachutesUpDown(), TankWeapon::setWeapon(), TankKeyboardControlUtil::shieldsUpDown(), tank_, and TankKeyboardControlUtil::useBattery().

Referenced by TankMenus::AccessoryMenu::menuSelection().

bool TankAccessories::accessoryAllowed ( Accessory accessory,
int  count 
)

Definition at line 197 of file TankAccessories.cpp.

References context_, getAccessoryCount(), TankType::getAccessoryDisabled(), Accessory::getAIOnly(), OptionsTransient::getArmsLevel(), Accessory::getArmsLevel(), Accessory::getBotOnly(), Tank::getDestinationId(), Accessory::getMaximumNumber(), Tank::getModelContainer(), ScorchedContext::getOptionsTransient(), ScorchedContext::getTankModels(), TankModelContainer::getTankTypeName(), TankModelStore::getTypeByName(), Target::isTemp(), and tank_.

Referenced by EconomyFreeMarket::accessoryBought(), add_(), BuyAccessoryDialog::addAccessory(), ServerBuyAccessoryHandler::processMessage(), and WeaponGiveAccessory::weaponCallback().

int TankAccessories::getAccessoryCount ( Accessory accessory  ) 

Definition at line 185 of file TankAccessories.cpp.

References accessories_.

Referenced by accessoryAllowed(), add_(), BuyAccessoryDialog::addAccessory(), InventoryDialog::addPlayerWeapons(), canUse(), GLWScorchedInfo::draw(), getAccessoryAndCountString(), getAccessoryCountString(), MovementMap::getFuel(), TankMenus::AccessoryMenu::getMenuItems(), TankBatteries::getNoBatteries(), TankWeapon::getWeaponString(), TankShieldTip::populate(), ServerBuyAccessoryHandler::processMessage(), TankMenus::showInventory(), WeaponGiveAccessory::weaponCallback(), and TankAIWeaponSets::WeaponSetEntry::weaponValid().

void TankAccessories::getAllAccessories ( std::list< Accessory * > &  result  ) 

Definition at line 137 of file TankAccessories.cpp.

References accessories_.

Referenced by InventoryDialog::addPlayerWeapons(), BuyAccessoryDialog::addPlayerWeaponsSell(), and TankMenus::showInventory().

std::list< Accessory * > & TankAccessories::getAllAccessoriesByType ( AccessoryPart::AccessoryType  type  ) 

Definition at line 149 of file TankAccessories.cpp.

References accessoryTypes_.

Referenced by AutoDefenseDialog::buttonDown(), TankBatteries::canUse(), AutoDefenseDialog::displayCurrent(), TankBatteries::getNoBatteries(), TankAutoDefense::haveDefense(), TankBatteryTip::itemSelected(), TankKeyboardControlUtil::keyboardCheck(), TankKeyboardControlUtil::nextWeapon(), TankKeyboardControlUtil::prevWeapon(), TankAICurrentDefenses::selectFirstParachute(), TankAICurrentDefenses::selectFirstShield(), TankParachutesTip::showItems(), TankShieldTip::showItems(), and TankAICurrentMove::useAvailableBatteries().

std::list< Accessory * > & TankAccessories::getAllAccessoriesByGroup ( const char *  groupName  ) 

Definition at line 163 of file TankAccessories.cpp.

References accessoryGroups_.

Referenced by TankWeapon::changed(), TankFuelTip::itemSelected(), ClientStartGameHandler::processMessage(), TankWeaponTip::showItems(), and TankFuelTip::showItems().

TankWeapon& TankAccessories::getWeapons (  )  [inline]

Definition at line 56 of file TankAccessories.h.

References tankWeapon_.

Referenced by activate(), GLWWeaponModel::draw(), GLWScorchedInfo::draw(), TankAICurrentMove::fireShot(), TankKeyboardControlUtil::fireShot(), TankMenus::AccessoryMenu::getMenuItems(), TankWeaponTip::itemSelected(), TankFuelTip::itemSelected(), TankKeyboardControlUtil::keyboardCheck(), TargetCamera::mouseUp(), TankKeyboardControlUtil::nextWeapon(), TankWeaponTip::populate(), TankFuelTip::populate(), TankKeyboardControlUtil::prevWeapon(), ClientStartGameHandler::processMessage(), TankAICurrentMove::setWeapon(), TankWeaponTip::showItems(), and TankFuelTip::showItems().

TankAutoDefense& TankAccessories::getAutoDefense (  )  [inline]

Definition at line 57 of file TankAccessories.h.

References tankAuto_.

Referenced by GLWScorchedInfo::draw(), ServerNextTurnState::enterState(), TankAutoDefenseTip::populate(), TankAutoDefenseTip::showItems(), and AutoDefenseDialog::windowInit().

TankBatteries& TankAccessories::getBatteries (  )  [inline]

Definition at line 58 of file TankAccessories.h.

References tankBatteries_.

Referenced by GLWScorchedInfo::draw(), TankBatteryTip::populate(), ServerDefenseHandler::processDefenseMessage(), TankBatteryTip::showItems(), and TankAICurrentMove::useAvailableBatteries().

LangString TankAccessories::getAccessoryCountString ( Accessory accessory  ) 

Definition at line 351 of file TankAccessories.cpp.

References S3D::formatStringBuffer(), getAccessoryCount(), LANG_RESOURCE_VAR, and LANG_STRING.

Referenced by BuyAccessoryDialog::addAccessory(), InventoryDialog::addPlayerWeapons(), GLWScorchedInfo::draw(), and getAccessoryAndCountString().

LangString TankAccessories::getAccessoryAndCountString ( Accessory accessory  ) 

Definition at line 368 of file TankAccessories.cpp.

References getAccessoryCount(), getAccessoryCountString(), Accessory::getName(), LANG_RESOURCE, and LANG_STRING.

Referenced by AutoDefenseDialog::displayCurrent(), TankMenus::AccessoryMenu::getMenuItems(), TankWeaponTip::populate(), TankParachutesTip::populate(), TankShieldTip::populate(), TankFuelTip::populate(), TankWeaponTip::showItems(), TankParachutesTip::showItems(), TankShieldTip::showItems(), and TankFuelTip::showItems().

bool TankAccessories::writeMessage ( NetBuffer buffer,
bool  writeAccessories 
)

Definition at line 388 of file TankAccessories.cpp.

References accessories_, and NetBuffer::addToBuffer().

Referenced by TankDeadContainer::addTank(), and Tank::writeMessage().

bool TankAccessories::readMessage ( NetBufferReader reader  ) 

Definition at line 421 of file TankAccessories.cpp.

References add_(), changed(), clearAccessories(), context_, AccessoryStore::findByAccessoryId(), ScorchedContext::getAccessoryStore(), and NetBufferReader::getFromBuffer().

Referenced by TankDeadContainer::getTank(), and Tank::readMessage().

void TankAccessories::changed (  )  [protected]

Definition at line 380 of file TankAccessories.cpp.

References TankBatteries::changed(), TankWeapon::changed(), TankAutoDefense::changed(), tankAuto_, tankBatteries_, and tankWeapon_.

Referenced by add(), newMatch(), readMessage(), and rm().

void TankAccessories::add_ ( Accessory accessory,
int  count,
bool  check 
) [protected]

Definition at line 253 of file TankAccessories.cpp.

References accessories_, accessoryAllowed(), accessoryGroups_, accessoryTypes_, getAccessoryCount(), Accessory::getGroupName(), and Accessory::getType().

Referenced by add(), newMatch(), and readMessage().


Member Data Documentation

ScorchedContext& TankAccessories::context_ [protected]

Definition at line 68 of file TankAccessories.h.

Referenced by accessoryAllowed(), activate(), newMatch(), and readMessage().

TankWeapon TankAccessories::tankWeapon_ [protected]

Definition at line 69 of file TankAccessories.h.

Referenced by changed(), getWeapons(), newMatch(), and setTank().

TankAutoDefense TankAccessories::tankAuto_ [protected]

Definition at line 70 of file TankAccessories.h.

Referenced by changed(), getAutoDefense(), newMatch(), and setTank().

TankBatteries TankAccessories::tankBatteries_ [protected]

Definition at line 71 of file TankAccessories.h.

Referenced by changed(), getBatteries(), newMatch(), and setTank().

Tank* TankAccessories::tank_ [protected]

Definition at line 72 of file TankAccessories.h.

Referenced by accessoryAllowed(), activate(), newMatch(), and setTank().

std::map<Accessory *, int> TankAccessories::accessories_ [protected]

Definition at line 75 of file TankAccessories.h.

Referenced by add_(), clearAccessories(), getAccessoryCount(), getAllAccessories(), rm(), and writeMessage().

std::map<std::string, AccessoryList*> TankAccessories::accessoryGroups_ [protected]

Definition at line 76 of file TankAccessories.h.

Referenced by add_(), clearAccessories(), getAllAccessoriesByGroup(), and rm().

std::map<AccessoryPart::AccessoryType, AccessoryList*> TankAccessories::accessoryTypes_ [protected]

Definition at line 77 of file TankAccessories.h.

Referenced by add_(), clearAccessories(), getAllAccessoriesByType(), and rm().


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