59 lines
1.7 KiB
C++
Executable File
59 lines
1.7 KiB
C++
Executable File
/*! \file PFSimpleActionState.h
|
|
\brief Implementation of ActionState that has only a single
|
|
random generator.
|
|
*/
|
|
/**********************************************************************
|
|
*<
|
|
CREATED BY: Oleg Bayborodin
|
|
|
|
HISTORY: created 10-25-02
|
|
|
|
*> Copyright (c) 2001, All Rights Reserved.
|
|
**********************************************************************/
|
|
|
|
#ifndef _PFSIMPLEACTIONSTATE_H_
|
|
#define _PFSIMPLEACTIONSTATE_H_
|
|
|
|
#include "max.h"
|
|
|
|
#include "PFExport.h"
|
|
#include "RandGenerator.h"
|
|
#include "IPFActionState.h"
|
|
#include "PFClassIDs.h"
|
|
|
|
class PFSimpleActionState: public IObject,
|
|
public IPFActionState
|
|
{
|
|
public:
|
|
// from IObject interface
|
|
int NumInterfaces() const { return 1; }
|
|
BaseInterface* GetInterfaceAt(int index) const { return ((index == 0) ? (IPFActionState*)this : NULL); }
|
|
BaseInterface* GetInterface(Interface_ID id);
|
|
void DeleteIObject();
|
|
|
|
// From IPFActionState
|
|
Class_ID GetClassID() { return PFSimpleActionState_Class_ID; }
|
|
ULONG GetActionHandle() const { return actionHandle(); }
|
|
void SetActionHandle(ULONG handle) { _actionHandle() = handle; }
|
|
IOResult Save(ISave* isave) const;
|
|
IOResult Load(ILoad* iload);
|
|
|
|
public:
|
|
// const access to class members
|
|
const RandGenerator* randGen() const { return &m_randGen; }
|
|
// access to class members
|
|
RandGenerator* _randGen() { return &m_randGen; }
|
|
|
|
protected:
|
|
// const access to class members
|
|
ULONG actionHandle() const { return m_actionHandle; }
|
|
// access to class members
|
|
ULONG& _actionHandle() { return m_actionHandle; }
|
|
|
|
private:
|
|
ULONG m_actionHandle;
|
|
RandGenerator m_randGen;
|
|
};
|
|
|
|
#endif // _PFSIMPLEACTIONSTATE_H_
|