public AppGUI() { _simulation = new simulation.VacCenterSimulation(this); _simulation.OnReplicationWillStart(OnReplicationStart); _simulation.OnSimulationDidFinish(OnFinish); _simulation.OnRefreshUI(OnUIRefresh); _simulation.OnPause(OnPause); InitializeComponent(); Init(); _registraciaLabels = new Label[] { labelDlzkaRaduRegistracia, labelDobaCakaniaRegistracia, labelVytazenieRegistracia }; _vysetrenieLabels = new Label[] { labelDlzkaRaduVysetrenie, labelDobaCakaniaVysetrenie, labelVytazenieVysetrenie }; _ockovanieLabels = new Label[] { labelDlzkaRaduOckovanie, labelDobaCakaniaOckovanie, labelVytazenieOckovanie }; _pacientiLabels = new Label[] { labelLudiVCakarni, labelDobaCakaniaCakaren }; _striekackyLabels = new Label[] { labelDlzkaRaduStriekacky, labelDobaCakaniaStriekacky }; _parametreSimulacie = new ParametreSimulacie() { CasSimulacie = 540 * 60, Replikacie = 1000, ReplikaciiNaUpdate = 100, PocetPacientov = _simulation.AgentOkolia.PocetObjednanychPacientov, SpecialnePrichody = false, ZobrazenieZavislosti = false, MinAdminov = _simulation.AgentRegistracie.PocetPracovnikov, MaxAdminov = _simulation.AgentRegistracie.PocetPracovnikov, MinDoktorov = _simulation.AgentVysetrenia.PocetPracovnikov, MaxDoktorov = _simulation.AgentVysetrenia.PocetPracovnikov, MinSestriciek = _simulation.AgentOckovania.PocetPracovnikov, MaxSestriciek = _simulation.AgentOckovania.PocetPracovnikov, AktualAdminov = _simulation.AgentRegistracie.PocetPracovnikov, AktualDoktorov = _simulation.AgentVysetrenia.PocetPracovnikov, AktualSestriciek = _simulation.AgentOckovania.PocetPracovnikov }; trackBarSlider.Maximum = _rychlosti.Length - 1; maxRychlostCHB.Checked = MaximalnaRychlost; InicializujGraf(); PredvyplnVstupy(); }
private void ParseInputs() { bool error = false; bool specialnePrichody; bool zobrazenieZavislosti; bool autoSeed; int seed = 0; int pocetInputov; TextBox[] inputy = { inputAdmini, inputDoktori, inputSestricky, inputReplikacie, inputPocetPacientov, inputMaxDoktori, inputZavislostUpdate }; int[] nacitaneHodnoty = new int[inputy.Length]; pocetInputov = inputy.Length; specialnePrichody = checkBoxSpecifickePrichody.Checked; zobrazenieZavislosti = checkBoxZavislost.Checked; autoSeed = checkBoxAutoSeed.Checked; if (!zobrazenieZavislosti) { pocetInputov -= 2; } for (int i = 0; i < pocetInputov; ++i) { if (ParseParametersInput(inputy[i], out nacitaneHodnoty[i])) { error = true; } } if (!autoSeed) { if (!int.TryParse(inputSeed.Text, out seed)) { error = true; inputSeed.Text = "Wrong value"; } } if (!error) { _parametreSimulacie = new ParametreSimulacie() { MinAdminov = nacitaneHodnoty[0], MinDoktorov = nacitaneHodnoty[1], MinSestriciek = nacitaneHodnoty[2], Replikacie = nacitaneHodnoty[3], PocetPacientov = nacitaneHodnoty[4], SpecialnePrichody = specialnePrichody, ZobrazenieZavislosti = zobrazenieZavislosti }; if (zobrazenieZavislosti) { _parametreSimulacie.MaxDoktorov = nacitaneHodnoty[5]; _parametreSimulacie.ReplikaciiNaUpdate = nacitaneHodnoty[6]; } _parametreSimulacie.AutoSeed = autoSeed; if (!autoSeed) { _parametreSimulacie.Seed = seed; } } }