Esempio n. 1
0
        public static PlayerData From(List <Player> players)
        {
            List <PersistedPlayerData> persistedPlayers = new List <PersistedPlayerData>();

            foreach (Player player in players)
            {
                PersistedPlayerData persistedPlayer = new PersistedPlayerData();
                persistedPlayer.Name          = player.Name;
                persistedPlayer.EquippedItems = player.getAllEquipment();
                persistedPlayer.Modules       = player.getAllModules();
                persistedPlayer.Id            = player.Id;
                persistedPlayer.SpawnPosition = player.Position;
                persistedPlayer.CurrentStats  = player.Stats;
                persistedPlayer.SubRootId     = player.SubRootId.OrElse(null);
                persistedPlayer.Permissions   = player.Permissions;
                persistedPlayer.NitroxId      = player.GameObjectId;

                persistedPlayers.Add(persistedPlayer);
            }

            PlayerData playerData = new PlayerData();

            playerData.Players = persistedPlayers;

            return(playerData);
        }
Esempio n. 2
0
 public Vector3 GetPosition(string playerName)
 {
     lock (playersByPlayerName)
     {
         PersistedPlayerData playerPersistedData = GetOrCreatePersistedPlayerData(playerName);
         return(playerPersistedData.PlayerSpawnData);
     }
 }
Esempio n. 3
0
 public void RemoveEquipment(string playerName, string guid)
 {
     lock (playersByPlayerName)
     {
         PersistedPlayerData playerData = playersByPlayerName[playerName];
         playerData.EquippedItemsByGuid.Remove(guid);
     }
 }
Esempio n. 4
0
 public Optional <NitroxId> GetSubRootId(string playerName)
 {
     lock (playersByPlayerName)
     {
         PersistedPlayerData playerPersistedData = GetOrCreatePersistedPlayerData(playerName);
         return(Optional <NitroxId> .OfNullable(playerPersistedData.SubRootId));
     }
 }
Esempio n. 5
0
 public void AddEquipment(string playerName, EquippedItemData equippedItem)
 {
     lock (playersByPlayerName)
     {
         PersistedPlayerData playerData = playersByPlayerName[playerName];
         playerData.EquippedItemsById.Add(equippedItem.ItemId, equippedItem);
     }
 }
Esempio n. 6
0
 public NitroxId GetNitroxId(string playerName)
 {
     lock (playersByPlayerName)
     {
         PersistedPlayerData playerPersistedData = GetOrCreatePersistedPlayerData(playerName);
         return(playerPersistedData.PlayerNitroxId);
     }
 }
Esempio n. 7
0
 public void RemoveEquipment(string playerName, NitroxId id)
 {
     lock (playersByPlayerName)
     {
         PersistedPlayerData playerData = playersByPlayerName[playerName];
         playerData.EquippedItemsById.Remove(id);
     }
 }
Esempio n. 8
0
 public void AddEquipment(string playerName, ItemData itemData)
 {
     lock (playersByPlayerName)
     {
         PersistedPlayerData playerData = playersByPlayerName[playerName];
         playerData.EquipmentByGuid.Add(itemData.Guid, itemData);
     }
 }
Esempio n. 9
0
        public ulong PlayerId(string playerName, ulong steamId)
        {
            lock (playersByPlayerName)
            {
                PersistedPlayerData playerPersistedData = GetOrCreatePersistedPlayerData(playerName, steamId);

                return(playerPersistedData.PlayerId);
            }
        }
Esempio n. 10
0
        public Perms GetPermissions(string playerName)
        {
            lock (playersByPlayerName)
            {
                PersistedPlayerData playerPersistedData = GetOrCreatePersistedPlayerData(playerName);

                return(playerPersistedData.Permissions);
            }
        }
Esempio n. 11
0
        public ushort GetPlayerId(string playerName)
        {
            lock (playersByPlayerName)
            {
                PersistedPlayerData playerPersistedData = GetOrCreatePersistedPlayerData(playerName);

                return(playerPersistedData.PlayerId);
            }
        }
Esempio n. 12
0
        public PlayerStatsData GetPlayerStats(string playerName)
        {
            lock (playersByPlayerName)
            {
                PersistedPlayerData playerPersistedData = GetOrCreatePersistedPlayerData(playerName);

                return(playersByPlayerName[playerName].CurrentStats);
            }
        }
