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

Last change on this file since 156 was 156, checked in by alloc, 7 years ago

fixes

File size: 1.5 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                                Player p = PersistentContainer.Instance.Players.GetPlayerByClientId(_clientId);
41                                if (p != null) {
42                                        p.SetOffline();
43                                }
44                                PersistentData.PersistentContainer.Instance.Save ();
45                        } catch (Exception e) {
46                                Log.Out ("Error in AllocsLogFunctions.PlayerDisconnected: " + e);
47                        }
48                }
49        }
50}
Note: See TracBrowser for help on using the repository browser.