Emergency 2017 Dokumentation  v3.0.1
em5::HedgeComponent Class Reference

EMERGENCY 5 hedge component class. More...

#include <HedgeComponent.h>

Public Member Functions

 HedgeComponent (qsf::Prototype *prototype)
 Constructor. More...
 
virtual ~HedgeComponent ()
 Destructor. More...
 
void cutHedge ()
 Call this method to cut down the hedge. More...
 
const qsf::AssetProxygetDestroyedGroundDecalMesh () const
 
void setDestroyedGroundDecalMesh (const qsf::AssetProxy &destroyedGroundDecalMesh)
 
virtual bool isReadyForCleanup () const override
 Check if the tree component is ready for cleanup. More...
 
virtual void cleanup () override
 Clean up the hedge, i.e. resets it to its initial non-chopped state. More...
 
virtual bool onStartup () override
 Startup the component. More...
 
virtual void serialize (qsf::BinarySerializer &serializer) override
 Serialize or deserialize the component using a binary serializer. More...
 
- Public Member Functions inherited from em5::DamageComponent
 DamageComponent (qsf::Prototype *prototype)
 Constructor. More...
 
virtual ~DamageComponent ()
 Destructor. More...
 
DamageState getDamageState () const
 
void setDamageState (DamageState damageState)
 
bool getDamageSimulation () const
 
void setDamageSimulation (bool damageSimulation)
 
const FireComponentgetBurningFireComponent () const
 Helper function to retrieve a burning FireComponent with the highest energy. More...
 
float getFireLifePercentage () const
 
void showExplosionFireParticles ()
 Show the explosion fire particles without doing any damage. More...
 
void setFireExtinguishBlocked (bool blocked)
 Set if we want to block the fire from being extinguished. More...
 
virtual bool isIntact () const
 
virtual bool isDamaged () const
 
virtual bool isDamagedLevel1 () const
 
virtual bool isDamagedLevel2 () const
 
virtual bool isDestroyed () const
 
virtual bool isBurning () const
 
virtual void receiveDamage (float amount, damagetype::DamageType damageType, qsf::Component *sender=nullptr)
 
virtual bool checkReceiveDamage (damagetype::DamageType damageType, qsf::Component *sender=nullptr)
 
virtual void onSetSimulating (bool simulating) override
 Set whether or not the component is in simulating mode. More...
 
virtual void onShutdown () override
 Shutdown the component. More...
 
- Public Member Functions inherited from qsf::Component
virtual ~Component ()
 Destructor. More...
 
PrototypegetPrototype () const
 Return the prototype this component is in. More...
 
EntitygetEntity () const
 Return a reference to the entity this component is in. More...
 
uint32 getId () const
 Return the unique component identifier. More...
 
ComponentManagergetComponentManager () const
 Return the component manager that's responsible for this component instance. More...
 
ComponentCollectiongetComponentCollection () const
 Return the component collection that's responsible for this component instance. More...
 
bool isSimulating () const
 Return whether or not the component is in simulating mode. More...
 
bool isActive () const
 Return whether or not the component is considered to be active. More...
 
void setActive (bool active)
 Set whether or not the component is considered to be active. More...
 
bool isDebug () const
 Return whether or not the component is considered to be in debug mode. More...
 
bool isHidden () const
 Return whether or not the component is hidden. More...
 
void setHidden (bool hidden)
 Set whether or not the component is hidden. More...
 
bool isGloballyHidden () const
 Return whether or not the component is globally hidden. More...
 
void setGloballyHidden (bool globallyHidden)
 Set whether or not the component is globally hidden. More...
 
bool isReallyHidden () const
 Return whether or not the component is really hidden. More...
 
bool startup ()
 Startup the component. More...
 
bool isRunning () const
 Return whether or not the component is up-and-running. More...
 
void shutdown ()
 Shutdown the component. More...
 
uint64 getPrototypeId () const
 Return the ID of the prototype this component is in. More...
 