Esempio n. 13
0
        public void SetPlayerStats(string playerName, PlayerStats statsData)
        {
            lock (playersByPlayerName)
            {
                PersistedPlayerData playerPersistedData = GetOrCreatePersistedPlayerData(playerName);

                playersByPlayerName[playerName].CurrentStats = new PlayerStatsData(statsData.Oxygen, statsData.MaxOxygen, statsData.Health, statsData.Food, statsData.Water);
            }
        }
Esempio n. 14
0
 public List <EquippedItemData> GetEquippedItemsForInitialSync(string playerName)
 {
     lock (playersByPlayerName)
     {
         PersistedPlayerData     playerPersistedData = GetOrCreatePersistedPlayerData(playerName);
         List <EquippedItemData> ItemData            = new List <EquippedItemData>(playerPersistedData.EquippedItemsById.Values);
         ItemData.AddRange((new List <EquippedItemData>(ModulesItemsById.Values)));
         return(ItemData);
     }
 }
Esempio n. 15
0
        // Must be called when playersByPlayerName is locked.
        private PersistedPlayerData GetOrCreatePersistedPlayerData(string playerName, ulong steamId = 0)
        {
            PersistedPlayerData playerPersistedData = null;

            if (!playersByPlayerName.TryGetValue(playerName, out playerPersistedData))
            {
                playerPersistedData = playersByPlayerName[playerName] = new PersistedPlayerData(playerName, steamId);
            }

            return(playerPersistedData);
        }
Esempio n. 16
0
        // Must be called when playersByPlayerName is locked.
        private PersistedPlayerData GetOrCreatePersistedPlayerData(string playerName)
        {
            PersistedPlayerData playerPersistedData = null;

            if (!playersByPlayerName.TryGetValue(playerName, out playerPersistedData))
            {
                playerPersistedData = playersByPlayerName[playerName] = new PersistedPlayerData(playerName, ++currentPlayerId);
            }

            return(playerPersistedData);
        }
Esempio n. 17
0
        public Vector3 PlayerSpawn(string playerName)
        {
            lock (playersByPlayerName)
            {
                PersistedPlayerData playerPersistedData = null;

                if (!playersByPlayerName.TryGetValue(playerName, out playerPersistedData))
                {
                    playerPersistedData = playersByPlayerName[playerName] = new PersistedPlayerData(playerName);
                }
                return(playerPersistedData.PlayerSpawnData);
            }
        }
Esempio n. 18
0
        public void PlayerStats(string playerName, PlayerStats statsData)
        {
            lock (playersByPlayerName)
            {
                PersistedPlayerData playerPersistedData = null;

                if (!playersByPlayerName.TryGetValue(playerName, out playerPersistedData))
                {
                    playerPersistedData = playersByPlayerName[playerName] = new PersistedPlayerData(playerName);
                }

                playersByPlayerName[playerName].CurrentStats = new PlayerStatsData(statsData.Oxygen, statsData.MaxOxygen, statsData.Health, statsData.Food, statsData.Water);
            }
        }
Esempio n. 19
0
        public PlayerStatsData Stats(string playerName)
        {
            lock (playersByPlayerName)
            {
                PersistedPlayerData playerPersistedData = null;

                if (!playersByPlayerName.TryGetValue(playerName, out playerPersistedData))
                {
                    playerPersistedData = playersByPlayerName[playerName] = new PersistedPlayerData(playerName);
                }

                return(playersByPlayerName[playerName].CurrentStats);
            }
        }
Esempio n. 20
0
        public List <EquippedItemData> GetEquippedItemsForInitialSync(string playerName)
        {
            PersistedPlayerData playerPersistedData = null;

            lock (playersByPlayerName)
            {
                if (!playersByPlayerName.TryGetValue(playerName, out playerPersistedData))
                {
                    playerPersistedData = playersByPlayerName[playerName] = new PersistedPlayerData(playerName);
                }

                return(new List <EquippedItemData>(playerPersistedData.EquippedItemsByGuid.Values));
            }
        }
Esempio n. 21
0
        public string PlayerGuid(string playerName)
        {
            lock (playersByPlayerName)
            {
                PersistedPlayerData playerPersistedData = null;

                if (!playersByPlayerName.TryGetValue(playerName, out playerPersistedData))
                {
                    playerPersistedData = playersByPlayerName[playerName] = new PersistedPlayerData(playerName);
                }

                if (string.IsNullOrEmpty(playerPersistedData.PlayerGuid))
                {
                    return(playerPersistedData.PlayerGuid = Guid.NewGuid().ToString());
                }
                else
                {
                    return(playerPersistedData.PlayerGuid);
                }
            }
        }