Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
ContainModuleInterface Class Referenceabstract

#include <ContainModule.h>

Inherited by OpenContain.

Public Member Functions

virtual OpenContainasOpenContain ()=0
 
virtual void containReactToTransformChange ()=0
 
virtual Bool isGarrisonable () const =0
 
virtual Bool isBustable () const =0
 
virtual Bool isSpecialZeroSlotContainer () const =0
 
virtual Bool isHealContain () const =0
 
virtual Bool isTunnelContain () const =0
 
virtual Bool isRiderChangeContain () const =0
 
virtual Bool isImmuneToClearBuildingAttacks () const =0
 
virtual Bool isSpecialOverlordStyleContainer () const =0
 
virtual Bool isAnyRiderAttacking () const =0
 
virtual void clientVisibleContainedFlashAsSelected ()=0
 
virtual void onObjectWantsToEnterOrExit (Object *obj, ObjectEnterExitType wants)=0
 
virtual Bool hasObjectsWantingToEnterOrExit () const =0
 
virtual const PlayergetApparentControllingPlayer (const Player *observingPlayer) const =0
 
virtual void recalcApparentControllingPlayer ()=0
 
virtual void onContaining (Object *obj, Bool wasSelected)=0
 object now contains 'obj'
 
virtual void onRemoving (Object *obj)=0
 object no longer contains 'obj'
 
virtual void onCapture (Player *oldOwner, Player *newOwner)=0
 
virtual void onSelling ()=0
 Container is being sold. Most people respond by kicking everyone out, but not all.
 
virtual Int getContainMax () const =0
 The max needs to be virtual, but only two inheritors care. -1 means "I don't care".
 
virtual ExitInterfacegetContainExitInterface ()=0
 
virtual void orderAllPassengersToExit (CommandSourceType, Bool instantly)=0
 All of the smarts of exiting are in the passenger's AIExit. removeAllFrommContain is a last ditch system call, this is the game Evacuate.
 
virtual void orderAllPassengersToIdle (CommandSourceType)=0
 Just like it sounds.
 
virtual void orderAllPassengersToHackInternet (CommandSourceType)=0
 Just like it sounds.
 
virtual void markAllPassengersDetected ()=0
 Cool game stuff got added to the system calls since this layer didn't exist, so this regains that functionality.
 
virtual Bool isValidContainerFor (const Object *obj, Bool checkCapacity) const =0
 
virtual void addToContain (Object *obj)=0
 add 'obj' to contain list
 
