public void PartsTree() { var tc = new TestCore(); tc.Init(); var partstree = new PartsTree("TestData/PartsTreeSystem/Parts.nodes"); tc.Duration = 200; Altseed2.Node added = new Altseed2.Node(); tc.LoopBody( (_) => { added = partstree.InstantiateAndAddToEngine(); }, (_) => { foreach (var c in added.Children) { if (c is TransformNode tc) { tc.Position += new Vector2F(_ * 2f, _ * 2f); } } } ); tc.End(); }
public void AutoCollisionSystem_Circle() { var tc = new TestCore(); tc.Init(); //tc.Duration = int.MaxValue; var texture = Texture2D.LoadStrict(@"TestData/IO/AltseedPink.png"); Assert.NotNull(texture); var scene = new Altseed2.Node(); var manager = new CollisionManagerNode(); scene.AddChildNode(manager); Engine.AddNode(scene); var player = new Player_Circle(texture); scene.AddChildNode(player); var comparison = new SpriteNode() { Texture = texture, CenterPosition = texture.Size / 2, Position = new Vector2F(500f, 100f), Scale = new Vector2F(0.8f, 0.8f), }; var colliderNode = new CircleColliderNode() { Radius = texture.Size.X / 2, }; comparison.AddChildNode(colliderNode); colliderNode.AddChildNode(ColliderVisualizeNodeFactory.Create(colliderNode)); scene.AddChildNode(comparison); tc.LoopBody(null, x => { if (Engine.Keyboard.GetKeyState(Key.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("TestData/Font/mplus-1m-regular.ttf", 30); Assert.NotNull(font); var texture = Texture2D.Load(@"TestData/IO/AltseedPink.png"); Assert.NotNull(texture); var text = new TextNode() { Font = font, Text = "", ZOrder = 10 }; Engine.AddNode(text); var parent = new Altseed2.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(); }
public void TreeDelete() { var tc = new TestCore(); tc.Init(); var t1 = Texture2D.Load(@"TestData/IO/AltseedPink.png"); Assert.NotNull(t1); var s = new Altseed2.Node(); //s.Texture = t1; //s.Position = new Vector2F(100, 100); var s2 = new SpriteNode(); s2.Texture = t1; s2.Position = new Vector2F(100, 100); var s3 = new SpriteNode(); s3.Texture = t1; s3.Position = new Vector2F(100, 100); var s4 = new SpriteNode(); s4.Texture = t1; s4.Position = new Vector2F(100, 100); s.AddChildNode(s2); s2.AddChildNode(s3); s3.AddChildNode(s4); Engine.AddNode(s); tc.LoopBody(c => { if (c == 100) { Engine.RemoveNode(s); } if (c == 101) { Assert.IsFalse(s.IsRegistered); Assert.IsFalse(s2.IsRegistered); Assert.IsFalse(s3.IsRegistered); Assert.IsFalse(s4.IsRegistered); var dc = typeof(Engine).GetField("_DrawnCollection", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null) as DrawnCollection; var drawns = typeof(DrawnCollection).GetField("_Drawns", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(dc) as SortedDictionary <int, HashSet <IDrawn> >; Assert.IsTrue(drawns.All(kv => kv.Value.Count == 0)); } if (c == 110) { Engine.AddNode(s); } if (c == 111) { Assert.IsTrue(s.IsRegistered); Assert.IsTrue(s2.IsRegistered); Assert.IsTrue(s3.IsRegistered); Assert.IsTrue(s4.IsRegistered); var dc = typeof(Engine).GetField("_DrawnCollection", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null) as DrawnCollection; var drawns = typeof(DrawnCollection).GetField("_Drawns", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(dc) as SortedDictionary <int, HashSet <IDrawn> >; Assert.AreEqual(3, drawns.Sum(kv => kv.Value.Count)); } if (c == 120) { s2.RemoveChildNode(s3); s2.FlushQueue(); Assert.AreEqual(RegisteredStatus.Free, s3.Status); Assert.IsTrue(s.IsRegistered); Assert.IsTrue(s2.IsRegistered); Assert.IsFalse(s3.IsRegistered); Assert.IsFalse(s4.IsRegistered); var dc = typeof(Engine).GetField("_DrawnCollection", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null) as DrawnCollection; var drawns = typeof(DrawnCollection).GetField("_Drawns", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(dc) as SortedDictionary <int, HashSet <IDrawn> >; Assert.AreEqual(1, drawns.Sum(kv => kv.Value.Count)); } }, null); tc.End(); }