-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathModelsGameData.h
64 lines (51 loc) · 1.81 KB
/
ModelsGameData.h
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
// Copyright 2009 Isis Innovation Limited
//
// C++ Interface: ModelsGameData
//
// Description: Holds all of the game data for the ModelsGame
//
//
// Author: Robert Castle <[email protected]>, (C) 2009
//
//
#ifndef PTAMMMODELSGAMEDATA_H
#define PTAMMMODELSGAMEDATA_H
#include <vector>
#include <string>
#include "Model3ds.h"
namespace PTAMM {
/**
* This class holds all of the relevant data for the ModelsGame,
* such as the list of models and various bools for game state information.
*
* @author Robert Castle <[email protected]>
*/
class ModelsGameData{
public:
ModelsGameData( std::string sName );
~ModelsGameData();
Model3DS * CurrentModel();
void NextModel();
void PrevModel();
bool AddModel( std::string sModelDir, std::string sFileName, std::string sName, TooN::Vector<3> v3Rotation );
void DeleteCurrentModel();
void DeleteAllModels();
void Reset();
size_t NumModels() { return mvModels.size(); }
const std::vector< Model3DS* > & Models() { return mvModels; }
void Save( std::string sDataFileName );
void Load( std::string sDataFileName );
bool mbHideAR; // Hide the AR
bool mbSnapTo; // Snap to the map points
bool mbHideControls; // Hide the controls
bool mbHidePoints; // Hide the map points
enum DisplayState {BrowserState, ControlState, HiddenState};
DisplayState mDisplayState; // Game display state
private:
std::vector< Model3DS* > mvModels; // The list of models
int mnModelIdx; // The current model index
const double mdVersion; // Current game version
const std::string msName; // Name of the game
};
}
#endif