public StatusWindow(StatusList statusList, Rectangle source, bool showAnyStatus) { _statusList = statusList; _source = source; _showAnyStatus = showAnyStatus; _blackButtonStyle = Application.Current.Resources["BlackButton"] as Style; InitializeComponent(); }
public EditRule(Rule rule, StatusList statusList) { _rule = rule; _statusList = statusList; InitializeComponent(); InitializeCheckTextBox(); InitializeCanvas(); }
public RuleSettingWindow(List <Rule> rules, StatusList status) { InitializeComponent(); _rules = rules; _status = status; _blackButtonStyle = Application.Current.Resources["BlackButton"] as Style; RefreshList(); }
public MainWindow() { _map = new Map(10, 10); _rules = new List <Rule>(0); _status = new StatusList(); InitializeComponent(); _dispatcherTimer.Tick += dispatcherTimer_Tick; _dispatcherTimer.Interval = new TimeSpan(0, 0, 1); //_dispatcherTimer.Start(); }
public EditStatus(StatusList statusList, Status status) { _statusList = statusList; _status = status; InitializeComponent(); NameTextBox.Text = status.Description; RTextBox.Text = status.DisplayColor.R.ToString(); GTextBox.Text = status.DisplayColor.G.ToString(); BTextBox.Text = status.DisplayColor.B.ToString(); NameTextBox.TextChanged += NameTextBox_TextChanged; RTextBox.TextChanged += RGBTextBox_TextChanged; GTextBox.TextChanged += RGBTextBox_TextChanged; BTextBox.TextChanged += RGBTextBox_TextChanged; }
private void LoadButton_Click(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Cellular Automaton Game File (*.cag)|*.cag"; _rules = new List <Rule>(); _status = new StatusList(false); if (openFileDialog.ShowDialog() == true) { string[] allLines = File.ReadAllLines(openFileDialog.FileName); int mapLineLeft = 0; foreach (var line in allLines) { string trim = line.Trim(' ', '\t'); if (trim.StartsWith("$")) { continue; } if (trim.Length == 0) { continue; } if (mapLineLeft > 0) { string[] split = trim.Split('#'); for (int j = 0; j < _map.Height; ++j) { _map[_map.Width - mapLineLeft, j] = int.Parse(split[j]); } --mapLineLeft; if (mapLineLeft == 0) { ReconstructGrid(); } continue; } if (trim.StartsWith("s")) { // Status Line string[] split = trim.Split('#'); Status newStatus = new Status(split[1], Color.FromRgb(byte.Parse(split[2]), byte.Parse(split[3]), byte.Parse(split[4]))); _status.Add(newStatus); } else if (trim.StartsWith("r")) { // Rule Line string[] split = trim.Split('#'); Rule newRule = new Rule(split[1], int.Parse(split[2]), int.Parse(split[3]), int.Parse(split[4]), int.Parse(split[5]), short.Parse(split[7])); newRule.Result = int.Parse(split[6]); int s = 8; for (int i = -newRule.Left; i <= newRule.Right; ++i) { for (int j = -newRule.Top; j <= newRule.Bottom; ++j) { newRule[i, j] = int.Parse(split[s]); ++s; } } _rules.Add(newRule); } else if (trim.StartsWith("m")) { string[] split = trim.Split('#'); _map = new Map(int.Parse(split[1]), int.Parse(split[2]), (Map.EdgeType) int.Parse(split[3])); mapLineLeft = _map.Width; } } } CalculateFitTransform(); SetFixedTransforms(); ResetTransforms(); }