public void AutoCollisionSystem() { var tc = new TestCore() { Duration = int.MaxValue }; tc.Init(); var texture = Texture2D.Load(@"../../Core/TestData/IO/AltseedPink.png"); Assert.NotNull(texture); var scene = new Altseed.Node(); var manager = new CollisionManagerNode(); scene.AddChildNode(manager); Engine.AddNode(scene); var player = new Player(texture); scene.AddChildNode(player); var comparison = new SpriteNode() { Texture = texture, Position = new Vector2F(300f, 300f) }; var colliderNode = new CircleColliderNode() { Radius = texture.Size.X / 2, Position = comparison.Position }; comparison.AddChildNode(colliderNode); scene.AddChildNode(comparison); tc.LoopBody(null, x => { if (Engine.Keyboard.GetKeyState(Keys.Escape) == ButtonState.Push) { tc.Duration = 0; } if (x == 10) { Assert.True(manager.ContainsCollider(colliderNode)); Assert.AreEqual(manager.ColliderCount, 2); } }); tc.End(); }
public void Culling() { var tc = new TestCore(); tc.Init(); var font = Font.LoadDynamicFont("../../Core/TestData/Font/mplus-1m-regular.ttf", 30); Assert.NotNull(font); var texture = Texture2D.Load(@"../../Core/TestData/IO/AltseedPink.png"); Assert.NotNull(texture); var text = new TextNode() { Font = font, Text = "", ZOrder = 10 }; Engine.AddNode(text); var parent = new Altseed.Node(); Engine.AddNode(parent); tc.LoopBody(c => { text.Text = "Drawing Object : " + Engine.CullingSystem.DrawingRenderedCount + " FPS: " + Engine.CurrentFPS.ToString(); var node = new SpriteNode(); node.Src = new RectF(new Vector2F(100, 100), new Vector2F(200, 200)); node.Texture = texture; node.Position = new Vector2F(200, -500); parent.AddChildNode(node); foreach (var item in parent.Children.OfType <SpriteNode>()) { item.Position += new Vector2F(0, 10); } }, null); tc.End(); }