/// <summary> /// Egy új szimuláció elkészítésekor. /// </summary> private void Model_SimCreated(object sender, NewmazonEventArgs e) { _model = (NewmazonModel)sender; Size1 = _model._kozpont.tableSize; Size2 = _model._kozpont.tableSize; OnPropertyChanged("Size1"); OnPropertyChanged("Size2"); Fields.Clear(); for (Int32 i = 0; i < _model._kozpont.tableSize; i++) // inicializáljuk a mezőket { for (Int32 j = 0; j < _model._kozpont.tableSize; j++) { Fields.Add(new NewmazonField { Content = "", Identity = 'M', X = i, Y = j, Number = i * _model._kozpont.tableSize + j, // a gomb sorszáma, amelyet felhasználunk az azonosításhoz }); } } TimeStart(); RefreshTable(); }
/// <summary> /// App elindulásakor adatok init-je, eventek kapcsolása, timer elindítása. /// </summary> private void App_Startup(object sender, StartupEventArgs e) { IPersistence dataAccess; dataAccess = new NewmazonFileDataAccess(AppDomain.CurrentDomain.BaseDirectory); sec = 0; ms = 500; _model = new NewmazonModel(dataAccess); _model._kozpont.SimOver += new EventHandler <NewmazonEventArgs>(Model_SimOver); char[,] dt = { { 'R', 'M', 'M', 'M', 'M' }, { 'F', 'M', 'P', 'M', 'M' }, { 'F', 'M', 'P', 'M', 'T' }, { 'F', 'M', 'M', 'M', 'M' }, { 'F', 'M', 'C', 'M', 'C' } }; List <Goods> g = new List <Goods>(); int[] g1 = new int[1]; g1[0] = 1; int[] g2 = new int[2]; g2[0] = 1; g2[1] = 2; g.Add(new Goods(1, 2, g1)); g.Add(new Goods(2, 2, g2)); int tS = 5; int rE = 100; AllData data = new AllData(dt, g, tS, rE); _model._kozpont.NewSimulation(data); _viewModel = new NewmazonViewModel(_model); _viewModel.ExitApp += new EventHandler(ViewModel_ExitApp); _viewModel.NewSim += new EventHandler(MenuFileNewSim_Click); _viewModel.ResSim += new EventHandler(MenuFileRestartSim_Click); _viewModel.TimeRestart += new EventHandler(ViewModel_TimeRestart); _viewModel.SpeedUp += new EventHandler(ViewModel_SpeedUp); _viewModel.SlowDown += new EventHandler(ViewModel_SlowDown); _view = new MainWindow(); _view.DataContext = _viewModel; _view.Closing += new System.ComponentModel.CancelEventHandler(View_Closing); // eseménykezelés a bezáráshoz _view.Show(); _timer = new DispatcherTimer(); _timer.Interval = new TimeSpan(0, 0, 0, sec, ms); _timer.Tick += Timer_Tick; _timer.Start(); }
public void InInitialize() { char[,] dt = { { 'R', 'M', 'M', 'M', 'M' }, { 'F', 'M', 'P', 'M', 'M' }, { 'F', 'M', 'P', 'M', 'T' }, { 'F', 'M', 'M', 'M', 'M' }, { 'F', 'M', 'C', 'M', 'C' } }; List <Goods> g = new List <Goods>(); int[] g1 = new int[1]; g1[0] = 1; int[] g2 = new int[2]; g2[0] = 1; g2[1] = 2; g.Add(new Goods(1, 2, g1)); g.Add(new Goods(2, 2, g2)); int tS = 5; int rE = 100; data = new AllData(dt, g, tS, rE); _model = new NewmazonModel(null); }
/// <summary> /// Fő konstruktor /// </summary> public NewmazonViewModel(NewmazonModel model) { _model = model; Size1 = _model._kozpont.tableSize; Size2 = _model._kozpont.tableSize; OnPropertyChanged("Size1"); OnPropertyChanged("Size2"); //parancsok hozzáadása ExitCommand = new DelegateCommand(param => OnExitApp()); NewsimCommand = new DelegateCommand(param => OnNewsim()); RessimCommand = new DelegateCommand(param => RestartSim()); SpeedUpCommand = new DelegateCommand(param => OnSpeedUp()); SlowDownCommand = new DelegateCommand(param => OnSlowDown()); model.SimCreated += new EventHandler <NewmazonEventArgs>(Model_SimCreated); model.SimAdvanced += new EventHandler <NewmazonEventArgs>(Model_SimAdvanced); Fields = new ObservableCollection <NewmazonField>(); for (Int32 i = 0; i < _model._kozpont.tableSize; i++) // inicializáljuk a mezőket { for (Int32 j = 0; j < _model._kozpont.tableSize; j++) { Fields.Add(new NewmazonField { Content = "", // Üres minden mező tartalma az elején Identity = 'M', // Először mindegyik csak rendes mező X = i, Y = j, Number = i * _model._kozpont.tableSize + j, // a gomb sorszáma, amelyet felhasználunk az azonosításhoz }); } } //A tábla update-elése releváns adatokkall RefreshTable(); }