blob: 1fd2f7ab572175d0617d48e2f8d9a29e84bc539a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
/*
Copyright (C) 2012 Sebastian Herbord. All rights reserved.
This file is part of Mod Organizer.
Mod Organizer is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Mod Organizer is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef SAVEGAME_H
#define SAVEGAME_H
#include <QString>
#include <QObject>
#include <QImage>
#include <QMetaType>
#include <QFile>
#include <QStringList>
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
/**
* @brief represents a single save game
**/
class SaveGame : public QObject {
Q_OBJECT
public:
/**
* @brief construct an empty object
**/
SaveGame(QObject *parent = 0);
/**
* @brief construct a save game and immediately read out information from the file
*
* @param filename absolute path of the save game file
**/
SaveGame(QObject *parent, const QString &filename);
SaveGame(const SaveGame& reference);
SaveGame& operator=(const SaveGame &reference);
~SaveGame();
/**
* @brief read out information from a savegame
*
* @param fileName absolute path of the save game file
**/
virtual void readFile(const QString) { }
/**
* @return filename of this savegame
*/
const QString &fileName() const { return m_FileName; }
/**
* @return a list of additional files that belong to this savegame
*/
virtual QStringList attachedFiles() const;
/**
* @return a list of all files that belong to this savegame
*/
virtual QStringList saveFiles() const;
/**
* @return name of the player character
**/
const QString &pcName() const { return m_PCName; }
/**
* @return level of the player character
**/
unsigned short pcLevel() const { return m_PCLevel; }
/**
* @return location of the player character
**/
const QString &pcLocation() const { return m_PCLocation; }
/**
* @return index of the save game
**/
unsigned long saveNumber() const { return m_SaveNumber; }
/**
* @return creation time of the save game
**/
SYSTEMTIME creationTime() const { return m_CreationTime; }
/**
* @return screenshot in the savegame
**/
const QImage &screenshot() const { return m_Screenshot; }
private:
void setCreationTime(const QString &fileName);
protected:
QString m_FileName;
QString m_PCName;
unsigned short m_PCLevel;
QString m_PCLocation;
unsigned long m_SaveNumber;
SYSTEMTIME m_CreationTime;
QImage m_Screenshot;
};
#endif // SAVEGAME_H
|