uint64 getEntityId () const
 Return the ID of the entity this component is in. More...
 
virtual void onInvalidation ()
 Invalidate the component. More...
 
virtual void setDebug (bool debugMode)
 Set whether or not the component is considered to be in debug mode. More...
 
- Public Member Functions inherited from qsf::InheritedObject
void copyPropertyOverrideStateFrom (const InheritedObject &object, bool add=false)
 
void setAllPropertyOverrideFlags (bool value)
 
void autoCreatePropertyOverrideState ()
 
virtual camp::Value getPropertyDefaultValue (const StringHash &propertyId) const override
 
virtual PropertyOverrideState getPropertyOverrideState (const StringHash &propertyId) const override
 
virtual bool setPropertyOverrideState (const StringHash &propertyId, PropertyOverrideState overrideState) override
 
- Public Member Functions inherited from qsf::Object
virtual ~Object ()
 Destructor. More...
 
const camp::Class & getCampClass () const
 Return the CAMP class. More...
 
int getPropertyIndexById (const StringHash &propertyId) const
 Return the CAMP property index by using the unique class property ID. More...
 
uint32 getPropertyIdByIndex (int index) const
 Return the unique class property ID with the given index. More...
 
std::string getPropertyNameById (const StringHash &propertyId) const
 Return the CAMP property name by using the unique class property ID. More...
 
const camp::Property * getCampPropertyById (const StringHash &propertyId) const
 Return the CAMP property by using the unique class property ID. More...
 
void setPropertyValuesByString (const std::string &values)
 Set CAMP reflection property values by using a given string. More...
 
void setPropertiesToDefaultValues ()
 Set all CAMP reflection system properties to their default values. More...
 
void serializeToBoostPTree (boost::property_tree::ptree &pTree, SerializationMethod serializationMethod=SERIALIZE_DIFFERENTIAL) const
 
void serializeToBoostPTree (boost::property_tree::ptree &pTree, const camp::Class &campClass, SerializationMethod serializationMethod=SERIALIZE_DIFFERENTIAL) const
 
bool deserializeFromBoostPTree (const boost::property_tree::ptree &pTree, SerializationMethod serializationMethod=SERIALIZE_DIFFERENTIAL)
 
bool deserializeFromBoostPTree (const boost::property_tree::ptree &pTree, const camp::Class &campClass, SerializationMethod serializationMethod=SERIALIZE_DIFFERENTIAL)
 
void serializeToBinarySerializer (BinarySerializer &serializer, SerializationMode mode=MODE_MINIMAL, SerializationMethod serializationMethod=SERIALIZE_DIFFERENTIAL) const
 
void deserializeFromBinarySerializer (BinarySerializer &serializer, SerializationMode mode=MODE_MINIMAL, SerializationMethod serializationMethod=SERIALIZE_DIFFERENTIAL, bool setOverrideState=true)
 
virtual void onPreDeserialize ()
 Called right before the object is deserialized using any of the above methods. Default implementation is empty. More...
 
virtual void onPostDeserialize ()
 Called right after the object was deserialized using any of the above methods. Default implementation is empty. More...
 
virtual ScriptgetAssociatedScript () const
 Return the script instance associated with this object instance. More...
 
- Public Member Functions inherited from qsf::JobProxyMovableObjectRenderingListener
 JobProxyMovableObjectRenderingListener ()
 Constructor. More...
 
virtual ~JobProxyMovableObjectRenderingListener ()
 Destructor. More...
 
const TimegetNonvisibleUpdateTimeout () const
 Return the nonvisible update timeout. More...
 
void setNonvisibleUpdateTimeout (const Time &nonvisibleUpdateTimeout)
 Set the nonvisible update timeout. More...
 
- Public Member Functions inherited from qsf::MovableObjectRenderingListener
 MovableObjectRenderingListener ()
 Constructor. More...
 
