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

Last change on this file since 146 was 146, checked in by alloc, 7 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.