Example #1
0
 private void SpectatorAddedHandler(Spectator spectator)
 {
     if (NetworkMode == NetworkMode.Server) UpdateGameServerInfoToManagementServer();
     spectator.ArenaStatistics.Rating = () => spectator.GetStats().Rating;
     spectator.ResetForArena();
     if (NetworkMode != NetworkMode.Server || spectator.IsLocal) return;
     var player = spectator as Player;
     if (player == null) return;
     player.IsAllowedToCreateShip = () =>
     {
         if (!player.IsRemote) return false;
         var arenaID = NetworkEngine.GetGameClientConnection(player.ConnectionID).ConnectionStatus.IsRequestingSpawnForArenaID;
         if (!arenaID.HasValue || DataEngine.Arena == null) return false;
         return arenaID.Value == DataEngine.Arena.ID;
     };
     player.Messages.NewChatMessage += mess => SendPlayerMessageToRemoteSpectator(mess, player);
     player.Messages.NewCombatLogMessage += mess => SendPlayerMessageToRemoteSpectator(mess, player);
 }