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

Last change on this file since 147 was 146, 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, string _playerClassname, string _skinTexture, int _chunkViewDim)
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 (GameManager manager, int _clientId) {
39 try {
40 ClientInfo ci = CommonMappingFunctions.GetClientInfoFromClientID (_clientId);
41 string steamId = CommonMappingFunctions.GetSteamID (ci);
42 Players players = PersistentContainer.Instance.Players;
43 if (players.SteamIDs.Contains(steamId))
44 players[steamId].SetOffline();
45 PersistentData.PersistentContainer.Instance.Save ();
46 } catch (Exception e) {
47 Log.Out ("Error in AllocsLogFunctions.PlayerDisconnected: " + e);
48 }
49 }
50 }
51}
Note: See TracBrowser for help on using the repository browser.