Esempio n. 1
0
        public override void Initialize()
        {
            base.Initialize();

            new ControlHandler(this);

            _collided = new SortedSet <string>();
            Page p = new Page(this, "Page");

            p.Show();
            _collidedLabel = new Label(p, "CollidedLabel", new Point(0, 0));
            _collidedLabel.Body.Position = new Vector2(10, 560);
            for (int x = 0; x < 3; x++)
            {
                ResolutionTestNode c = new ResolutionTestNode(this, "A" + x);
                c.Collision.Group.AddMask(0);
                c.Collision.Pair.AddMask(0);
                c.Collision.Pair.AddMask(2);
                c.Collision.ResolutionGroup.AddMask(0);
                c.Collision.ResolutionGroup.AddMask(1);
                c.Collision.ResolutionGroup.AddMask(2);
                c.Collision.CollideEvent +=
                    manifold =>
                    _collided.Add(manifold.A != c.Collision ? manifold.A.Parent.Name : manifold.B.Parent.Name);
                c.Collision.Debug = true;
                c.Body.Position   = new Vector2(30, 80 * x + 20);
            }
            for (int x = 0; x < 3; x++)
            {
                ResolutionTestNode c = new ResolutionTestNode(this, "B" + x);
                c.Collision.Group.AddMask(1);
                c.Collision.Pair.AddMask(0);
                c.Collision.Pair.AddMask(2);
                c.Collision.ResolutionGroup.AddMask(0);
                c.Collision.CollideEvent += manifold => _collided.Add(manifold.A != c.Collision ? manifold.A.Parent.Name : manifold.B.Parent.Name);
                c.Collision.Debug         = true;
                c.Body.Position           = new Vector2(510, 80 * x + 20);
                c.Color      = Color.Orange;
                c.HoverColor = Color.Violet;
            }

            for (int x = 0; x < 3; x++)
            {
                ResolutionTestNode c = new ResolutionTestNode(this, "C" + x);
                c.Collision.Group.AddMask(2);
                c.Collision.Pair.AddMask(0);
                c.Collision.Pair.AddMask(1);
                c.Collision.ResolutionGroup.AddMask(0);
                c.Collision.ResolutionGroup.AddMask(1);
                c.Collision.CollideEvent += manifold => _collided.Add(manifold.A != c.Collision ? manifold.A.Parent.Name : manifold.B.Parent.Name);
                c.Collision.Immovable     = true;
                c.Collision.Debug         = true;
                c.Body.Position           = new Vector2(50 + x * 70, 450);
                c.Color      = Color.Green;
                c.HoverColor = Color.DarkBlue;
            }
        }
        public override void Initialize()
        {
            base.Initialize();

            new ControlHandler(this);

            _collided = new SortedSet<string>();
            Page p = new Page(this, "Page");
            p.Show();
            _collidedLabel = new Label(p, "CollidedLabel", new Point(0, 0));
            _collidedLabel.Body.Position = new Vector2(10, 560);
            for (int x = 0; x < 3; x++)
            {
                ResolutionTestNode c = new ResolutionTestNode(this, "A" + x);
                c.Collision.Group.AddMask(0);
                c.Collision.Pair.AddMask(0);
                c.Collision.Pair.AddMask(2);
                c.Collision.ResolutionGroup.AddMask(0);
                c.Collision.ResolutionGroup.AddMask(1);
                c.Collision.ResolutionGroup.AddMask(2);
                c.Collision.CollideEvent +=
                    manifold =>
                        _collided.Add(manifold.A != c.Collision ? manifold.A.Parent.Name : manifold.B.Parent.Name);
                c.Collision.Debug = true;
                c.Body.Position = new Vector2(30, 80 * x + 20);
            }
            for (int x = 0; x < 3; x++)
            {
                ResolutionTestNode c = new ResolutionTestNode(this, "B" + x);
                c.Collision.Group.AddMask(1);
                c.Collision.Pair.AddMask(0);
                c.Collision.Pair.AddMask(2);
                c.Collision.ResolutionGroup.AddMask(0);
                c.Collision.CollideEvent += manifold => _collided.Add(manifold.A != c.Collision ? manifold.A.Parent.Name : manifold.B.Parent.Name);
                c.Collision.Debug = true;
                c.Body.Position = new Vector2(510, 80 * x + 20);
                c.Color = Color.Orange;
                c.HoverColor = Color.Violet;
            }

            for (int x = 0; x < 3; x++)
            {
                ResolutionTestNode c = new ResolutionTestNode(this, "C" + x);
                c.Collision.Group.AddMask(2);
                c.Collision.Pair.AddMask(0);
                c.Collision.Pair.AddMask(1);
                c.Collision.ResolutionGroup.AddMask(0);
                c.Collision.ResolutionGroup.AddMask(1);
                c.Collision.CollideEvent += manifold => _collided.Add(manifold.A != c.Collision ? manifold.A.Parent.Name : manifold.B.Parent.Name);
                c.Collision.Immovable = true;
                c.Collision.Debug = true;
                c.Body.Position = new Vector2(50 + x * 70, 450);
                c.Color = Color.Green;
                c.HoverColor = Color.DarkBlue;
            }
        }