summaryrefslogtreecommitdiff
path: root/src/T2DLL/T2DlgItemStressGage.cpp
blob: 0f6f106800643ff1c65f059e893988f0bf5db7c9 (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
#include "T2DlgItemStressGage.h"
#include "T2People.h"
#include "T2PeopleDef.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

T2DlgItemStressGage::T2DlgItemStressGage(T2TowerDoc* towerDoc, T2ImageObj* imageObj, CPalette* palette)
    : T2DlgItemGageBase(towerDoc, imageObj, palette)
    , mPeople(NULL)
{
}

/*virtual*/ int T2DlgItemStressGage::GetMinValue() {
    return 0;
}

/*virtual*/ int T2DlgItemStressGage::GetMaxValue() {
    return (mPeople && mPeople->GetMatterDef()) ? ((T2PeopleDef *) mPeople->GetMatterDef())->GetStressMax() : GetMinValue();
}

/*virtual*/ int T2DlgItemStressGage::GetValue() {
    return mPeople ? mPeople->GetStress() : GetMinValue();
}

/*virtual*/ int T2DlgItemStressGage::GetBlueValue() {
    return (mPeople && mPeople->GetMatterDef()) ? ((T2PeopleDef *) mPeople->GetMatterDef())->GetStressBlueLimit() : GetMinValue();
}

/*virtual*/ int T2DlgItemStressGage::GetYellowValue() {
    return (mPeople && mPeople->GetMatterDef()) ? ((T2PeopleDef *) mPeople->GetMatterDef())->GetStressYellowLimit() : GetMinValue();
}

void T2DlgItemStressGage::SetPeople(T2People* people) {
    mPeople = people;
}

/*virtual*/ COLORREF T2DlgItemStressGage::GetGageColor(int value) {
    return (value <= GetBlueValue()) ? PALETTERGB(0, 0, 255) :
           (value <= GetYellowValue()) ? PALETTERGB(255, 255, 0) :
           PALETTERGB(255, 0, 0);
}

/*virtual*/ BOOL T2DlgItemStressGage::IsDrawInterior() {
    return (mPeople != NULL);
}