-
Notifications
You must be signed in to change notification settings - Fork 0
/
hscloaking.h
83 lines (60 loc) · 2.16 KB
/
hscloaking.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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
// -----------------------------------------------------------------------
// $Id: hscloaking.h,v 1.6 2006/04/04 12:56:10 mark Exp $
// -----------------------------------------------------------------------
#if !defined(__HSCLOAKING_H__)
#define __HSCLOAKING_H__
// Library Includes
#include "hseng.h"
//! Cloaking Device, Generic system with some enhancements.
class CHSSysCloak:public CHSEngSystem
{
public:
//! Default constructor -- init values, set sys type
CHSSysCloak();
//! Default deconstructor
virtual ~CHSSysCloak();
//! Set the specified system attribute to the given value
HS_BOOL8 SetAttributeValue(const HS_INT8 * pcAttrName,
const HS_INT8 * pcValue);
//! Save cloaking system info to the specified file
void SaveToFile(FILE * fp);
//! Return the list of modifiable attribs
void GetAttributeList(CHSAttributeList & rlistAttrs);
//! Get the current value of the given attribute
HS_BOOL8 GetAttributeValue(const HS_INT8 * pcAttrName,
CHSVariant & rvarReturnVal,
HS_BOOL8 bAdjusted,
HS_BOOL8 bLocalOnly = false);
//! Return the current efficiency of the cloaking sys
HS_FLOAT32 GetEfficiency(HS_BOOL8 bAdjusted);
//! Is the system engaged?
int GetEngaged();
//! Toggle if the system is engaged or not
void SetEngaged(HS_BOOL8 bEngage);
//! Check to see if the system is currently being engaged
HS_BOOL8 IsEngaging();
//! Singular cycle processes the engaging count, nothing else
void DoCycle();
//! Set the current efficiency of the cloaking sys
void SetEfficiency(float fValue)
{
if (!m_efficiency)
{
m_efficiency = new float;
}
*m_efficiency = fValue;
}
//! Return pointer to the raw efficiency member
float *GetRawEfficiency()
{
return m_efficiency;
}
protected:
//! Efficiency of the cloaking device (0 - 100)
float *m_efficiency;
//! Engaging count handler
float m_engaging;
//! Engaged toggle
int m_engaged;
};
#endif // __HSCLOAKING_H__