void ReleaseDesignerOutlets() { if (CSharpFile != null) { CSharpFile.Dispose(); CSharpFile = null; } if (HTMLFile != null) { HTMLFile.Dispose(); HTMLFile = null; } if (MarkDownFile != null) { MarkDownFile.Dispose(); MarkDownFile = null; } if (XMLFile != null) { XMLFile.Dispose(); XMLFile = null; } if (ChooseButton != null) { ChooseButton.Dispose(); ChooseButton = null; } }
public void NameTextBox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)Keys.Enter) { UserController activeController = UserControllerManager.GetActive(); if (activeController is ChooseButton) { ChooseButton button = (ChooseButton)activeController; if (!(button is null)) { button.Text = this.Text; } e.Handled = true; button.Refresh(); // Refresh print of button } else if (activeController is ToggleSwitch) { ToggleSwitch toggleSwitch = (ToggleSwitch)activeController; if (!(toggleSwitch is null)) { toggleSwitch.SwitchText = Text; } e.Handled = true; toggleSwitch.Refresh(); // Refresh print of button } } }
void OnMouseDown() { if (PlayerPrefs.GetInt("Money") >= PlayerPrefs.GetInt("Price")) //Условие проверки того, хватает ли игроку звёзд на покупку нового куба. { PlayerPrefs.SetString(CubeSeen.GetComponent <ChooseCube>().ChosenCube, "Available"); //У CubeSeen берётся из скрипта ChooseCube переменная, в которой записано имя выбранного на данный момент куба, куб записывается в PlayerPrefs как доступный. PlayerPrefs.SetInt("Money", PlayerPrefs.GetInt("Money") - PlayerPrefs.GetInt("Price")); //Уменьшение кол-ва звёзд на 50 как результат покупки. MainCube.GetComponent <MeshRenderer>().material = GameObject.Find(CubeSeen.GetComponent <ChooseCube>().ChosenCube).GetComponent <MeshRenderer>().material; //Нахождение материала выбранного куба и передача его основному кубу. PlayerPrefs.SetString("Now Cube", CubeSeen.GetComponent <ChooseCube>().ChosenCube); Bearer.GetComponent <AudioSource>().clip = Purchase; Bearer.GetComponent <AudioSource>().Play(); ChooseButton.SetActive(true); gameObject.SetActive(false); } }
void ReleaseDesignerOutlets() { if (TakeButton != null) { TakeButton.Dispose(); TakeButton = null; } if (ChooseButton != null) { ChooseButton.Dispose(); ChooseButton = null; } if (PictureImage != null) { PictureImage.Dispose(); PictureImage = null; } }
void ReleaseDesignerOutlets() { if (CancelButton != null) { CancelButton.Dispose(); CancelButton = null; } if (ChooseButton != null) { ChooseButton.Dispose(); ChooseButton = null; } if (ContainerView != null) { ContainerView.Dispose(); ContainerView = null; } if (rootView != null) { rootView.Dispose(); rootView = null; } if (TableView != null) { TableView.Dispose(); TableView = null; } if (Title != null) { Title.Dispose(); Title = null; } }
private void FileList_MouseDoubleClick(object sender, MouseEventArgs e) { var list = new List <ListViewItem>(); var skip = FileList.Items.Cast <ListViewItem>().Any(i => i.Text == ".."); if (FileList.SelectedItems.Count != 0) { var lvi = FileList.SelectedItems[0]; int index = skip ? lvi.Index - 1 : lvi.Index; switch (lvi.ImageIndex) { case 0: if (FileList.SelectedItems?[0].Text == "..") { var parNode = (FtpTreeNode)DirectoryTree.SelectedNode.Parent; parNode.Select(); } else { var parNode = (FtpTreeNode)DirectoryTree.SelectedNode; var selectedNode = (FtpTreeNode)parNode.Nodes[index]; selectedNode.Select(); } break; case 1: ChooseButton.PerformClick(); break; //} } } else { SelectedFileNameDisplay = Empty; } }
static public void AddChooseButton(ChooseButton chooseButton) { chooseButtons.Add(chooseButton); colorPicker.pickMouseDown(new MouseEventHandler(chooseButton.GetOnMouseClick())); }
public static int Generate(Unit unit, Grid grid, CancellationToken token, MainWindow form, int width, int height) { List <AnswerBucket> buckets = new List <AnswerBucket>(); List <ChooseButton> buttons = new List <ChooseButton>(); List <AnswerGrid> ansGrids = new List <AnswerGrid>(); Label timer = null; if (unit.Type == UnitTypes.Sort) { #pragma warning disable CS4014 // Так как этот вызов не ожидается, выполнение существующего метода продолжается до завершения вызова Task.WaitAny(InvokeInSTA(() => { for (int i = 0; i < unit.ImagePaths.Count; i++) { var item = new AnswerBucket() { Margin = new Thickness(15, 0, 15, 0) }; item.answer = 0; buckets.Add(item); item.Drop += Item_Drop; item.AllowDrop = true; form.AnswerStack.Children.Add(item); } var margin = (width - (400 * width / 800) - (150 * unit.ImagePaths.Count)) / (unit.ImagePaths.Count - 1) + 150; for (int i = 0; i < unit.ImagePaths.Count; i++) { var i1 = i; var path = Directory.GetCurrentDirectory() + "\\" + unit.ImagePaths[i]; var num = unit.ImageValues[i]; var img = new Image() { Width = 125, Height = 125, Margin = new Thickness(i * 150 + 15, 0, 0, 0), HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Center, Source = new BitmapImage(new Uri(path)) }; Grid.SetColumnSpan(img, 2); img.MouseDown += (x, y) => { var dragData = new DataObject(typeof(TestObject), new TestObject(img, unit.ImageValues[i1], (x as Image).Parent as Panel)); DragDrop.DoDragDrop((Image)x, dragData, DragDropEffects.Copy); }; grid.Children.Add(img); } })); #pragma warning restore CS4014 // Так как этот вызов не ожидается, выполнение существующего метода продолжается до завершения вызова } else if (unit.Type == UnitTypes.Choose) { Task.WaitAny(InvokeInSTA(() => { for (int i = 0; i < unit.ImagePaths.Count; i++) { var item = new ChooseButton() { Margin = new Thickness(15), Width = 220, Height = 75 }; buttons.Add(item); item.Text.FontSize = 28; item.Click += (x, y) => { foreach (var j in buttons) { j.toggled = false; } (x as ChooseButton).toggled = true; }; form.AnswerStack.Children.Add(item); } for (int i = 0; i < unit.ImagePaths.Count; i++) { var i1 = i; var path = Directory.GetCurrentDirectory() + "\\" + unit.ImagePaths[i]; var num = unit.ImageValues[i]; var img = new Image() { Width = 150, Height = 150, Margin = new Thickness(i * 250, 0, 0, 0), HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Center, Source = new BitmapImage(new Uri(path)) }; grid.Children.Add(img); } })); } else if (unit.Type == UnitTypes.Count) { List <Point> objectPoints = new List <Point>(); Task.WaitAny(InvokeInSTA(() => { for (int i = 0; i < 9; i++) { var item = new ChooseButton() { Margin = new Thickness(10, 100, 10, 0), Width = 75, Height = 75 }; buttons.Add(item); item.Text.FontSize = 24; item.Text.Content = i + 1; item.defaultString = "" + (i + 1); item.toggledString = "" + (i + 1); item.Click += (x, y) => { foreach (var j in buttons) { j.toggled = false; } (x as ChooseButton).toggled = true; }; form.AnswerStack.Children.Add(item); } for (int i = 0; i < unit.ImagePaths.Count; i++) { for (int z = 0; z < unit.ImageValues[i]; z++) { var x = rand.Next(width - 400); var y = rand.Next(height - 300); while (true) { if (objectPoints.Count == 0) { break; } bool finded = true; foreach (var k in objectPoints) { if ((x > k.X - 100 && x < k.X + 100) && (y > k.Y - 100 && y < k.Y + 100)) { finded = false; break; } } if (finded) { break; } else { x = rand.Next(width - 400); y = rand.Next(height - 300); } } var p = new Point(x, y); objectPoints.Add(p); var i1 = i; var path = Directory.GetCurrentDirectory() + "\\" + unit.ImagePaths[i]; var num = unit.ImageValues[i]; var img = new Image() { Width = 75, Height = 75, Margin = new Thickness(x, -100 + y, 0, 0), HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Source = new BitmapImage(new Uri(path)) }; grid.Children.Add(img); } } })); } else if (unit.Type == UnitTypes.Group) { List <Point> objectPoints = new List <Point>(); #pragma warning disable CS4014 // Так как этот вызов не ожидается, выполнение существующего метода продолжается до завершения вызова Task.WaitAny(InvokeInSTA(() => { for (int i = 0; i < 2; i++) { var item = new AnswerGrid() { Margin = new Thickness(25, 120, 25, 0), Height = height - 170, Width = (width / 2) - 50 }; item.answer = ""; ansGrids.Add(item); item.Drop += Item_Drop_To_AnsGrid; item.AllowDrop = true; form.AnswerStack.Children.Add(item); } reGenerate: for (int i = 0; i < unit.ImagePaths.Count; i++) { var imgSize = 125; var imgMargin = 15; Func <int> rollX = () => rand.Next((int)ansGrids[0].Width - imgSize - imgMargin * 2); Func <int> rollY = () => rand.Next((int)ansGrids[0].Height - imgSize - imgMargin * 2); var x = rollX(); var y = rollY(); var errCounter = 0; while (errCounter++ < 100) { if (objectPoints.Count == 0) { break; } bool finded = true; foreach (var k in objectPoints) { if (x > k.X - imgSize && x < k.X + imgSize && y > k.Y - imgSize && y < k.Y + imgSize) { finded = false; break; } } if (finded) { break; } else { x = rollX(); y = rollY(); } } if (errCounter >= 25) { objectPoints.Clear(); for (int z = 0; z < ansGrids[0].Bucket.Children.Count; z++) { if (ansGrids[0].Bucket.Children[z] is Image) { ansGrids[0].Bucket.Children.Remove(ansGrids[0].Bucket.Children[z--]); } } ansGrids[0].answer = ""; GC.Collect(); goto reGenerate; } var p = new Point(x, y); objectPoints.Add(p); var i1 = i; var path = Directory.GetCurrentDirectory() + "\\" + unit.ImagePaths[i]; var num = unit.ImageValues[i]; var img = new Image() { Width = imgSize, Height = imgSize, Margin = new Thickness(x + imgMargin, y + imgMargin, 0, 0), HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Source = new BitmapImage(new Uri(path)) }; img.MouseDown += (x1, y1) => { var dragData = new DataObject(typeof(TestObject), new TestObject(img, unit.ImageValues[i1], (x1 as Image).Parent as Panel)); DragDrop.DoDragDrop((Image)x1, dragData, DragDropEffects.Copy); }; ansGrids[0].Bucket.Children.Add(img); ansGrids[0].answer += unit.ImageValues[i1]; } })); #pragma warning restore CS4014 // Так как этот вызов не ожидается, выполнение существующего метода продолжается до завершения вызова } Task.WaitAny(InvokeInSTA(() => timer = (grid as FrameworkElement).FindName("TimeLabel") as Label)); int time = 0; while (time >= 0 && !token.IsCancellationRequested) { InvokeInSTA(() => { var minutes = time / 60; var seconds = time % 60; timer.Content = (minutes >= 10 ? "" + minutes : "0" + minutes) + ":" + (seconds >= 10 ? "" + seconds : "0" + seconds); }); Task.WaitAny(Task.Delay(1000)); time++; } if (time == 0) { return(1); } else { return(0); } }