/// <summary> /// Logs player with a certain name into the game and returns an authorization token /// </summary> /// <param name="playerName"></param> /// <returns></returns> public LogonResult LogonPlayer(string playerName) { var result = new LogonResult(); if (!Players.ContainsKey(playerName)) { var newPlayer = new Player() { AuthToken = System.Guid.NewGuid().ToString(), PlayerName = playerName }; var success = Players.TryAdd(playerName, newPlayer); var success2 = _authTokens.TryAdd(newPlayer.AuthToken, newPlayer); if (success && success2) { System.Diagnostics.Debug.WriteLine("Player logon [{0}]:[{1}]", newPlayer.PlayerName, newPlayer.AuthToken); } _allocateElevators(newPlayer.AuthToken); result.AuthToken = newPlayer.AuthToken; result.GameId = Id; result.GameStart = (int) this.gameStartCountdown; } else { System.Diagnostics.Debug.WriteLine("Player {0} already logged on!", playerName); } result.GameId = Id; return result; }
public void LogonDemoAgent(string playerName) { var result = new LogonResult(); if (!_players.ContainsKey(playerName)) { var newPlayer = new Player() { AuthToken = System.Guid.NewGuid().ToString(), PlayerName = playerName }; var success = _players.TryAdd(playerName, newPlayer); var success2 = _authTokens.TryAdd(newPlayer.AuthToken, newPlayer); if (success && success2) { System.Diagnostics.Debug.WriteLine("Player logon [{0}]:[{1}]", newPlayer.PlayerName, newPlayer.AuthToken); } _allocateElevators(newPlayer.AuthToken); result.AuthToken = newPlayer.AuthToken; result.GameId = Id; result.GameStart = (int)this.gameStartCountdown; } else { System.Diagnostics.Debug.WriteLine("Player {0} already logged on!", playerName); } result.GameId = Id; var agentTask = Task.Factory.StartNew(() => { AgentBase sweetDemoAgent = new AgentBase(playerName, "http://localhost:3193"); sweetDemoAgent.Start(result).Wait(); }); }