/cs/engine/xrGame/ui/UIMainIngameWnd.h
https://github.com/Armada651/xray · C Header · 167 lines · 100 code · 34 blank · 33 comment · 0 complexity · 7b4dd24919fb6dff34f9b4f6806ba42f MD5 · raw file
- #ifndef UI_MAIN_INGAME_WND_H_INCLUDED
- #define UI_MAIN_INGAME_WND_H_INCLUDED
- #include "UIProgressBar.h"
- #include "UIGameLog.h"
- #include "UICarPanel.h"
- #include "UIMotionIcon.h"
- #include "UIZoneMap.h"
- #include "HudSound.h"
- #include "xrServerEntities/alife_space.h"
- class CUIPdaMsgListItem;
- class CLAItem;
- class CUIZoneMap;
- class CUIScrollView;
- struct GAME_NEWS_DATA;
- class CActor;
- class CWeapon;
- class CMissile;
- class CInventoryItem;
- class CUIHudStatesWnd;
- class CUIMainIngameWnd: public CUIWindow
- {
- public:
- CUIMainIngameWnd();
- virtual ~CUIMainIngameWnd();
- virtual void Init();
- virtual void Draw();
- virtual void Update();
- bool OnKeyboardPress(int dik);
- protected:
-
- CUIStatic UIStaticDiskIO;
- // CUIStatic UIStaticHealth;
- // CUIStatic UIStaticArmor;
- CUIStatic UIStaticQuickHelp;
- // CUIProgressBar UIHealthBar;
- // CUIProgressBar UIArmorBar;
- // CUICarPanel UICarPanel;
- CUIMotionIcon UIMotionIcon;
- CUIZoneMap* UIZoneMap;
- //èêîíêà, ïîêàçûâàþùàÿ êîëè÷åñòâî àêòèâíûõ PDA
- // CUIStatic UIPdaOnline;
-
- CUIHudStatesWnd* m_ui_hud_states;
- public:
- IC void ShowZoneMap( bool status ) { UIZoneMap->visible = status; }
- void DrawZoneMap() { UIZoneMap->Render(); }
- void UpdateZoneMap() { UIZoneMap->Update(); }
-
- CUIHudStatesWnd* get_hud_states() { return m_ui_hud_states; } //temp
- void OnSectorChanged (int sector);
- protected:
- // 5 ñòàòèêîâ äëÿ îòîáðàæåíèÿ èêîíîê:
- // - ñëîìàííîãî îðóæèÿ
- // - ðàäèàöèè
- // - ðàíåíèÿ
- // - ãîëîäà
- // - óñòàëîñòè
- CUIStatic UIWeaponJammedIcon;
- // CUIStatic UIRadiaitionIcon;
- // CUIStatic UIWoundIcon;
- // CUIStatic UIStarvationIcon;
- // CUIStatic UIPsyHealthIcon;
- CUIStatic UIInvincibleIcon;
- // CUIStatic UISleepIcon;
- CUIStatic UIArtefactIcon;
- CUIScrollView* m_UIIcons;
- CUIWindow* m_pMPChatWnd;
- CUIWindow* m_pMPLogWnd;
- public:
-
- // Åíóìû ñîîòâåòñâóþùèå ïðåäóïðåæäàþùèì èêîíêàì
- enum EWarningIcons
- {
- ewiAll = 0,
- ewiWeaponJammed,
- // ewiRadiation,
- // ewiWound,
- // ewiStarvation,
- // ewiPsyHealth,
- // ewiSleep,
- ewiInvincible,
- ewiArtefact,
- };
- void SetMPChatLog (CUIWindow* pChat, CUIWindow* pLog);
- // Çàäàåì öâåò ñîîòâåòñòâóþùåé èêîíêå
- void SetWarningIconColor (EWarningIcons icon, const u32 cl);
- void TurnOffWarningIcon (EWarningIcons icon);
- // Ïîðîãè èçìåíåíèÿ öâåòà èíäèêàòîðîâ, çàãðóæàåìûå èç system.ltx
- typedef xr_map<EWarningIcons, xr_vector<float> > Thresholds;
- typedef Thresholds::iterator Thresholds_it;
- Thresholds m_Thresholds;
- // Åíóì ïåðå÷èñëåíèÿ âîçìîæíûõ ìèãàþùèõ èêîíîê
- enum EFlashingIcons
- {
- efiPdaTask = 0,
- efiMail
- };
-
- void SetFlashIconState_ (EFlashingIcons type, bool enable);
- void AnimateContacts (bool b_snd);
- HUD_SOUND_ITEM m_contactSnd;
- void ReceiveNews (GAME_NEWS_DATA* news);
-
- protected:
- void SetWarningIconColorUI (CUIStatic* s, const u32 cl);
- void InitFlashingIcons (CUIXml* node);
- void DestroyFlashingIcons ();
- void UpdateFlashingIcons ();
- // void UpdateActiveItemInfo ();
- // void SetAmmoIcon (const shared_str& señt_name);
- // first - èêîíêà, second - àíèìàöèÿ
- using FlashingIcons = xr_map<EFlashingIcons, CUIStatic*>;
- using FlashingIcons_it = FlashingIcons::iterator;
- FlashingIcons m_FlashingIcons;
- // CWeapon* m_pWeapon;
- CMissile* m_pGrenade;
- CInventoryItem* m_pItem;
- // Îòîáðàæåíèå ïîäñêàçîê ïðè íàâåäåíèè ïðèöåëà íà îáúåêò
- void RenderQuickInfos();
- public:
- // CUICarPanel& CarPanel (){return UICarPanel;};
- CUIMotionIcon& MotionIcon (){return UIMotionIcon;}
- void OnConnected ();
- void reset_ui ();
- protected:
- CInventoryItem* m_pPickUpItem;
- CUIStatic UIPickUpItemIcon;
- float m_iPickUpItemIconX;
- float m_iPickUpItemIconY;
- float m_iPickUpItemIconWidth;
- float m_iPickUpItemIconHeight;
- void UpdatePickUpItem();
- public:
- void SetPickUpItem (CInventoryItem* PickUpItem);
- #ifdef DEBUG
- void draw_adjust_mode ();
- #endif
- };
- #endif // UI_MAIN_INGAME_WND_H_INCLUDED