Fission FSN
Loading...
Searching...
No Matches
gfICatalogueEntry.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: gfICatalogueEntry.h
4*
5* Purpose: Base class for shop hierarchies
6*
7*********************************************************************/
8
9#ifndef gfICatalogueEntryhdr
10#define gfICatalogueEntryhdr
11
12#include <vector>
13
14#include <fsCore/fsBaseTypes.h>
15#include <fsCore/fsStr.h>
16
18{
20
21public:
22
23#if !defined fsRELEASE
24 virtual fsS32 totalCostGet() const { return 0; };
25#endif
26
27 const fsStr& nameGet() const { return mName; }
28
29 fsS32 numChildrenGet() const;
30 const gfICatalogueEntry* childGetByIndex(fsS32 pIndex) const;
31 const gfICatalogueEntry* parentGet() const;
32
33 fsStr textKeyGet() const;
35
36 virtual ~gfICatalogueEntry();
37
38protected:
39
40 void childAdd(gfICatalogueEntry* pChild);
41 gfICatalogueEntry* const childFind(const fsStr& pName) const;
42
43 gfICatalogueEntry(const fsStr& pName, const fsStr& pTextKey, const fsStr& pDescriptionKey);
44
46
47 std::vector<gfICatalogueEntry*> mChildren;
48
49private:
50
51 const fsStr mName;
52 const fsStr mTextKey;
53 const fsStr mDescriptionKey;
54
55 static fsBool isDuplicateName(const fsStr& pName);
56 void childrenDestroy();
57};
58
59#endif
Definition fsStr.h:23
Definition gfICatalogueEntry.h:18
std::vector< gfICatalogueEntry * > mChildren
Definition gfICatalogueEntry.h:47
virtual ~gfICatalogueEntry()
Definition gfICatalogueEntry.cpp:82
virtual fsS32 totalCostGet() const
Definition gfICatalogueEntry.h:24
const gfICatalogueEntry * childGetByIndex(fsS32 pIndex) const
Definition gfICatalogueEntry.cpp:12
const gfICatalogueEntry * parentGet() const
Definition gfICatalogueEntry.cpp:18
const fsStr & nameGet() const
Definition gfICatalogueEntry.h:27
friend class gfCCatalogueCatalogue
Definition gfICatalogueEntry.h:19
fsStr descriptionKeyGet() const
Definition gfICatalogueEntry.cpp:28
fsS32 numChildrenGet() const
Definition gfICatalogueEntry.cpp:7
gfICatalogueEntry(const fsStr &pName, const fsStr &pTextKey, const fsStr &pDescriptionKey)
Definition gfICatalogueEntry.cpp:74
fsStr textKeyGet() const
Definition gfICatalogueEntry.cpp:23
void childAdd(gfICatalogueEntry *pChild)
Definition gfICatalogueEntry.cpp:33
gfICatalogueEntry *const childFind(const fsStr &pName) const
Definition gfICatalogueEntry.cpp:42
gfICatalogueEntry * mParent
Definition gfICatalogueEntry.h:45
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20