DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
NotifiersManager.c
См. документацию.
24
25
27{
28 static const int MAX_COUNT = 64;
30 ref NotifierBase m_NotifiersStatic[MAX_COUNT];//introduced as a seperate array to allow for fast lookup, keeping the old one for quick looping through but also to keep modding compatibility
34 string m_System = "Notifiers";
35
37 {
38 m_Player = player;
39
41
43 Init();
44 }
45
46 void Init()
47 {
48 m_Notifiers.Insert(new HungerNotfr(this));
49 m_Notifiers.Insert(new ThirstNotfr(this));
50 m_Notifiers.Insert(new WarmthNotfr(this));
51 m_Notifiers.Insert(new WetnessNotfr(this));
52 m_Notifiers.Insert(new HealthNotfr(this));
53 m_Notifiers.Insert(new FeverNotfr(this));
54 m_Notifiers.Insert(new SickNotfr(this));
55 m_Notifiers.Insert(new StuffedNotfr(this));
56 m_Notifiers.Insert(new BloodNotfr(this));
57 m_Notifiers.Insert(new PillsNotfr(this));
58 m_Notifiers.Insert(new HeartbeatNotfr(this));
59 m_Notifiers.Insert(new FracturedLegNotfr(this));
60 m_Notifiers.Insert(new InjuredLegNotfr(this));
61
62 }
63
64 void RegisterItself(int notifier_id, NotifierBase modifier)
65 {
66 if (notifier_id >= MAX_COUNT)
67 Error("out of bounds for notifier id: " + notifier_id);
68 else
69 m_NotifiersStatic[notifier_id] = modifier;
70 }
71
73 {
74 return m_Player;
75 }
76
78 {
79 return m_VirtualHud;
80 }
81
83 {
84 return m_NotifiersStatic[type];
85 }
86
87 void ActivateByType(int notifier, bool triggerEvent = true)
88 {
89 FindNotifier(notifier).SetActive(true);
90 }
91
92 void DeactivateByType(int notifier, bool triggerEvent = true)
93 {
94 FindNotifier(notifier).SetActive(false);
95 }
96
98 {
99 if (!GetPlayer().IsPlayerSelected())
100 return;
101
103 }
104
106 {
107 int currentTime = GetGame().GetTime();
108
109 foreach (NotifierBase notifier: m_Notifiers)
110 {
111 if (notifier.IsActive() && notifier.IsTimeToTick(currentTime))
112 notifier.OnTick(currentTime);
113 }
114
115 }
116
117}
override Widget Init()
Определения DayZGame.c:127
void VirtualHud(PlayerBase player)
Определения DisplayStatus.c:36
DayZPlayer m_Player
Определения Hand_Events.c:42
PlayerBase GetPlayer()
Определения ModifierBase.c:51
string m_System
the manager instance
Определения ModifierBase.c:12
void NotifiersManager(PlayerBase player)
Определения NotifiersManager.c:36
ref VirtualHud m_VirtualHud
Определения NotifiersManager.c:32
eNotifiers
Определения NotifiersManager.c:2
@ NTF_HEALTHY
Определения NotifiersManager.c:3
@ NTF_HEARTBEAT
Определения NotifiersManager.c:17
@ NTF_BLOOD
Определения NotifiersManager.c:12
@ NTF_THIRSTY
Определения NotifiersManager.c:6
@ NTF_STAMINA
Определения NotifiersManager.c:14
@ NTF_LEGS
Определения NotifiersManager.c:19
@ NTF_FRACTURE
Определения NotifiersManager.c:18
@ NTF_STUFFED
Определения NotifiersManager.c:7
@ NTF_WETNESS
Определения NotifiersManager.c:9
@ NTF_COUNT
Определения NotifiersManager.c:21
@ NTF_PILLS
Определения NotifiersManager.c:16
@ NTF_SICK
Определения NotifiersManager.c:8
@ NTF_WARMTH
Определения NotifiersManager.c:10
@ NTF_FEVERISH
Определения NotifiersManager.c:11
@ NTF_LIVES
Определения NotifiersManager.c:13
@ NTF_BLEEDISH
Определения NotifiersManager.c:4
@ NTF_HUNGRY
Определения NotifiersManager.c:5
void OnScheduledTick()
Определения NotifiersManager.c:97
VirtualHud GetVirtualHud()
Определения NotifiersManager.c:77
void TickNotifiers()
Определения NotifiersManager.c:105
int m_MinTickTime
Определения NotifiersManager.c:33
NotifierBase FindNotifier(int type)
Определения NotifiersManager.c:82
enum eNotifiers MAX_COUNT
void DeactivateByType(int notifier, bool triggerEvent=true)
Определения NotifiersManager.c:92
ref NotifierBase m_NotifiersStatic[MAX_COUNT]
Определения NotifiersManager.c:30
ref array< ref NotifierBase > m_Notifiers
Определения NotifiersManager.c:29
void RegisterItself(int notifier_id, NotifierBase modifier)
Определения NotifiersManager.c:64
void ActivateByType(int notifier, bool triggerEvent=true)
Определения NotifiersManager.c:87
Определения BloodNotfr.c:2
proto int GetTime()
returns mission time in milliseconds
Определения FeverNotfr.c:2
Определения HealthNotfr.c:2
Определения HeartbeatNotfr.c:2
Определения HungerNotfr.c:2
Определения InjuredLegNotfr.c:2
void SetActive(bool state)
Определения NotifierBase.c:58
Определения NotifierBase.c:2
Определения PillsNotfr.c:2
Определения PlayerBaseClient.c:2
Определения SickNotfr.c:2
Определения StuffedNotfr.c:2
Определения ThirstNotfr.c:2
Определения WarmthNotfr.c:2
Определения WetnessNotfr.c:2
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto native CGame GetGame()
void Error(string err)
Messagebox with error message.
Определения EnDebug.c:90
const int MIN_TICK_NOTIFIERS
Определения constants.c:351