virtual ~MovableObjectRenderingListener ()
 Destructor. More...
 
bool isMovableObjectRenderingListenerRegistered () const
 Return whether or not the movable object rendering listener is registered. More...
 
State getState () const
 Return the state of the listener. More...
 

Static Public Attributes

static const uint32 COMPONENT_ID
 "em5::HedgeComponent" unique component ID More...
 
- Static Public Attributes inherited from em5::DamageComponent
static const uint32 COMPONENT_ID
 "em5::DamageComponent" unique component ID More...
 
static const uint32 DAMAGE
 "Damage" unique class property ID inside the class More...
 
static const uint32 DAMAGE_STATE
 "DamageState" unique class property ID inside the class More...
 
static const uint32 DAMAGE_SIMULATION
 "DamageSimulation" unique class property ID inside the class More...
 
- Static Public Attributes inherited from qsf::Component
static const uint32 COMPONENT_ID
 "qsf::Component" unique component ID More...
 

Protected Member Functions

virtual void onSetIntact () override
 
virtual void onSetDamagedLevel1 () override
 
virtual void onSetDamagedLevel2 () override
 
virtual void onSetDestroyed () override
 
virtual void onSetFireLifePercentage (float fireLifePercentage) override
 
virtual void onFireStarted (FreeplayEvent *freeplayEvent) override
 
virtual void setCustomParametersForFireGlowAndSmutOverlay (const qsf::MeshComponent &meshComponent) override
 
- Protected Member Functions inherited from em5::DamageComponent
virtual void onSetDamageState (DamageState damageState)
 
virtual void onFireStopped ()
 In case the fire component is not a null pointer, only explosions of that fire component explode, otherwise eplode all. More...
 
virtual void onExplosion (FireComponent *fireComponent)
 
virtual void onFireDamageReceived (float amount, qsf::Component *sender, bool damageJustStarted)
 
virtual qsf::ComponentgetMovableObjectRenderingListenerComponent () override
 Return the component the listener will spy on. More...
 
virtual void onObjectRenderingStartup () override
 Called when an OGRE movable object is about to be rendered for the first time after it has not been rendered for some time. More...
 
virtual void onUpdateMovableObjectRenderingJob (const qsf::JobArguments &jobArguments) override
 Main update function that is passed to the job manager. More...
 
void setFireStateIntact ()
 
void setFireStateDestroyed ()
 
void setFireLifePercentage (float fireLifePercentage)
 
void updateTintableMesh ()
 
void setupFireFadeAnimation ()
 
- Protected Member Functions inherited from qsf::Component
 Component (Prototype *prototype)
 Constructor. More...
 
void promotePropertyChange (uint32 propertyId)
 A component property value was changed. More...
 
template<typename T , typename S >
bool assignAndPromoteChange (T &variable, const S &newValue, uint32 propertyId)
 Comfort function for updating an exported member variable and promoting any change that happened. More...
 
void setRegisterForSimulationTransformChanges (bool enable)
 Register or unregister this component as simulation transform listener. More...
 
void setRegisterForAnimationTransformChanges (bool enable)
 Register or unregister this component as animation transform listener. More...
 
virtual const ObjectgetPropertyDefaultsProvider () const override
 
virtual bool implementsOnComponentPropertyChange () const
 Signal whether this component needs the "onComponentPropertyChange" callback at all. More...
 
virtual void onComponentPropertyChange (const Component &component, uint32 propertyId)
 Called in case a component property value was changed. More...
 
virtual void onComponentTransformChange (const Transform &transform, TransformChangeFlags flags)
 Called in case a component transformation value was changed. More...
 
virtual void onSetActive (bool active)
 Set whether or not the component is considered to be active. More...
 
virtual void onSetDebug (bool debug)
 Set whether or not the component is considered to be in debug mode. More...
 
virtual void onSetHidden (bool hidden)
 Set whether or not the component is considered to be hidden. More...
 
