123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- enum eRemoteStatType
- {
- NONE,
- DAMAGE_SYSTEM = 1,
- PLAYER_STATS = 2,
- OTHER = 4,
- }
- class RemotePlayerStatDebug
- {
- PlayerBase m_Player;
- ref array<ref StatDebugObject> m_Stats = new array<ref StatDebugObject>;
- string m_Name;
- vector m_Pos;
- void RemotePlayerStatDebug(PlayerBase player)
- {
- m_Player = player;
- Init();
- }
-
- void Init()
- {
- UpdatePlayerStatsValues();
- InjectDamageSystemValues();
- m_Pos = m_Player.GetWorldPosition();
- m_Name = m_Player.GetIdentity().GetName();
- }
-
- PlayerBase GetPlayer()
- {
- return m_Player;
- }
-
- void UpdatePlayerStatsValues()
- {
- m_Player.GetPlayerStats().GetDebugInfo(m_Stats, 0);
- }
-
- void InjectDamageSystemValues()
- {
- m_Stats.Insert( new StatDebugObject("Health", m_Player.GetHealth("",""), eRemoteStatType.DAMAGE_SYSTEM) );
- m_Stats.Insert( new StatDebugObject("Blood", m_Player.GetHealth("","Blood"), eRemoteStatType.DAMAGE_SYSTEM) );
- m_Stats.Insert( new StatDebugObject("Shock", m_Player.GetHealth("","Shock"), eRemoteStatType.DAMAGE_SYSTEM) );
- }
-
- void SerializeNames(array<string> names, eRemoteDebugType type)
- {
- for(int i = 0; i < m_Stats.Count(); i++)
- {
- if( type == eRemoteDebugType.ALL )
- {
- names.Insert(m_Stats.Get(i).GetName());
- }
- else if( type == eRemoteDebugType.DAMAGE_ONLY )
- {
- StatDebugObject obj = m_Stats.Get(i);
- eRemoteStatType debug_type = obj.GetType();
- if(debug_type == eRemoteStatType.DAMAGE_SYSTEM)
- {
- names.Insert(m_Stats.Get(i).GetName());
- }
- }
- }
- }
-
- void SerializeValues(array<string> values, eRemoteDebugType type)
- {
- for(int i = 0; i < m_Stats.Count(); i++)
- {
- if( type == eRemoteDebugType.ALL )
- {
- values.Insert(m_Stats.Get(i).GetValue());
- }
- else if( type == eRemoteDebugType.DAMAGE_ONLY )
- {
- StatDebugObject obj = m_Stats.Get(i);
- eRemoteStatType debug_type = obj.GetType();
- if(debug_type == eRemoteStatType.DAMAGE_SYSTEM)
- {
- values.Insert(m_Stats.Get(i).GetValue());
- }
- }
- }
- }
-
- void Debug()
- {
- for(int i = 0; i < m_Stats.Count(); i++)
- {
- m_Stats.Get(i).Debug();
- }
- }
- }
|