source: binary-improvements/7dtd-server-fixes/src/AllocsLogFunctions.cs@ 204

Last change on this file since 204 was 203, checked in by alloc, 10 years ago

fixes

File size: 1.6 KB
Line 
1using AllocsFixes.PersistentData;
2using System;
3using System.Collections.Generic;
4using UnityEngine;
5
6namespace AllocsFixes
7{
8 public class AllocsLogFunctions
9 {
10 public static void RequestToSpawnPlayer (GameManager manager, int _clientId, string _name, int _chunkViewDim, PlayerProfile _playerProfile)
11 {
12 try {
13 ClientInfo ci = CommonMappingFunctions.GetClientInfoFromClientID (_clientId);
14 int entityId = CommonMappingFunctions.GetEntityID (ci);
15 EntityPlayer ep = CommonMappingFunctions.GetEntityPlayer (ci);
16 string steamId = CommonMappingFunctions.GetSteamID (ci);
17
18 string ip = ci.networkPlayer.ipAddress;
19 string name = string.Empty;
20
21 if (ep != null)
22 name = ep.EntityName;
23
24 Log.Out ("Player connected, clientid=" + _clientId +
25 ", entityid=" + entityId +
26 ", name=" + name +
27 ", steamid=" + steamId +
28 ", ip=" + ip
29 );
30
31 PersistentContainer.Instance.Players [steamId].SetOnline (ci);
32 PersistentData.PersistentContainer.Instance.Save ();
33 } catch (Exception e) {
34 Log.Out ("Error in AllocsLogFunctions.RequestToSpawnPlayer: " + e);
35 }
36 }
37
38 public static void PlayerDisconnected (ConnectionManager manager, int _clientId, bool _bShutdown)
39 {
40 try {
41 Player p = PersistentContainer.Instance.Players.GetPlayerByClientId (_clientId);
42 if (p != null) {
43 p.SetOffline ();
44 } else {
45 Log.Out ("Disconnected player not found in client list...");
46 }
47 PersistentData.PersistentContainer.Instance.Save ();
48 } catch (Exception e) {
49 Log.Out ("Error in AllocsLogFunctions.PlayerDisconnected: " + e);
50 }
51 }
52 }
53}
Note: See TracBrowser for help on using the repository browser.