- Protected Member Functions inherited from qsf::InheritedObject
 InheritedObject ()
 Default constructor. More...
 
- Protected Member Functions inherited from qsf::Object
 Object ()
 Default constructor. More...
 
- Protected Member Functions inherited from qsf::WeakPtrTarget
 WeakPtrTarget ()
 Default constructor. More...
 
 WeakPtrTarget (const WeakPtrTarget &other)
 Copy constructor. More...
 
 WeakPtrTarget (WeakPtrTarget &&)=delete
 Delete the move constructor, as WeakPtrTarget would need a proper move constructor-implementation that ensures that its pointer gets updated in the WeakPtrBase as well. More...
 
 ~WeakPtrTarget ()
 Destructor. More...
 
void invalidateAllWeakPtr ()
 Invalidate all weak pointers to this object. More...
 
void operator= (const WeakPtrTarget &other)
 Copy operator. More...
 
- Protected Member Functions inherited from qsf::JobProxyMovableObjectRenderingListener
virtual void onObjectRendering (const Component &component, const Ogre::Camera &ogreCamera) override
 Called when an OGRE movable object of the camera to be used for rendering. More...
 
virtual void onObjectRenderingShutdown () override
 Called when an OGRE movable object is no longer be rendered for some time. More...
 
- Protected Member Functions inherited from qsf::MovableObjectRenderingListener
virtual void registerMovableObjectRenderingListener ()
 Register movable object rendering listener. More...
 
virtual void unregisterMovableObjectRenderingListener ()
 Unregister movable object rendering listener. More...
 
virtual void onObjectDestroyed ()
 Movable object has been destroyed. More...
 

Additional Inherited Members

- Public Types inherited from em5::DamageComponent
enum  DamageState {
  DAMAGESTATE_INTACT, DAMAGESTATE_DAMAGE_LEVEL1, DAMAGESTATE_DAMAGE_LEVEL2, DAMAGESTATE_DESTROYED,
  DAMAGESTATE_INVALID
}
 
- Public Types inherited from qsf::Component
enum  TransformChangeFlag {
  TRANSFORM_CHANGE_POSITION = 0x01, TRANSFORM_CHANGE_ROTATION = 0x02, TRANSFORM_CHANGE_SCALE = 0x04, TRANSFORM_CHANGE_TRANSFORM = 0x07,
  TRANSFORM_CHANGE_FOR_SIMULATION = 0x08, TRANSFORM_CHANGE_FOR_ANIMATION = 0x10
}
 
typedef BitFlagSet< uint8, TransformChangeFlagTransformChangeFlags
 
- Public Types inherited from qsf::Object
enum  PropertyOverrideState { PROPERTY_INVALID, PROPERTY_DEFAULT, PROPERTY_OVERRIDE, PROPERTY_REMOVED }
 
enum  SerializationMethod { SERIALIZE_FLAT, SERIALIZE_COMPLETE, SERIALIZE_DIFFERENTIAL, SERIALIZE_IGNORE_UNKNOWN }
 
enum  SerializationMode { MODE_MINIMAL, MODE_COMPATIBLE }
 
- Public Types inherited from qsf::MovableObjectRenderingListener
enum  State { SLEEPING, AWAKE }
 State of the listener. More...
 
- Static Protected Member Functions inherited from em5::DamageComponent
static void exchangeDamageMaterials (qsf::Entity &entity, bool setDamaged)
 
static qsf::GlobalAssetId getDamageMaterialName (qsf::GlobalAssetId originalMaterialGlobalAssetId)
 
- Protected Attributes inherited from em5::DamageComponent
float mPeakFireEnergyPercent
 
- Protected Attributes inherited from qsf::InheritedObject
std::bitset< 128 > mPropertyOverrideFlags
 One bit for each property; if set, the property is overridden. More...
 
- Protected Attributes inherited from qsf::JobProxyMovableObjectRenderingListener
JobProxy mAnimationJobProxy
 Regular animation job proxy; for updates once a frame. More...
 
