DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ EnableUpdate()

void PluginBase::EnableUpdate ( bool enable,
int type,
PlayerBase player )
inlineprotected

См. определение в файле PluginDeveloperSync.c строка 85

86 {
87 //set update by type
88 if ( !IsPlayerRegistered(player))
89 RegisterPlayer( player );
90
91
92 switch ( type )
93 {
94 case ERPCs.DEV_STATS_UPDATE:
95 {
96 SetSystemInBitmask(player, PDS_SYSTEMS.STATS, enable);
97 break;
98 }
99
100 case ERPCs.DEV_LEVELS_UPDATE:
101 {
102 SetSystemInBitmask(player, PDS_SYSTEMS.LEVELS, enable);
103 break;
104 }
105
106 case ERPCs.DEV_MODS_UPDATE:
107 {
108 SetSystemInBitmask(player, PDS_SYSTEMS.MODS, enable);
109 break;
110 }
111
112 case ERPCs.DEV_AGENTS_UPDATE:
113 {
114 SetSystemInBitmask(player, PDS_SYSTEMS.AGENTS, enable);
115 break;
116 }
117
118 case ERPCs.DEV_STOMACH_UPDATE:
119 {
120 SetSystemInBitmask(player, PDS_SYSTEMS.STOMACH, enable);
121 break;
122 }
123 case ERPCs.DEV_TEMP_UPDATE:
124 {
125 SetSystemInBitmask(player, PDS_SYSTEMS.TEMPERATURE, enable);
126 break;
127 }
128 case ERPCs.DEV_HEALTH_UPDATE:
129 {
130 SetSystemInBitmask(player, PDS_SYSTEMS.HEALTH, enable);
131 break;
132 }
133 }
134
135 //remove players with empty mask
136 for (int i = 0; i < m_RegisteredPlayers.Count(); i++)
137 {
138 if (m_RegisteredPlayers.GetElement(i).m_Bitmask == 0)
139 {
140 m_RegisteredPlayers.RemoveElement(i);
141 i = 0;
142 }
143 }
144
145 //start/stop the tick based on existence/absence of players registered
146 if ( m_UpdateTimer )
147 {
148 if ( m_RegisteredPlayers.Count() == 0)
149 {
150 m_UpdateTimer.Stop();
151 }
152 else if (!m_UpdateTimer.IsRunning())
153 {
154 m_UpdateTimer.Run( 1, this, "Update", NULL, true );
155 }
156 }
157 }
ERPCs
Определения ERPCs.c:2
PDS_SYSTEMS
Определения PluginDeveloperSync.c:2
ref map< PlayerBase, ref RegisterPlayerData > m_RegisteredPlayers
Определения PluginDeveloperSync.c:30
bool IsPlayerRegistered(PlayerBase player)
Определения PluginDeveloperSync.c:257
void SetSystemInBitmask(PlayerBase player, int system_bit, bool state)
Определения PluginDeveloperSync.c:213
ref Timer m_UpdateTimer
Определения PluginDeveloperSync.c:29
void RegisterPlayer(PlayerBase player)
Определения PluginDeveloperSync.c:240

Перекрестные ссылки IsPlayerRegistered(), m_RegisteredPlayers, m_UpdateTimer, RegisterPlayer() и SetSystemInBitmask().

Используется в OnRPC() и OnRPCTemp().