VR-Forces 4.0.4 Class Documentation
include/vrfmodel/multipleHitDamageActuator.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2009 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00008 
00010 
00011 #pragma once
00012 
00013 #include "vrfmodel/damageAdjudicationActuator.h"
00014 
00015 class DtDetonationContext;
00016 class DtMultipleHitDamageActuatorDescriptor;
00017 class DtMultipleHitDamagePSR;
00018 
00022 //
00024 class DT_DLL_vrfmodel DtMultipleHitDamageActuator : 
00025    public DtDamageAdjudicationActuator
00026 {
00027 
00028 public:
00029 
00032    DtMultipleHitDamageActuator(const DtString& name, 
00033       DtVrfObject* owner,
00034       DtSimManager* simManager, 
00035       DtComponentDescriptor* desc = 0,
00036       DtReaderWriterRegistry* parentRegistry = 0);
00037 
00040    virtual ~DtMultipleHitDamageActuator();
00041 
00043    virtual bool init();
00044 
00047    virtual bool createPSR();
00048 
00049    //Override to set up from PSR
00050    virtual void tick();
00051 
00059    //
00068    //
00074    
00076    virtual bool adjudicateDirectDamage(const DtDetonationContext& detonationContext);
00077 
00079    virtual bool adjudicateCollateralDamage(const DtDetonationContext& detonationContext);
00080 
00083    virtual DtString type() const;
00084 
00088    static DtSimComponent * creator(const DtString& name, 
00089       DtVrfObject* owner,
00090       DtSimManager* simManager, 
00091       DtComponentDescriptor* desc = 0,
00092       DtReaderWriterRegistry* parentRegistry = 0);
00093 
00094 protected:
00095 
00099    //
00103    //
00107    virtual bool getRangeEntry(const DtDetonationContext& detonationContext,
00108       DtPrbRangeTableEntry& rangeEntry, bool isDirectDamage = true);
00109 
00112    //
00114    virtual bool isCatastrophicallyKilled();
00115 
00117    //
00119    virtual bool isFirepowerKilled();
00120 
00122    virtual bool isMobilityKilled();
00123 
00124 protected:
00125    
00128    DtMultipleHitDamageActuatorDescriptor* myMultipleHitDamageComponentDescriptor;
00129 
00131    int               myCurrentHitPoints;
00132    DtMultipleHitDamagePSR *   myProcessState;
00133    bool              myFirstTick;
00134 
00135 private:
00136    
00138    DtMultipleHitDamageActuator();
00139 
00141    DtMultipleHitDamageActuator(const DtMultipleHitDamageActuator& orig);
00142 
00144    DtMultipleHitDamageActuator& operator=(const DtMultipleHitDamageActuator& orig);
00145 
00146 };
00147 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)