- Protected Attributes inherited from qsf::MovableObjectRenderingListener
bool mAllowRegistration = true
 

Detailed Description

EMERGENCY 5 hedge component class.

Todo:
  • TODO(fw): A shared base class for trees and hedges would be nice ("em5::VegetationComponent"?)

Definition at line 36 of file HedgeComponent.h.

Constructor & Destructor Documentation

em5::HedgeComponent::HedgeComponent ( qsf::Prototype prototype)
inlineexplicit

Constructor.

Parameters
[in]prototypeThe prototype this component is in, no null pointer allowed

Definition at line 14 of file HedgeComponent-inl.h.

em5::HedgeComponent::~HedgeComponent ( )
inlinevirtual

Destructor.

Definition at line 22 of file HedgeComponent-inl.h.

Member Function Documentation

virtual void em5::HedgeComponent::cleanup ( )
overridevirtual

Clean up the hedge, i.e. resets it to its initial non-chopped state.

Reimplemented from em5::DamageComponent.

void em5::HedgeComponent::cutHedge ( )

Call this method to cut down the hedge.

const qsf::AssetProxy & em5::HedgeComponent::getDestroyedGroundDecalMesh ( ) const
inline

Definition at line 32 of file HedgeComponent-inl.h.

bool em5::HedgeComponent::isReadyForCleanup ( ) const
inlineoverridevirtual

Check if the tree component is ready for cleanup.

Returns
Returns "true" if the component can be cleaned up, "false" otherwise

Reimplemented from em5::DamageComponent.

Definition at line 27 of file HedgeComponent-inl.h.

virtual void em5::HedgeComponent::onFireStarted ( FreeplayEvent freeplayEvent)
overrideprotectedvirtual

Reimplemented from em5::DamageComponent.

virtual void em5::HedgeComponent::onSetDamagedLevel1 ( )
overrideprotectedvirtual

Reimplemented from em5::DamageComponent.

virtual void em5::HedgeComponent::onSetDamagedLevel2 ( )
overrideprotectedvirtual

Reimplemented from em5::DamageComponent.

virtual void em5::HedgeComponent::onSetDestroyed ( )
overrideprotectedvirtual

Reimplemented from em5::DamageComponent.

virtual void em5::HedgeComponent::onSetFireLifePercentage ( float  fireLifePercentage)
overrideprotectedvirtual

Reimplemented from em5::DamageComponent.

virtual void em5::HedgeComponent::onSetIntact ( )
overrideprotectedvirtual

Reimplemented from em5::DamageComponent.

virtual bool em5::HedgeComponent::onStartup ( )
overridevirtual

Startup the component.

Returns
"true" if all went fine, else "false"
Note
  • The default implementation is empty
  • Only components which are part of entities (concrete prototype instances) get started
  • When this method gets called, the properties might still be on default values but it's also possible that properties already have customized values. Take this into account when implementing your method.

Reimplemented from em5::DamageComponent.

virtual void em5::HedgeComponent::serialize ( qsf::BinarySerializer serializer)
overridevirtual

Serialize or deserialize the component using a binary serializer.

Parameters
[in]serializerThe serializer, which can be either in read or write mode

Reimplemented from em5::DamageComponent.

virtual void em5::HedgeComponent::setCustomParametersForFireGlowAndSmutOverlay ( const qsf::MeshComponent meshComponent)
overrideprotectedvirtual

Reimplemented from em5::DamageComponent.

void em5::HedgeComponent::setDestroyedGroundDecalMesh ( const qsf::AssetProxy destroyedGroundDecalMesh)
inline

Definition at line 37 of file HedgeComponent-inl.h.

Member Data Documentation

const uint32 em5::HedgeComponent::COMPONENT_ID
static

"em5::HedgeComponent" unique component ID

Definition at line 44 of file HedgeComponent.h.


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