Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.04 KB | None | 0 0
  1. class ClientData
  2. {
  3.     static ref ScriptInvoker SyncEvent_OnPlayerListUpdate = new ScriptInvoker();
  4.     static ref ScriptInvoker SyncEvent_OnEntityKilled = new ScriptInvoker();
  5.     static ref ScriptInvoker SyncEvent_OnPlayerIgnitedFireplace = new ScriptInvoker();
  6.    
  7.     static ref array<Man>           m_PlayerBaseList = new array<Man>;
  8.     static ref SyncPlayerList       m_PlayerList;
  9.     static ref SyncPlayerList       m_LastNewPlayers;
  10.    
  11.     static ref OnlineServices       m_OnlineServices;
  12.    
  13.     static void ResetClientData()
  14.     {
  15.         if( m_PlayerBaseList )
  16.             m_PlayerBaseList.Clear();
  17.         if( m_PlayerList && m_PlayerList.m_PlayerList )
  18.             m_PlayerList.m_PlayerList.Clear();
  19.         if( m_LastNewPlayers && m_LastNewPlayers.m_PlayerList )
  20.             m_LastNewPlayers.m_PlayerList.Clear();
  21.     }
  22.    
  23.     static void AddPlayerBase( Man player )
  24.     {
  25.         if( m_PlayerBaseList && player != GetGame().GetPlayer() )
  26.             m_PlayerBaseList.Insert( player );
  27.     }
  28.    
  29.     static void RemovePlayerBase( Man player )
  30.     {
  31.         if( m_PlayerBaseList )
  32.             m_PlayerBaseList.RemoveItem( player );
  33.     }
  34.    
  35.     static void SyncEvent_OnRecievedPlayerList( ref SyncPlayerList player_list )
  36.     {
  37.         if (m_PlayerList && m_PlayerList.m_PlayerList)
  38.             Print(m_PlayerList.m_PlayerList.Count());
  39.         SyncPlayerList new_players = SyncPlayerList.Compare(m_PlayerList, player_list);
  40.        
  41.         if ( !m_LastNewPlayers )
  42.         {
  43.             m_LastNewPlayers = player_list;
  44.         }
  45.         else
  46.         {
  47.             m_LastNewPlayers = SyncPlayerList.Compare( m_LastNewPlayers, new_players );
  48.         }
  49.        
  50.         m_PlayerList = SyncPlayerList.Compare(player_list, null);
  51.        
  52.         #ifdef PLATFORM_CONSOLE
  53.             #ifndef PLATFORM_WINDOWS // if app is not on Windows with -XBOX parameter
  54.                 OnlineServices.LoadPermissions( GetSimplePlayerList( new_players ) );
  55.                 if( new_players.m_PlayerList.Count() > 0 )
  56.                     OnlineServices.LoadFriends();
  57.                 if( g_Game.GetGameState() == DayZGameState.IN_GAME )
  58.                     OnlineServices.SetMultiplayState(OnlineServices.GetMultiplayState());
  59.             #endif
  60.         #endif
  61.        
  62.         SyncEvent_OnPlayerListUpdate.Invoke( player_list );
  63.     }
  64.     static array<string> GetSimplePlayerList()
  65.     {
  66.         ref array<string> ids = new array<string>;
  67.         if( m_PlayerList && m_PlayerList.m_PlayerList )
  68.         {
  69.             for( int i = 0; i < m_PlayerList.m_PlayerList.Count(); i++ )
  70.             {
  71.                 SyncPlayer player = m_PlayerList.m_PlayerList.Get( i );
  72.                 ids.Insert( player.m_UID );
  73.             }
  74.         }
  75.        
  76.         return ids;
  77.     }
  78.    
  79.     static array<string> GetSimplePlayerList( SyncPlayerList list )
  80.     {
  81.         ref array<string> ids = new array<string>;
  82.         if( list )
  83.         {
  84.             for( int i = 0; i < list.m_PlayerList.Count(); i++ )
  85.             {
  86.                 SyncPlayer player = list.m_PlayerList.Get( i );
  87.                 ids.Insert( player.m_UID );
  88.             }
  89.         }
  90.        
  91.         return ids;
  92.     }
  93.    
  94.     static void SyncEvent_OnEntityKilled( SyncEntityKillInfo entity_killed_data )
  95.     {
  96.         SyncEvent_OnEntityKilled.Invoke(entity_killed_data.m_EntityVictim, entity_killed_data.m_EntityKiller, entity_killed_data.m_EntitySource, entity_killed_data.m_IsHeadShot );
  97.     }
  98.    
  99.     static void SyncEvent_OnPlayerIgnitedFireplace( EFireIgniteType igante_type )
  100.     {
  101.         SyncEvent_OnPlayerIgnitedFireplace.Invoke(igante_type);
  102.     }
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement