75 int currentTime =
g_Game.GetTime();
76 if (currentTime > (
m_LastTick + VIRTUAL_HUD_UPDATE_INTERVAL))
82 if ( !
g_Game.IsDedicatedServer() )
91 int id = element.GetType();
115 if (element && !element.IsClientOnly() )
117 if ((element.GetNumberOfBits() + offset) >
BIT_INT_SIZE)
119 mask_array.Insert(mask);
123 mask = mask | (element.GetValue() << offset);
124 offset = offset + element.GetNumberOfBits();
127 mask_array.Insert(mask);
132 int maskArrayIndex = 0;
140 if (element && !element.IsClientOnly())
148 mask = mask_array.Get(maskArrayIndex);
149 int value =
BitToDec( mask, offset, element.GetCompareMask() );
150 offset = offset + element.GetNumberOfBits();
151 element.SetValue(value);
158 int value = mask & (compareMask << index);
159 value = value >> index;
175 if (
g_Game.IsMultiplayer())
186 rpc.
Write(maskArray);
194 if ( array_a.Count() != array_b.Count() )
return false;
195 for (
int i = 0; i <array_a.Count(); i++)
197 if ( array_a.Get(i) != array_b.Get(i) )
210 if (element && element.IsClientOnly() && element.IsValueChanged())
221 if (element && !element.IsClientOnly() && element.IsValueChanged())
232 ctx.
Read(mask_array);
void OnRPC(PlayerIdentity sender, int rpcType, ParamsReadContext ctx)
void DeserializeElements(array< int > mask_array)
void RegisterElement(DisplayElementBase element)
ref DisplayElementBase m_Elements[NUMBER_OF_ELEMENTS]
const int NUMBER_OF_ELEMENTS
enum DSLevels WARNING_MINUS
enum DSLevels NUMBER_OF_MASKS
enum DSLevels CRITICAL_PLUS
enum DSLevels BLINKING_PLUS
void SerializeElements(array< int > mask_array)
ref array< ref Param > rpcParams
enum DSLevels BLINKING_MINUS
DisplayElementBase GetElement(eDisplayElements element_id)
enum DSLevels WARNING_PLUS
ref array< int > m_LastSentArray
bool AreArraysSame(notnull array< int > array_a, notnull array< int > array_b)
void VirtualHud(PlayerBase player)
enum DSLevels CRITICAL_MINUS
int BitToDec(int mask, int index, int compareMask)
class LogTemplates Log(string message, LogTemplateID template_id=0)
Creates debug log (optional) from LogTemplate which are registred.
string m_System
the manager instance
PluginPlayerStatus m_ModulePlayerStatus
max 32 synced modifiers supported, 0 == no sync
PluginBase GetPlugin(typename plugin_type)
override void UpdateHUD()
The class that will be instanced (moddable)
proto native void Send(Object target, int rpc_type, bool guaranteed, PlayerIdentity recipient=NULL)
Initiate remote procedure call. When called on client, RPC is evaluated on server; When called on ser...
proto bool Write(void value_out)
proto bool Read(void value_in)
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Serializer ParamsReadContext
Obsolete Managed PrintString(string s)
Helper for printing out string expression. Example: PrintString("Hello " + var);.