My Project
 
Loading...
Searching...
No Matches
journal.h
Go to the documentation of this file.
1#pragma once
2
3#include "bundlable.h"
4#include "typedefine.h"
5
6class Journal{
7public:
8 class Feature{
9 public:
10 std::string desc;
11
12 Feature(const std::string& desc)
13 {
14 this->desc = desc;
15 }
17
18 virtual bool operator == (const Feature& other)
19 {
20 return desc.compare(other.desc) == 0;
21 }
22 };
23
31 static Feature GHOST;
33 static Feature TROLL;
34 static Feature IMP;
35
36 class Record :public Bundlable{
37 private:
38 static const std::string FEATURE;
39 static const std::string DEPTH;
40
41 public:
43 int depth;
44
45 Record();
47
48 bool operator <(const Record& another) {
49 return another.depth - depth < 0;
50 }
51
52 virtual void restoreFromBundle(Bundle* bundle);
53 virtual void storeInBundle(Bundle* bundle);
54 virtual std::string getClassName() { return "Journal::Record"; };
55 };
56
58
59 static void reset();
60 static void storeInBundle(Bundle* bundle);
61 static void restoreFromBundle(Bundle* bundle);
62
63 static void add(Feature feature);
64 static void remove(Feature feature);
65private:
66 static const String JOURNAL;
67};
Definition typedefine.h:59
Definition journal.h:8
Feature()
Definition journal.h:16
Feature(const std::string &desc)
Definition journal.h:12
std::string desc
Definition journal.h:10
virtual bool operator==(const Feature &other)
Definition journal.h:18
Record()
Definition journal.cpp:66
virtual void restoreFromBundle(Bundle *bundle)
Definition journal.cpp:77
bool operator<(const Record &another)
Definition journal.h:48
virtual std::string getClassName()
Definition journal.h:54
virtual void storeInBundle(Bundle *bundle)
Definition journal.cpp:83
int depth
Definition journal.h:43
Feature feature
Definition journal.h:42
Definition journal.h:6
static void reset()
Definition journal.cpp:17
static void storeInBundle(Bundle *bundle)
Definition journal.cpp:22
static Feature SACRIFICIAL_FIRE
Definition journal.h:27
static Feature GHOST
Definition journal.h:31
static Feature WELL_OF_HEALTH
Definition journal.h:24
static void restoreFromBundle(Bundle *bundle)
Definition journal.cpp:27
static Feature STATUE
Definition journal.h:30
static Feature TROLL
Definition journal.h:33
static void add(Feature feature)
Definition journal.cpp:35
static void remove(Feature feature)
Definition journal.cpp:48
static Feature WANDMAKER
Definition journal.h:32
static Feature IMP
Definition journal.h:34
static ArrayList< Record > records
Definition journal.h:57
static Feature WELL_OF_AWARENESS
Definition journal.h:25
static Feature ALCHEMY
Definition journal.h:28
static Feature GARDEN
Definition journal.h:29
static Feature WELL_OF_TRANSMUTATION
Definition journal.h:26
std::string String
Definition typedefine.h:8