public void ProcessNewTournamentSettings(TournamentSettings s) { lastTournamentSettings = s; SendNewTournamentSettings(s); //players.ForEach(p => { if (!p.Data.LobbyLeader) p.Data.LobbyReady = false; }); UpdateLobbyPlayers(); }
public PlayerListFile(TournamentPersistence storage, TournamentSettings settings) { _storage = storage; _settings = settings; AllPlayers = new ObservableCollection <Player>(); Load(); }
private void SendTournamentSettings(TournamentSettings s) { sceneMgr.Enqueue(new Action(() => { sceneMgr.SendNewTournamentSettings(s); })); }
static void Update() { bool show = PlayerSettings.renderingPath != recommended_RenderPath || PlayerSettings.colorSpace != recommended_ColorSpace || PlayerSettings.defaultIsFullScreen != recommended_DefaultIsFullScreen || PlayerSettings.apiCompatibilityLevel != recommended_APICompatibilityLevel || PlayerSettings.companyName != recommended_CompanyName || PlayerSettings.productName != recommended_ProductName || PlayerSettings.resolutionDialogBanner == null || PlayerSettings.GetIconsForTargetGroup(BuildTargetGroup.Unknown)[0] == null || forceShow; if (show) { Screen.SetResolution(Screen.currentResolution.width, Screen.currentResolution.height, true); window = GetWindow <TournamentSettings>(true, "Tournament Settings", true); window.position = new Rect ( (Screen.currentResolution.width / 2) - (windowSize.x / 2), (Screen.currentResolution.height / 2) - (windowSize.y / 2), windowSize.x, windowSize.y ); window.minSize = new Vector2(windowSize.x, windowSize.y); window.maxSize = new Vector2(windowSize.x, windowSize.y); } EditorApplication.update -= Update; }
public void SendNewTournamentSettings(TournamentSettings s) { NetOutgoingMessage msg = CreateNetMessage(); msg.Write((int)PacketType.TOURNAMENT_SETTINGS); msg.Write(s); SendMessage(msg); }
private void btnCreateTournament_Click(object sender, RoutedEventArgs e) { if (String.IsNullOrWhiteSpace(tbName.Text)) { return; } TournamentSettings s = new TournamentSettings(); s.Name = tbName.Text; s.Leader = App.Instance.PlayerName; s.MMType = (MatchManagerType)cbType.SelectedValue; s.Level = (GameLevel)cbMap.SelectedValue; try { s.RoundCount = int.Parse(tbRounds.Text, CultureInfo.InvariantCulture); if (s.RoundCount < 1) { throw new Exception(); } } catch (Exception) { s.RoundCount = 1; tbRounds.Text = 1.ToString(Strings.Culture); } /*#if !DEBUG * s.BotCount = 0; * s.BotType = SharedDef.DEFAULT_BOT; #else*/ try { s.BotCount = int.Parse(tbBotCount.Text, CultureInfo.InvariantCulture); } catch (Exception) { s.BotCount = 0; } s.BotType = (BotType)cbBot.SelectedValue; //#endif App.Instance.StartTournamentLobby(serverAddress); App.Instance.GetSceneMgr().Enqueue(new Action(() => { App.Instance.GetSceneMgr().ProcessNewTournamentSettings(s); })); LobbyUC lobby = LogicalTreeHelper.FindLogicalNode(Application.Current.MainWindow, "lobbyWindow") as LobbyUC; if (lobby != null) { lobby.UpdateTournamentSettings(s); } }
public void StartSoloGame(TournamentSettings s) { if (!StartLocalServer(SharedDef.LOCAL_SERVER_PORT)) { return; } sceneMgr.SetRemoteServerAddress(System.Net.IPAddress.Loopback.ToString(), SharedDef.LOCAL_SERVER_PORT); StartGame(Gametype.SOLO_GAME); SendTournamentSettings(s); }
// other public static void Write(this NetOutgoingMessage msg, TournamentSettings s) { msg.Write(s.ServerId); msg.Write(s.Name); msg.Write(s.Leader); msg.Write((int)s.MMType); msg.Write((int)s.Level); msg.Write(s.RoundCount); msg.Write((int)s.BotType); msg.Write(s.BotCount); msg.Write(s.PlayedMatches); msg.Write(s.Running); }
private void btnPlayAsSpectator_Click(object sender, RoutedEventArgs e) { App.Instance.StartTournamentLobby("127.0.0.1"); App.Instance.GetSceneMgr().Enqueue(new Action(() => { App.Instance.GetSceneMgr().GetCurrentPlayer().Data.LobbyReady = true; App.Instance.GetSceneMgr().SendPlayerReadyMessage(true); TournamentSettings s = new TournamentSettings(true); s.MMType = Orbit.Core.Server.Match.MatchManagerType.TEST_LEADER_SPECTATOR; App.Instance.GetSceneMgr().ProcessNewTournamentSettings(s); App.Instance.GetSceneMgr().SendStartGameRequest(); })); }
private void StartGame(object sender, RoutedEventArgs e) { App.Instance.CreateGameGui(); TournamentSettings s = new TournamentSettings(); s.MMType = MatchManagerType.SKIRMISH; s.Level = GameLevel.BASIC_MAP; s.RoundCount = 1; s.BotCount = 1; s.BotType = type; App.Instance.StartSoloGame(s); }
public void UpdateTournamentSettings(TournamentSettings s) { btnReady.IsEnabled = true; lblName.Content = s.Name; lblType.Content = MatchManagerInfoAccessor.GetInfo(s.MMType).Text; lblMap.Content = LevelInfoAccessor.GetInfo(s.Level).Text; lblRounds.Content = s.RoundCount.ToString(Strings.Culture); round = s.PlayedMatches; UpdateMatchCount(s.RoundCount); //#if DEBUG lblBotLevel.Content = BotNameAccessor.GetBotName(s.BotType); lblBots.Content = s.BotCount.ToString(Strings.Culture); //#endif // TODO: mozna se pozdeji pridaji boti i pro normalni hrace - potom se zde musi zobrazit, kdyz prijde zprava }
private HashSet <TournamentSettings> GetAvailableTournaments() { HashSet <TournamentSettings> available = new HashSet <TournamentSettings>(); foreach (KeyValuePair <NetConnection, ServerMgr> pair in connections) { if (pair.Value.GameType == Gametype.TOURNAMENT_GAME && pair.Value.TournamentSettings != null) { TournamentSettings ts = pair.Value.TournamentSettings; ts.Running = pair.Value.IsGameRunning() || pair.Value.GetPlayerCount() >= SharedDef.MAX_TOURNAMENT_PLAYERS; available.Add(ts); } } return(available); }
public static TournamentSettings ReadTournamentSettings(this NetIncomingMessage msg) { TournamentSettings s = new TournamentSettings(); s.ServerId = msg.ReadInt32(); s.Name = msg.ReadString(); s.Leader = msg.ReadString(); s.MMType = (MatchManagerType)msg.ReadInt32(); s.Level = (GameLevel)msg.ReadInt32(); s.RoundCount = msg.ReadInt32(); s.BotType = (BotType)msg.ReadInt32(); s.BotCount = msg.ReadInt32(); s.PlayedMatches = msg.ReadInt32(); s.Running = msg.ReadBoolean(); return(s); }
private void CreateNewServerMgr(Gametype type) { mgr = new ServerMgr(); mgr.Init(type, server); if (GameStartedCallback != null) { GameStartedCallback(type == Gametype.TOURNAMENT_GAME); } mgr.CloseCallback = ManagerClosed; Thread serverThread = new Thread(new ThreadStart(mgr.Run)); serverThread.IsBackground = false; serverThread.Name = "Server Thread"; serverThread.Start(); switch (type) { case Gametype.SOLO_GAME: // v solo se nastavi tournament settings primo pres herni aplikaci break; case Gametype.MULTIPLAYER_GAME: { TournamentSettings s = new TournamentSettings(); s.MMType = MatchManagerType.QUICK_GAME; s.Level = GameLevel.BASIC_MAP; s.RoundCount = 1; s.BotCount = 0; mgr.Enqueue(new Action(() => mgr.TournamentSettings = s)); } break; case Gametype.TOURNAMENT_GAME: // v tournamentu se poslou setting pozdeji, az je hrac potvrdi break; } }
TournamentSettings LoadSettings() { TournamentSettings aux = new TournamentSettings(); if (File.Exists($"{appPath}/Data/Settings.json")) { try { aux = JsonConvert.DeserializeObject <TournamentSettings>(File.ReadAllText($"{appPath}/Data/Settings.json")); return(aux); } catch (Exception e) { MessageBox.Show($"Hijuesu, algo se rompio intentando los settings\r\nMandale esto al menso del Iojioji\r\n\r\n{e.Message}", "Error inesperado al cargar el pool O:", MessageBoxButtons.OK, MessageBoxIcon.Error); return(null); } } else { MessageBox.Show($"No se encontro el archivo de los settings\r\nAsegurate que se encuentre en '{appPath}Data' un archivo llamado Settings.json", "No pude cargar el pool :'c", MessageBoxButtons.OK, MessageBoxIcon.Error); return(null); } }
private void ReceivedTournaments(NetIncomingMessage msg) { SetServerStatus(OnlineStatus.ONLINE); statusReceived = true; var previouslySelectedTournament = lvTournaments.SelectedItem == null ? null : lvTournaments.SelectedItem as VisualizableTorunamentSettings; VisualizableTorunamentSettings selectedTournament = null; availableTournaments.Clear(); List <TournamentSettings> tss = new List <TournamentSettings>(); int count = msg.ReadInt32(); for (int i = 0; i < count; ++i) { TournamentSettings ts = msg.ReadTournamentSettings(); tss.Add(ts); var vts = new VisualizableTorunamentSettings(ts); availableTournaments.Add(vts); if (previouslySelectedTournament != null && selectedTournament == null && previouslySelectedTournament.Name == ts.Name) { lvTournaments.SelectedItem = vts; } } //if (previouslySelectedTournament != null) // lvTournaments.SelectedItem = ; if (ReceivedNewTournamentsCallback != null) { ReceivedNewTournamentsCallback(tss, serverAddress); } lblTournamentCount.Content = count.ToString(Strings.Culture); }
public SettingsViewModel(TournamentSettings settings) { _settings = settings; }