public void Join(string playerName) { Logger.Info("Player join " + playerName); Player player = new Player {ClientId = Context.ClientId, Name = playerName}; Space mySpace = CurrentSpace; bool alreadyStarted = mySpace.IsStarted; Players.Add(player); AffectPlayerToSpace(player); if (alreadyStarted) { string planetsJson = JsonConvert.SerializeObject(mySpace.Planets); Caller.initPlanets(planetsJson); } }
private void AffectPlayerToSpace(Player player) { bool spectactor = true; foreach (Planet planet in CurrentSpace.Planets) { if (planet.Owner == null || planet.Owner.ClientId == "") { planet.Owner = player; spectactor = false; CurrentSpace.Players.Add(player); break; } } if (spectactor) { CurrentSpace.Spectators.Add(player); } if (CurrentSpace.Players.Count >= 2 && CurrentSpace.IsStarted == false) { //CurrentSpace.InitPlanets(); CurrentSpace.IsStarted = true; Logger.Info("Game Started"); string planetsJson = JsonConvert.SerializeObject(CurrentSpace.Planets); Clients.initPlanets(planetsJson); } }