using Godot; using System; using Particles.ParticleSimulation; public class Main : Node { public int Seed; public float Zoom; private int _nParticles; public override void _Ready() { OS.MinWindowSize = new Vector2(1024, 600); } public void StartSimulation(int nParticles) { _nParticles = nParticles; var particleSimulationPackedScene = GD.Load("res://ParticleSimulation/ParticleSimulationScene.tscn"); var particleSimulationScene = particleSimulationPackedScene.Instance(); particleSimulationScene.Name = Seed.ToString(); AddChild(particleSimulationScene); particleSimulationScene.Initialize(Seed, nParticles, Zoom); GetNode("MainMenu").Hide(); } public void ExitToMenu() { GetNode(Seed.ToString()).QueueFree(); GetNode("MainMenu").Show(); GetNode("MainMenu").RefreshSeedText(); } public void RestartSimulation() { GetNode(Seed.ToString()).Hide(); GetNode(Seed.ToString()).QueueFree(); Seed = Mathf.Abs((int)GD.Randi()); StartSimulation(_nParticles); } }