#pragma once #include "common.h" #include "LAttachment.h" class InfoBarMsgItem; enum { kAlertType0 = 0, kAlertType1 = 1, kAlertType2 = 2, kAlertType3 = 3 }; class AFX_CLASS_EXPORT T2TowerMessage : public LAttachment { public: T2TowerMessage(HINSTANCE inModuleHandle, T2TowerDoc* inDoc); virtual ~T2TowerMessage(); virtual void ExecuteSelf(unsigned int inMessage, void* ioData); void InfoBarMessage(const CString& inText, int inDelay, const char* inSoundID); void EquipBalloonMessage(const CString& inText, T2Equip* inEquip); void PeopleBalloonMessage(const CString& inText, T2People* inPeople); void EquipBalloonMessage(const CString& inText, POINT inPt); void BuildErr(const CString&); void BuildErr(unsigned int inID, T2EquipDef* inDef); BOOL GetBuildErrString(unsigned int inID, CString& outStr); void ObjectBalloonMessage(const CString& inText, const RECT& inRect); void InfoDialogMessage(const CString& inText, int inID, int inDelay); void AleatMessage(const CString& inText, int inAlertType); void SpendTime(); void SpendTime2(); void CancelInfoBarMessage(const CString& inText); void PassiveInfoBarMessage(const char* inText, int inDelay, const char* inSoundID); void SetCaptureRect(RECT inRect); private: void SetInfoBarMsg(InfoBarMsgItem* inItem); CWnd* FindFloatingWindow(int inID); T2TowerDoc *mDocument; int _14; HINSTANCE mModuleHandle; LArray *mInfoBarMsgItems; LArray *mEquipBalloonMessages; LArray *mObjectBalloonMessages; BOOL mHasCapture; RECT mCaptureRect; }; class InfoBarMsgItem { public: InfoBarMsgItem(const CString &inText, int inDelay, const char *inSoundID); ~InfoBarMsgItem(); CString mText; int mDelay; unsigned int mEndTicks; CString mSoundID; };