-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCShotPowerIndicator.h
81 lines (70 loc) · 1.66 KB
/
CShotPowerIndicator.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
#ifndef H_SHOT_POWER_INDICATOR___
#define H_SHOT_POWER_INDICATOR___
// ===================================================================
// CShotPowerIndicator.h
// パワーの目安線を表示するクラス
// ===================================================================
#include <windows.h>
#include <TCHAR.h>
#include "util.h"
#include "../include/define.h"
#include "../lib/DXUT/dxstdafx.h"
#include "../lib/DXUT/DXUT.h"
#include "resource.h"
class CShotPowerIndicator
{
public:
CShotPowerIndicator()
{
m_nCX = 0;
m_nID = -1;
p_pDialog = NULL;
m_pSprite = NULL;
SetRectEmpty(&m_rcIndicateRange);
};
virtual ~CShotPowerIndicator() { Destroy(); };
virtual BOOL Create(CDXUTDialog* pDialog, int nID, int nResourceIndex, RECT* prcIndicateRange, RECT* prcCntRange, RECT* prcTexture);
virtual void Destroy()
{
if (m_bCreated)
{
CDXUTControl* pControl = p_pDialog->GetControl(m_nID);
if (pControl)
p_pDialog->RemoveControl(m_nID);
m_bCreated = FALSE;
}
m_nID = -1;
p_pDialog = NULL;
m_pSprite = NULL;
SetRectEmpty(&m_rcIndicateRange);
};
virtual void OnMouseClick(int nX, int nY);
virtual void SetVisible(bool value)
{
if (m_bCreated)
m_pSprite->SetVisible(value);
};
virtual bool GetVisible()
{
if (m_bCreated)
return m_pSprite->GetVisible();
return false;
};
int GetCXForView(void) {
if (m_nCX == 0)
return 0;
return (int)((float)(m_nCX + 1) / (float)MAX_SHOT_INDICATOR * (float)MAX_SHOT_POWER);
};
#ifdef HOGE
int GetPosX() { return m_pSprite->m_x; };
#endif
protected:
int m_nCX;
BOOL m_bCreated;
CDXUTDialog* p_pDialog;
int m_nID;
CDXUTSprite* m_pSprite;
RECT m_rcIndicateRange;
RECT m_rcControl;
};
#endif