Initial commit.
This commit is contained in:
65
code/RMG/RM_Objective.h
Normal file
65
code/RMG/RM_Objective.h
Normal file
@@ -0,0 +1,65 @@
|
||||
#pragma once
|
||||
#if !defined(RM_OBJECTIVE_H_INC)
|
||||
#define RM_OBJECTIVE_H_INC
|
||||
|
||||
#ifdef DEBUG_LINKING
|
||||
#pragma message("...including RM_Objective.h")
|
||||
#endif
|
||||
|
||||
class CRMObjective
|
||||
{
|
||||
protected:
|
||||
|
||||
bool mCompleted; // Is objective completed?
|
||||
bool mActive; // set to false if the objective requires another objective to be met first
|
||||
int mPriority; // sequence in which objectives need to be completed
|
||||
int mOrderIndex; // objective index in ui
|
||||
int mCompleteSoundID; // sound for when objective is finished
|
||||
string mMessage; // message outputed when objective is completed
|
||||
string mDescription; // description of objective
|
||||
string mInfo; // more info for objective
|
||||
string mName; // name of objective
|
||||
string mTrigger; // trigger associated with objective
|
||||
|
||||
public:
|
||||
|
||||
CRMObjective(CGPGroup *group);
|
||||
~CRMObjective(void) {}
|
||||
|
||||
bool Link (void);
|
||||
|
||||
bool IsCompleted (void) const { return mCompleted; }
|
||||
bool IsActive (void) const { return mActive; }
|
||||
|
||||
void Activate (void) { mActive = true; }
|
||||
void Complete (bool comp) { mCompleted = comp;}
|
||||
|
||||
// Get methods
|
||||
int GetPriority(void){return mPriority;}
|
||||
int GetOrderIndex(void) { return mOrderIndex; }
|
||||
const char* GetMessage(void) { return mMessage.c_str(); }
|
||||
const char* GetDescription(void) { return mDescription.c_str(); }
|
||||
const char* GetInfo(void) { return mInfo.c_str(); }
|
||||
const char* GetName(void) { return mName.c_str(); }
|
||||
const char* GetTrigger(void) { return mTrigger.c_str(); }
|
||||
int CompleteSoundID() { return mCompleteSoundID; };
|
||||
|
||||
// Set methods
|
||||
void SetPriority(int priority){mPriority = priority;}
|
||||
void SetOrderIndex(int order) { mOrderIndex = order; }
|
||||
void SetMessage(const char* msg) { mMessage = msg; }
|
||||
void SetDescription(const char* desc) { mDescription = desc; }
|
||||
void SetInfo(const char* info) { mInfo = info; }
|
||||
void SetName(const char* name) { mName = name; }
|
||||
void SetTrigger(const char* name) { mTrigger = name; }
|
||||
|
||||
private:
|
||||
|
||||
// CTriggerAriocheObjective* FindRandomTrigger ( );
|
||||
};
|
||||
|
||||
typedef list<CRMObjective *>::iterator rmObjectiveIter_t;
|
||||
typedef list<CRMObjective *> rmObjectiveList_t;
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user