summaryrefslogtreecommitdiff
path: root/src/T2DLL/T2OutObj.h
blob: f6cec0bb013c58f817893ed888f2472063b38c83 (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
#pragma once
#include "common.h"
#include "T2HaveOutViewObject.h"

enum {
    kOutObjStatus0 = 0,
    kOutObjStatus1
};

class AFX_CLASS_EXPORT T2OutObj : public T2HaveOutViewObject {
public:
	T2OutObj();
	virtual ~T2OutObj();
    virtual unsigned int Idle(T2TowerDoc*);
    virtual void LoadSelf(T2Archive&, T2TowerDoc*);
    virtual void SaveSelf(T2Archive&);
    virtual T2InfoDialog* ShowInfoDialog(T2TowerDoc*);
    virtual void DrawHitMask(T2TowerDoc*);

    virtual int InitOutObj(T2OuterObjDef* def, const RECT& outObjArea, unsigned int valiation);
    virtual void StartBuild(T2TowerDoc*);
    virtual PROCCODE Destruct(T2TowerDoc*, RECT&);
    virtual PROCCODE DoDestruct(T2TowerDoc*, int, CPoint, CPoint, CRect&);
    virtual void GetOutObjArea(RECT&) const;
	virtual void Draw(T2TowerDoc*, const CRect&);

	T2ToolDef* GetToolDef() const { return mToolDef; }
	void SetToolDef(T2ToolDef* def) { mToolDef = def; }

protected:
    friend class T2OuterObjDef;
	friend class T2OutObjArray;
    friend class T2OutObjInfoDialog;
    friend class T2TowerDoc;

    unsigned int mID;
    RECT mOutObjArea;
    int mToolType;
    int _38;
    RECT _3C;
    int _4C;
};