public void ResizeCompoundPanel(string mode) { var bars = compoundsPanelBarContainer.GetChildren(); if (mode == "compress" && !compundCompressed) { compundCompressed = true; compoundsPanelBarContainer.AddConstantOverride("vseparation", 20); compoundsPanelBarContainer.AddConstantOverride("hseparation", 14); if (bars.Count < 4) { compoundsPanelBarContainer.Columns = 2; } else { compoundsPanelBarContainer.Columns = 3; } foreach (ProgressBar bar in bars) { panelsTween.InterpolateProperty(bar, "rect_min_size", new Vector2(90, 25), new Vector2(64, 25), 0.3f); panelsTween.Start(); bar.GetNode <Label>("Label").Hide(); } } if (mode == "expand" && compundCompressed) { compundCompressed = false; compoundsPanelBarContainer.Columns = 1; compoundsPanelBarContainer.AddConstantOverride("vseparation", 5); compoundsPanelBarContainer.AddConstantOverride("hseparation", 0); foreach (ProgressBar bar in bars) { panelsTween.InterpolateProperty(bar, "rect_min_size", bar.RectMinSize, new Vector2(220, 25), 0.3f); panelsTween.Start(); bar.GetNode <Label>("Label").Show(); } } }
public void ResizeEnvironmentPanel(string mode) { var bars = environmentPanelBarContainer.GetChildren(); if (mode == "compress" && !environmentCompressed) { environmentCompressed = true; GUICommon.Instance.TweenUIProperty( environmentPanel, "rect_min_size", environmentPanel.RectMinSize, new Vector2(195, 170), 0.3f); environmentPanelBarContainer.Columns = 2; environmentPanelBarContainer.AddConstantOverride("vseparation", 20); environmentPanelBarContainer.AddConstantOverride("hseparation", 17); foreach (ProgressBar bar in bars) { GUICommon.Instance.TweenUIProperty( bar, "rect_min_size", new Vector2(95, 25), new Vector2(73, 25), 0.3f); bar.GetNode <Label>("Label").Hide(); bar.GetNode <Label>("Value").Align = Label.AlignEnum.Center; } } if (mode == "expand" && environmentCompressed) { environmentCompressed = false; GUICommon.Instance.TweenUIProperty( environmentPanel, "rect_min_size", environmentPanel.RectMinSize, new Vector2(195, 224), 0.3f); environmentPanelBarContainer.Columns = 1; environmentPanelBarContainer.AddConstantOverride("vseparation", 4); environmentPanelBarContainer.AddConstantOverride("hseparation", 0); foreach (ProgressBar bar in bars) { GUICommon.Instance.TweenUIProperty( bar, "rect_min_size", bar.RectMinSize, new Vector2(162, 25), 0.3f); bar.GetNode <Label>("Label").Show(); bar.GetNode <Label>("Value").Align = Label.AlignEnum.Right; } } }
public void ResizeEnvironmentPanel(string mode) { var bars = environmentPanelBarContainer.GetChildren(); if (mode == "compress" && !environmentCompressed) { environmentCompressed = true; environmentPanelBarContainer.Columns = 2; environmentPanelBarContainer.AddConstantOverride("vseparation", 20); environmentPanelBarContainer.AddConstantOverride("hseparation", 17); foreach (ProgressBar bar in bars) { panelsTween.InterpolateProperty(bar, "rect_min_size:x", 95, 73, 0.3f); panelsTween.Start(); bar.GetNode <Label>("Label").Hide(); bar.GetNode <Label>("Value").Align = Label.AlignEnum.Center; } } if (mode == "expand" && environmentCompressed) { environmentCompressed = false; environmentPanelBarContainer.Columns = 1; environmentPanelBarContainer.AddConstantOverride("vseparation", 4); environmentPanelBarContainer.AddConstantOverride("hseparation", 0); foreach (ProgressBar bar in bars) { panelsTween.InterpolateProperty(bar, "rect_min_size:x", bar.RectMinSize.x, 162, 0.3f); panelsTween.Start(); bar.GetNode <Label>("Label").Show(); bar.GetNode <Label>("Value").Align = Label.AlignEnum.Right; } } }
public void ResizeEnvironmentPanel(string mode) { var bars = environmentPanelBarContainer.GetChildren(); if (mode == "compress" && !environmentCompressed) { environmentCompressed = true; HandleEnvironmentResize(170, 2, 20, 17); foreach (ProgressBar bar in bars) { panelsTween.InterpolateProperty( bar, "rect_min_size", new Vector2(95, 25), new Vector2(73, 25), 0.3f); panelsTween.Start(); bar.GetNode <Label>("Label").Hide(); bar.GetNode <Label>("Value").Align = Label.AlignEnum.Center; } } if (mode == "expand" && environmentCompressed) { environmentCompressed = false; HandleEnvironmentResize(224, 1, 4, 0); foreach (ProgressBar bar in bars) { panelsTween.InterpolateProperty(bar, "rect_min_size", bar.RectMinSize, new Vector2(162, 25), 0.3f); panelsTween.Start(); bar.GetNode <Label>("Label").Show(); bar.GetNode <Label>("Value").Align = Label.AlignEnum.Right; } } }
public async void SearchSimulation() { Control root = GetNode("SearchSimulation") as Control; root.SetVisible(true); Tween tween = new Tween(); AddChild(tween); // setting up maps GridContainer mapContainer = root.GetNode("NodeMaps") as GridContainer; List <NodeMap> maps = new List <NodeMap>(); foreach (Node node in mapContainer.GetChildren()) { maps.Add(node.GetNode("NodeMap") as NodeMap); } // setup the chart Control chart = root.GetNode("Chart") as Control; Random random = new Random(); int seed = -1; foreach (NodeMap maze in maps) { maze.SetWidth(55); maze.ResizeBlock(); } // rename the title and size (mapContainer.GetNode("DFS/GraphTitle") as Label).Text = "DFS - " + maps[0].width + " x " + maps[0].height; (mapContainer.GetNode("BFS/GraphTitle") as Label).Text = "BFS - " + maps[1].width + " x " + maps[1].height; (mapContainer.GetNode("Dijkstra/GraphTitle") as Label).Text = "Dijkstra - " + maps[2].width + " x " + maps[2].height; (mapContainer.GetNode("AStar/GraphTitle") as Label).Text = "AStar - " + maps[3].width + " x " + maps[3].height; // reset the active nodemap activeNodeMaps.Clear(); paths.Clear(); foreach (NodeMap map in maps) { activeNodeMaps.Add(map, true); // connect the signals map.Connect("finished_pathfinding", this, nameof(OnPathFound)); paths[map] = new Tuple <Godot.Collections.Array <int>, Godot.Collections.Array <int> >(new Godot.Collections.Array <int>(), new Godot.Collections.Array <int>()); } for (int i = 0; i < 20; i++) { seed = random.Next(); foreach (NodeMap maze in maps) { maze.seed = seed; maze.GenerateMap(); } foreach (NodeMap map in maps) { activeNodeMaps[map] = true; WaitForActiveNodeMaps(map); } await ToSignal(this, "active_nodemaps_finished"); // record place foreach (NodeMap map in maps) { activeNodeMaps[map] = true; } // record distance here and expansion maps[0].DFS(); maps[1].BFS(); maps[2].Dijkstra(); maps[3].AStar(); await ToSignal(this, "active_nodemaps_finished"); // toggle all the info now } await ToSignal(this, "next"); tween = CommonTweenUtil.Fade(root, 0.3f, 1, 0, tween); tween.Start(); await ToSignal(tween, "tween_completed"); tween.QueueFree(); root.SetVisible(false); EmitSignal("section_finished"); }