public World(Vector2 minimumSize, float chunkSize) { var chunkCount = new Vector2(MathF.Ceiling(minimumSize.X / chunkSize), MathF.Ceiling(minimumSize.Y / chunkSize)); ChunksManager = new(chunkCount, chunkSize); ChunksSimulationManager = new ChunksSimulationManager(ChunksManager); }
public NodeChunkTransfersTestScene() { const float chunkSize = 40; const int chunksAmount = 10; chunksManager = new ChunksManager(new Vector2(chunksAmount), chunkSize); simulationManager = new ChunksSimulationManager(chunksManager); CreateChunkDrawables(); nodes = new TestNode[3]; nodes[0] = new TestNode(50); nodes[1] = new TestNode(30); nodes[2] = new TestNode(10); var i = 0; const float center = chunkSize * chunksAmount * 0.5f; foreach (var node in nodes) { chunksManager.AddNode(node); AddChild(new TestNodeDisplay(node, i)); node.Position = new Vector3(center, 0, center); i++; } AddChild(new SpriteText { RelativeSizeAxes = Axes.Both, Text = "Each circle represents a node of a different size.\n" + "Chunks - children count legend:\n" + "red - 3\n" + "yellow - 2\n" + "green - 1\n" + "gray - 0\n" }); }
public TestSuite() { ChunksManager = new ChunksManager(new Vector2(4), 1); SimulationManager = new ChunksSimulationManager(ChunksManager); Nodes = new TestNode[4][]; for (var y = 0; y <= 3; y++) { Nodes[y] = new TestNode[4]; for (var x = 0; x <= 3; x++) { ChunksManager.AddNode(Nodes[y][x] = new TestNode { Position = new Vector3(x, 0, y) }); } } }
public void Simulate(double newTime) => ChunksSimulationManager.Simulate(newTime);