virtual void addToContainList (Object *obj)=0
 The part of AddToContain that inheritors can override (Can't do whole thing because of all the private stuff involved)
 
virtual void removeFromContain (Object *obj, Bool exposeStealthUnits=FALSE)=0
 remove 'obj' from contain list
 
virtual void removeAllContained (Bool exposeStealthUnits=FALSE)=0
 remove all objects on contain list
 
virtual void killAllContained (void)=0
 kill all objects on contain list
 
virtual void harmAndForceExitAllContained (DamageInfo *info)=0
 
virtual Bool isEnclosingContainerFor (const Object *obj) const =0
 Does this type of Contain Visibly enclose its contents?
 
virtual Bool isPassengerAllowedToFire (ObjectID id=INVALID_ID) const =0
 Hey, can I shoot out of this container?
 
virtual void setPassengerAllowedToFire (Bool permission=TRUE)=0
 Hey, can I shoot out of this container?
 
virtual void setOverrideDestination (const Coord3D *)=0
 Instead of falling peacefully towards a clear spot, I will now aim here.
 
virtual Bool isDisplayedOnControlBar () const =0
 Does this container display its contents on the ControlBar?
 
virtual Int getExtraSlotsInUse (void)=0
 
virtual Bool isKickOutOnCapture ()=0
 Does this contain module kick people out when captured?
 
virtual void iterateContained (ContainIterateFunc func, void *userData, Bool reverse)=0
 iterate the contain list
 
virtual UnsignedInt getContainCount () const =0
 contained count
 
virtual const ContainedItemsListgetContainedItemsList () const =0
 
virtual const Objectfriend_getRider () const =0
 Damn. The draw order dependency bug for riders means that our draw module needs to cheat to get around it.
 
virtual Real getContainedItemsMass () const =0
 
virtual UnsignedInt getStealthUnitsContained () const =0
 
virtual Bool calcBestGarrisonPosition (Coord3D *sourcePos, const Coord3D *targetPos)=0
 
virtual Bool attemptBestFirePointPosition (Object *source, Weapon *weapon, Object *victim)=0
 
virtual Bool attemptBestFirePointPosition (Object *source, Weapon *weapon, const Coord3D *targetPos)=0
 
virtual PlayerMaskType getPlayerWhoEntered (void) const =0
 
virtual void processDamageToContained (Real percentDamage)=0
 Do our % damage to units now.
 
virtual ObjectgetClosestRider (const Coord3D *pos)=0
 
virtual void enableLoadSounds (Bool enable)=0
 
virtual void setEvacDisposition (EvacDisposition disp)=0
 
virtual Bool isWeaponBonusPassedToPassengers () const =0
 
virtual WeaponBonusConditionFlags getWeaponBonusPassedToPassengers () const =0
 
virtual Bool getContainerPipsToShow (Int &numTotal, Int &numFull)
 

Detailed Description

Definition at line 80 of file ContainModule.h.

Member Function Documentation

◆ addToContain()

virtual void ContainModuleInterface::addToContain ( Object * obj)
pure virtual

add 'obj' to contain list

Implemented in HelixContain, OpenContain, and OverlordContain.

◆ addToContainList()

virtual void ContainModuleInterface::addToContainList ( Object * obj)
pure virtual

The part of AddToContain that inheritors can override (Can't do whole thing because of all the private stuff involved)

Implemented in CaveContain, HelixContain, OpenContain, OverlordContain, and TunnelContain.

◆ asOpenContain()

virtual OpenContain * ContainModuleInterface::asOpenContain ( )
pure virtual

◆ attemptBestFirePointPosition() [1/2]

virtual Bool ContainModuleInterface::attemptBestFirePointPosition ( Object * source,
Weapon * weapon,
const Coord3D * targetPos )
pure virtual

Implemented in GarrisonContain, and OpenContain.

◆ attemptBestFirePointPosition() [2/2]

virtual Bool ContainModuleInterface::attemptBestFirePointPosition ( Object * source,
Weapon * weapon,
Object * victim )
pure virtual

Implemented in GarrisonContain, and OpenContain.

◆ calcBestGarrisonPosition()

virtual Bool ContainModuleInterface::calcBestGarrisonPosition ( Coord3D * sourcePos,
const Coord3D * targetPos )
pure virtual

Implemented in GarrisonContain, and OpenContain.

◆ clientVisibleContainedFlashAsSelected()

virtual void ContainModuleInterface::clientVisibleContainedFlashAsSelected ( )
pure virtual

Implemented in HelixContain, OpenContain, and OverlordContain.

◆ containReactToTransformChange()

virtual void ContainModuleInterface::containReactToTransformChange ( )
pure virtual

Implemented in OpenContain, and ParachuteContain.

◆ enableLoadSounds()

virtual void ContainModuleInterface::enableLoadSounds ( Bool enable)
pure virtual

Implemented in OpenContain.

◆ friend_getRider()

virtual const Object * ContainModuleInterface::friend_getRider ( ) const
pure virtual

Damn. The draw order dependency bug for riders means that our draw module needs to cheat to get around it.

Implemented in HelixContain, OpenContain, OverlordContain, and RiderChangeContain.

◆ getApparentControllingPlayer()

virtual const Player * ContainModuleInterface::getApparentControllingPlayer ( const Player * observingPlayer) const
pure virtual

return the player that appears to control this unit, given an observing player. if null, use getObject()->getControllingPlayer() instead.

Implemented in GarrisonContain, and OpenContain.

◆ getClosestRider()

virtual Object * ContainModuleInterface::getClosestRider ( const Coord3D * pos)
pure virtual

Implemented in OpenContain.

◆ getContainCount()

virtual UnsignedInt ContainModuleInterface::getContainCount ( ) const
pure virtual

contained count

Implemented in CaveContain, OpenContain, OverlordContain, and TunnelContain.

◆ getContainedItemsList()

virtual const ContainedItemsList * ContainModuleInterface::getContainedItemsList ( ) const
pure virtual

◆ getContainedItemsMass()

virtual Real ContainModuleInterface::getContainedItemsMass ( ) const
pure virtual

Implemented in OpenContain.

◆ getContainerPipsToShow()

virtual Bool ContainModuleInterface::getContainerPipsToShow ( Int & numTotal,
Int & numFull )
inlinevirtual

Reimplemented in HelixContain, OverlordContain, and RiderChangeContain.

Definition at line 201 of file ContainModule.h.

◆ getContainExitInterface()

virtual ExitInterface * ContainModuleInterface::getContainExitInterface ( )
pure virtual

Implemented in OpenContain.

◆ getContainMax()

virtual Int ContainModuleInterface::getContainMax ( ) const
pure virtual

The max needs to be virtual, but only two inheritors care. -1 means "I don't care".

Implemented in CaveContain, MobNexusContain, OpenContain, OverlordContain, RiderChangeContain, TransportContain, and TunnelContain.

◆ getExtraSlotsInUse()

virtual Int ContainModuleInterface::getExtraSlotsInUse ( void )
pure virtual

◆ getPlayerWhoEntered()

virtual PlayerMaskType ContainModuleInterface::getPlayerWhoEntered ( void ) const
pure virtual

Implemented in OpenContain.

◆ getStealthUnitsContained()

virtual UnsignedInt ContainModuleInterface::getStealthUnitsContained ( ) const
pure virtual

Implemented in OpenContain.

◆ getWeaponBonusPassedToPassengers()

virtual WeaponBonusConditionFlags ContainModuleInterface::getWeaponBonusPassedToPassengers ( ) const
pure virtual

Implemented in OpenContain.

◆ harmAndForceExitAllContained()

virtual void ContainModuleInterface::harmAndForceExitAllContained ( DamageInfo * info)
pure virtual

Implemented in OpenContain, and TunnelContain.

◆ hasObjectsWantingToEnterOrExit()

virtual Bool ContainModuleInterface::hasObjectsWantingToEnterOrExit ( ) const
pure virtual

Implemented in OpenContain.

◆ isAnyRiderAttacking()

virtual Bool ContainModuleInterface::isAnyRiderAttacking ( ) const
pure virtual

if my object gets selected, then my visible passengers should, too this gets called from

Implemented in OpenContain.

◆ isBustable()

virtual Bool ContainModuleInterface::isBustable ( ) const
pure virtual

◆ isDisplayedOnControlBar()

virtual Bool ContainModuleInterface::isDisplayedOnControlBar ( ) const
pure virtual

Does this container display its contents on the ControlBar?

Implemented in GarrisonContain, OpenContain, OverlordContain, RiderChangeContain, TransportContain, and TunnelContain.

◆ isEnclosingContainerFor()

virtual Bool ContainModuleInterface::isEnclosingContainerFor ( const Object * obj) const
pure virtual

Does this type of Contain Visibly enclose its contents?

Implemented in GarrisonContain, HelixContain, OpenContain, OverlordContain, and ParachuteContain.

◆ isGarrisonable()

virtual Bool ContainModuleInterface::isGarrisonable ( ) const
pure virtual

◆ isHealContain()

virtual Bool ContainModuleInterface::isHealContain ( ) const
pure virtual

◆ isImmuneToClearBuildingAttacks()

virtual Bool ContainModuleInterface::isImmuneToClearBuildingAttacks ( ) const
pure virtual

◆ isKickOutOnCapture()

virtual Bool ContainModuleInterface::isKickOutOnCapture ( )
pure virtual

Does this contain module kick people out when captured?

Implemented in CaveContain, OpenContain, OverlordContain, and TunnelContain.

◆ isPassengerAllowedToFire()

virtual Bool ContainModuleInterface::isPassengerAllowedToFire ( ObjectID id = INVALID_ID) const
pure virtual

Hey, can I shoot out of this container?

Implemented in GarrisonContain, HelixContain, OpenContain, OverlordContain, and TransportContain.

◆ isRiderChangeContain()

virtual Bool ContainModuleInterface::isRiderChangeContain ( ) const
pure virtual

◆ isSpecialOverlordStyleContainer()

virtual Bool ContainModuleInterface::isSpecialOverlordStyleContainer ( ) const
pure virtual

◆ isSpecialZeroSlotContainer()

virtual Bool ContainModuleInterface::isSpecialZeroSlotContainer ( ) const
pure virtual

Implemented in OpenContain, and ParachuteContain.

◆ isTunnelContain()

virtual Bool ContainModuleInterface::isTunnelContain ( ) const
pure virtual

◆ isValidContainerFor()

virtual Bool ContainModuleInterface::isValidContainerFor ( const Object * obj,
Bool checkCapacity ) const
pure virtual

can this container contain this kind of object? and, if checkCapacity is TRUE, does this container have enough space left to hold the given unit?

Implemented in CaveContain, GarrisonContain, HelixContain, MobNexusContain, OpenContain, OverlordContain, ParachuteContain, RiderChangeContain, TransportContain, and TunnelContain.

◆ isWeaponBonusPassedToPassengers()

virtual Bool ContainModuleInterface::isWeaponBonusPassedToPassengers ( ) const
pure virtual

Implemented in OpenContain.

◆ iterateContained()

virtual void ContainModuleInterface::iterateContained ( ContainIterateFunc func,
void * userData,
Bool reverse )
pure virtual

iterate the contain list

Implemented in CaveContain, OpenContain, OverlordContain, and TunnelContain.

◆ killAllContained()

virtual void ContainModuleInterface::killAllContained ( void )
pure virtual

kill all objects on contain list

Implemented in OpenContain, OverlordContain, and TunnelContain.

◆ markAllPassengersDetected()

virtual void ContainModuleInterface::markAllPassengersDetected ( )
pure virtual

Cool game stuff got added to the system calls since this layer didn't exist, so this regains that functionality.

Implemented in OpenContain.

◆ onCapture()

virtual void ContainModuleInterface::onCapture ( Player * oldOwner,
Player * newOwner )
pure virtual

◆ onContaining()

virtual void ContainModuleInterface::onContaining ( Object * obj,
Bool wasSelected )
pure virtual

◆ onObjectWantsToEnterOrExit()

virtual void ContainModuleInterface::onObjectWantsToEnterOrExit ( Object * obj,
ObjectEnterExitType wants )
pure virtual

this is used for containers that must do something to allow people to enter or exit... eg, land (for Chinook), open door (whatever)... it's called with wants=WANTS_TO_ENTER when something is in the enter state, and wants=ENTS_NOTHING when the unit has either entered, or given up...

Implemented in OpenContain.

◆ onRemoving()

virtual void ContainModuleInterface::onRemoving ( Object * obj)
pure virtual

◆ onSelling()

virtual void ContainModuleInterface::onSelling ( )
pure virtual

Container is being sold. Most people respond by kicking everyone out, but not all.

Implemented in GarrisonContain, OpenContain, and TunnelContain.

◆ orderAllPassengersToExit()

virtual void ContainModuleInterface::orderAllPassengersToExit ( CommandSourceType ,
Bool instantly )
pure virtual

All of the smarts of exiting are in the passenger's AIExit. removeAllFrommContain is a last ditch system call, this is the game Evacuate.

Implemented in OpenContain.

◆ orderAllPassengersToHackInternet()

virtual void ContainModuleInterface::orderAllPassengersToHackInternet ( CommandSourceType )
pure virtual

Just like it sounds.

Implemented in OpenContain.

◆ orderAllPassengersToIdle()

virtual void ContainModuleInterface::orderAllPassengersToIdle ( CommandSourceType )
pure virtual

Just like it sounds.

Implemented in OpenContain.

◆ processDamageToContained()

virtual void ContainModuleInterface::processDamageToContained ( Real percentDamage)
pure virtual

Do our % damage to units now.

Implemented in OpenContain.

◆ recalcApparentControllingPlayer()

virtual void ContainModuleInterface::recalcApparentControllingPlayer ( )
pure virtual

Implemented in CaveContain, GarrisonContain, and OpenContain.

◆ removeAllContained()

virtual void ContainModuleInterface::removeAllContained ( Bool exposeStealthUnits = FALSE)
pure virtual

remove all objects on contain list

Implemented in CaveContain, GarrisonContain, OpenContain, OverlordContain, and TunnelContain.

◆ removeFromContain()

virtual void ContainModuleInterface::removeFromContain ( Object * obj,
Bool exposeStealthUnits = FALSE )
pure virtual

remove 'obj' from contain list

Implemented in CaveContain, HelixContain, OpenContain, OverlordContain, and TunnelContain.

◆ setEvacDisposition()

virtual void ContainModuleInterface::setEvacDisposition ( EvacDisposition disp)
pure virtual

Implemented in GarrisonContain, and OpenContain.

◆ setOverrideDestination()

virtual void ContainModuleInterface::setOverrideDestination ( const Coord3D * )
pure virtual

Instead of falling peacefully towards a clear spot, I will now aim here.

Implemented in OpenContain, and ParachuteContain.

◆ setPassengerAllowedToFire()

virtual void ContainModuleInterface::setPassengerAllowedToFire ( Bool permission = TRUE)
pure virtual

Hey, can I shoot out of this container?

Implemented in OpenContain.


The documentation for this class was generated from the following file: