Exemple #1
0
        /// <summary>
        /// Logs in player
        /// </summary>
        /// <param name="clientID"></param>
        /// <param name="playerID"></param>
        /// <param name="player"></param>
        public LogInType LogIn(int clientID, string playerID, out Player player)
        {
            Sessions.TryAdd(clientID, playerID);
            LogInType logInType;

            player = databaseManager.GetPlayer(playerID);
            if (player == null)
            {
                player = new Player(clientID);
                player.SetDefaultUniqueBlocks();
                player.SetDefaultSkills();
                player.PlayerID = playerID;
                databaseManager.AddPlayer(player);
                databaseManager.AddCollection(player.UniqueBlockCollection);
                logInType = LogInType.Registered;
                Console.WriteLine($"Registration for player {player.PlayerID}");
            }
            else
            {
                player.UniqueBlockCollection = databaseManager.GetCollection(player.UniqueBlockCollection.ID);
                // TODO: load from DB
                player.SetDefaultSkills();
                player.ClientID = clientID;
                logInType       = LogInType.SignedIn;
                Console.WriteLine($"Login for player {player.PlayerID}");
            }

            Players.TryAdd(playerID, player);
            return(logInType);
        }