VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/munLoader.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: munLoader.h,v $ $Revision: 1.7 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00017 #ifndef DtVrfMunitionLoader_H_
00018 #define DtVrfMunitionLoader_H_
00019 
00020 #include <vlpi/disEnums.h>
00021 #include "vrfcore/exClock.h"
00022 #include "vrfutil/rdrWritr.h"
00023 #include <vlutil/vlString.h>
00024 #include "vrfutil/simMunition.h"
00025 #include "vrfobjcore/simCmpnt.h"
00026 #include "vrfutil/rwInt.h"
00027 #include "vrfutil/rwReal.h"
00028 
00029 
00033 
00034 #include "vrfobjcore/vrfobjcoreDefines.h"
00035 class DT_DLL_vrfobjcore DtVrfMunitionLoader : public DtReaderWriter
00036 {
00037 
00038 public:
00039    DtVrfMunitionLoader(const DtString& rwName = DtString::nullString(), 
00040       DtReaderWriterRegistry*  parentRegistry = 0);
00041 
00042    DtVrfMunitionLoader(const DtVrfMunitionLoader& orig,
00043       const DtString& rwName = DtString::nullString(), 
00044       DtReaderWriterRegistry*  parentRegistry = 0);
00045 
00046 
00047    const DtVrfMunitionLoader& operator=( 
00048       const DtVrfMunitionLoader& orig);
00049 
00050    virtual ~DtVrfMunitionLoader();
00051 
00059    virtual void tick(const DtSimMunition& correctMunition, 
00060       DtDetonatorFuze correctFuze, DtTime currentTime, 
00061       int roundsAvailable = 1);
00062 
00066    virtual void load(DtTime startLoadTime, const DtSimMunition& munition,
00067       DtDetonatorFuze fuze);
00068 
00074    virtual void loadComplete(int roundsAvailable);
00075 
00078    virtual void unload(DtTime startUnloadTime);
00079 
00081    virtual void unload();
00082 
00084    virtual bool isLoading() const;
00085 
00087    virtual bool isUnLoading() const;
00088 
00090    virtual bool isLoaded() const;
00091 
00096    virtual bool isUnloaded() const;
00097 
00098    virtual const DtSimMunition& currentMunition() const;
00099    virtual void setCurrentMunition(const DtSimMunition& currentMunition);
00100 
00101    virtual DtDetonatorFuze currentFuze() const;
00102    virtual void setCurrentFuze(DtDetonatorFuze currentFuze);
00103 
00106    virtual double completeLoadTime() const;
00107    virtual void setCompleteLoadTime(double completeLoadTime);
00108 
00111    virtual double completeUnloadTime() const;
00112    virtual void setCompleteUnloadTime(double completeUnloadTime);
00113 
00115    virtual double loadAmmoTime() const;
00117    virtual void setLoadAmmoTime(double loadAmmoTime);
00118 
00120    virtual double unloadAmmoTime() const;
00122    virtual void setUnloadAmmoTime(double unloadAmmoTime);
00123 
00127    virtual void setRoundsPerMagazine(const int nRounds);
00128    virtual int roundsPerMagazine() const;
00129 
00132    virtual int roundsLeftInMagazine() const;
00134    virtual void useRounds(const int nRounds);
00135 
00138    virtual void setConsoleWarn(DtOutputStream * const warnStream);
00139    virtual void setConsoleDebug(DtOutputStream * const debugStream);
00140 
00141 protected:
00142 
00143    enum LoadState 
00144    {
00145       Loading,
00146       Unloading,
00147       Unloaded,
00148       Loaded
00149    };
00150 
00151    DtRwInt            myState;
00152 
00153    DtOutputStream *myConsoleWarn;
00154    DtOutputStream *myConsoleDebug;
00155 
00159    DtSimMunition      myCurrentMunition;
00160    DtRwInt            myCurrentFuze;
00161 
00162    DtRwReal           myCompleteLoadTime;
00163    DtRwReal           myCompleteUnloadTime;
00164 
00166    DtReal           myLoadAmmoTime;
00168    DtReal           myUnloadAmmoTime;
00169 
00172    DtRwInt          myRoundsPerMagazine;
00174    DtRwInt          myRoundsLeftInMagazine;
00175 
00176 };
00177 
00178 #endif

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)