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
RevLine 
[144]1using AllocsFixes.PersistentData;
[83]2using System;
3using System.Collections.Generic;
4using UnityEngine;
5
[130]6namespace AllocsFixes
[83]7{
[130]8        public class AllocsLogFunctions
[83]9        {
[130]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);
[144]16                                string steamId = CommonMappingFunctions.GetSteamID (ci);
[103]17
[130]18                                string ip = ci.networkPlayer.ipAddress;
19                                string name = string.Empty;
[103]20
[130]21                                if (ep != null)
22                                        name = ep.EntityName;
[103]23
[130]24                                Log.Out ("Player connected, clientid=" + _clientId +
25                                        ", entityid=" + entityId +
26                                        ", name=" + name +
[144]27                                        ", steamid=" + steamId +
[130]28                                        ", ip=" + ip
29                                );
[144]30
31                                PersistentContainer.Instance.Players[steamId].SetOnline(ci);
[146]32                                PersistentData.PersistentContainer.Instance.Save ();
[130]33                        } catch (Exception e) {
[144]34                                Log.Out ("Error in AllocsLogFunctions.RequestToSpawnPlayer: " + e);
[130]35                        }
[83]36                }
[144]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();
[146]45                                PersistentData.PersistentContainer.Instance.Save ();
[144]46                        } catch (Exception e) {
47                                Log.Out ("Error in AllocsLogFunctions.PlayerDisconnected: " + e);
48                        }
49                }
[83]50        }
51}
Note: See TracBrowser for help on using the repository browser.