/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

  1. #ifndef UI_MAIN_INGAME_WND_H_INCLUDED
  2. #define UI_MAIN_INGAME_WND_H_INCLUDED
  3. #include "UIProgressBar.h"
  4. #include "UIGameLog.h"
  5. #include "UICarPanel.h"
  6. #include "UIMotionIcon.h"
  7. #include "UIZoneMap.h"
  8. #include "HudSound.h"
  9. #include "xrServerEntities/alife_space.h"
  10. class CUIPdaMsgListItem;
  11. class CLAItem;
  12. class CUIZoneMap;
  13. class CUIScrollView;
  14. struct GAME_NEWS_DATA;
  15. class CActor;
  16. class CWeapon;
  17. class CMissile;
  18. class CInventoryItem;
  19. class CUIHudStatesWnd;
  20. class CUIMainIngameWnd: public CUIWindow
  21. {
  22. public:
  23. CUIMainIngameWnd();
  24. virtual ~CUIMainIngameWnd();
  25. virtual void Init();
  26. virtual void Draw();
  27. virtual void Update();
  28. bool OnKeyboardPress(int dik);
  29. protected:
  30. CUIStatic UIStaticDiskIO;
  31. // CUIStatic UIStaticHealth;
  32. // CUIStatic UIStaticArmor;
  33. CUIStatic UIStaticQuickHelp;
  34. // CUIProgressBar UIHealthBar;
  35. // CUIProgressBar UIArmorBar;
  36. // CUICarPanel UICarPanel;
  37. CUIMotionIcon UIMotionIcon;
  38. CUIZoneMap* UIZoneMap;
  39. //èêîíêà, ïîêàçûâàþùàÿ êîëè÷åñòâî àêòèâíûõ PDA
  40. // CUIStatic UIPdaOnline;
  41. CUIHudStatesWnd* m_ui_hud_states;
  42. public:
  43. IC void ShowZoneMap( bool status ) { UIZoneMap->visible = status; }
  44. void DrawZoneMap() { UIZoneMap->Render(); }
  45. void UpdateZoneMap() { UIZoneMap->Update(); }
  46. CUIHudStatesWnd* get_hud_states() { return m_ui_hud_states; } //temp
  47. void OnSectorChanged (int sector);
  48. protected:
  49. // 5 ñòàòèêîâ äëÿ îòîáðàæåíèÿ èêîíîê:
  50. // - ñëîìàííîãî îðóæèÿ
  51. // - ðàäèàöèè
  52. // - ðàíåíèÿ
  53. // - ãîëîäà
  54. // - óñòàëîñòè
  55. CUIStatic UIWeaponJammedIcon;
  56. // CUIStatic UIRadiaitionIcon;
  57. // CUIStatic UIWoundIcon;
  58. // CUIStatic UIStarvationIcon;
  59. // CUIStatic UIPsyHealthIcon;
  60. CUIStatic UIInvincibleIcon;
  61. // CUIStatic UISleepIcon;
  62. CUIStatic UIArtefactIcon;
  63. CUIScrollView* m_UIIcons;
  64. CUIWindow* m_pMPChatWnd;
  65. CUIWindow* m_pMPLogWnd;
  66. public:
  67. // Åíóìû ñîîòâåòñâóþùèå ïðåäóïðåæäàþùèì èêîíêàì
  68. enum EWarningIcons
  69. {
  70. ewiAll = 0,
  71. ewiWeaponJammed,
  72. // ewiRadiation,
  73. // ewiWound,
  74. // ewiStarvation,
  75. // ewiPsyHealth,
  76. // ewiSleep,
  77. ewiInvincible,
  78. ewiArtefact,
  79. };
  80. void SetMPChatLog (CUIWindow* pChat, CUIWindow* pLog);
  81. // Çàäàåì öâåò ñîîòâåòñòâóþùåé èêîíêå
  82. void SetWarningIconColor (EWarningIcons icon, const u32 cl);
  83. void TurnOffWarningIcon (EWarningIcons icon);
  84. // Ïîðîãè èçìåíåíèÿ öâåòà èíäèêàòîðîâ, çàãðóæàåìûå èç system.ltx
  85. typedef xr_map<EWarningIcons, xr_vector<float> > Thresholds;
  86. typedef Thresholds::iterator Thresholds_it;
  87. Thresholds m_Thresholds;
  88. // Åíóì ïåðå÷èñëåíèÿ âîçìîæíûõ ìèãàþùèõ èêîíîê
  89. enum EFlashingIcons
  90. {
  91. efiPdaTask = 0,
  92. efiMail
  93. };
  94. void SetFlashIconState_ (EFlashingIcons type, bool enable);
  95. void AnimateContacts (bool b_snd);
  96. HUD_SOUND_ITEM m_contactSnd;
  97. void ReceiveNews (GAME_NEWS_DATA* news);
  98. protected:
  99. void SetWarningIconColorUI (CUIStatic* s, const u32 cl);
  100. void InitFlashingIcons (CUIXml* node);
  101. void DestroyFlashingIcons ();
  102. void UpdateFlashingIcons ();
  103. // void UpdateActiveItemInfo ();
  104. // void SetAmmoIcon (const shared_str& señt_name);
  105. // first - èêîíêà, second - àíèìàöèÿ
  106. using FlashingIcons = xr_map<EFlashingIcons, CUIStatic*>;
  107. using FlashingIcons_it = FlashingIcons::iterator;
  108. FlashingIcons m_FlashingIcons;
  109. // CWeapon* m_pWeapon;
  110. CMissile* m_pGrenade;
  111. CInventoryItem* m_pItem;
  112. // Îòîáðàæåíèå ïîäñêàçîê ïðè íàâåäåíèè ïðèöåëà íà îáúåêò
  113. void RenderQuickInfos();
  114. public:
  115. // CUICarPanel& CarPanel (){return UICarPanel;};
  116. CUIMotionIcon& MotionIcon (){return UIMotionIcon;}
  117. void OnConnected ();
  118. void reset_ui ();
  119. protected:
  120. CInventoryItem* m_pPickUpItem;
  121. CUIStatic UIPickUpItemIcon;
  122. float m_iPickUpItemIconX;
  123. float m_iPickUpItemIconY;
  124. float m_iPickUpItemIconWidth;
  125. float m_iPickUpItemIconHeight;
  126. void UpdatePickUpItem();
  127. public:
  128. void SetPickUpItem (CInventoryItem* PickUpItem);
  129. #ifdef DEBUG
  130. void draw_adjust_mode ();
  131. #endif
  132. };
  133. #endif // UI_MAIN_INGAME_WND_H_INCLUDED