예제 #1
0
        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"
            });
        }
예제 #3
0
 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)
             });
         }
     }
 }
예제 #4
0
 public void Simulate(double newTime) => ChunksSimulationManager.Simulate(newTime);