IPFActionState.h

Go to the documentation of this file.
00001 
00011 /**********************************************************************
00012  *<
00013     CREATED BY: Oleg Bayborodin
00014 
00015     HISTORY: created 10-25-01
00016 
00017  *> Copyright (c) 2001, All Rights Reserved.
00018  **********************************************************************/
00019 
00020 #pragma once
00021 
00022 #include "..\ifnpub.h"
00023 
00024 // interface ID
00025 #define PFACTIONSTATE_INTERFACE Interface_ID(0x23a31c4e, 0x6a2b2c68)
00026 
00027 #define GetPFActionStateInterface(obj) (IPFActionState*)(obj->GetInterface(PFACTIONSTATE_INTERFACE))
00028 
00029 class IPFActionState : public FPMixinInterface
00030 {
00031 public:
00032     // chunk IDs for saving and loading
00033     // developer: you may have your own chunk IDs
00034     // they are factored here for convenience
00035     enum {  kChunkActionHandle  = 4100,
00036             kChunkRandGen       = 4200,
00037             kChunkRandGen2      = 4210,
00038             kChunkRandGen3      = 4220,
00039             kChunkRandGen4      = 4230,
00040             kChunkRandGen5      = 4240,
00041             kChunkData          = 4300,
00042             kChunkData2         = 4310,
00043             kChunkData3         = 4320,
00044             kChunkData4         = 4330,
00045             kChunkData5         = 4340,
00046     };
00047 
00048 public:
00049 
00060     virtual Class_ID GetClassID() = 0;
00061 
00065     virtual ULONG GetActionHandle() const = 0;
00066 
00070     virtual void SetActionHandle(ULONG actionHandle) = 0;
00071 
00075     virtual IOResult Save(ISave* isave) const = 0;
00076 
00080     virtual IOResult Load(ILoad* iload) = 0;
00081 
00085     FPInterfaceDesc* GetDesc() { return GetDescByID(PFACTIONSTATE_INTERFACE); 
00086 
00088 }
00089 };
00090 
00091 
00092