예제 #1
0
        public void TestEquals()
        {
            Vec2 v1 = new Vec2(3, 5);
            Vec2 v2 = new Vec2(3, 5);
            Vec2 v3 = new Vec2(4, 5);
            Vec2 v4 = new Vec2(0, 0);
            Vec2 v5 = Vec2.Zero;

            object obj2 = v2;

            // typed Equals
            Assert.IsTrue(v1.Equals(v1));
            Assert.IsTrue(v1.Equals(v2));
            Assert.IsFalse(v1.Equals(v3));
            Assert.IsFalse(v3.Equals(v4));
            Assert.IsTrue(v4.Equals(v5));

            // object Equals
            Assert.IsTrue(v1.Equals(obj2));
            Assert.IsTrue(obj2.Equals(v1));
            Assert.IsFalse(v3.Equals(obj2));

            // null
            Assert.IsFalse(v1.Equals(null));
        }
예제 #2
0
        public void TestEquals()
        {
            Vec2 a = new Vec2(4, 3);
            Vec2 b = new Vec2(4, 3);
            Vec2 c = new Vec2(2, 3);

            Assert.AreEqual(true, a.Equals(b));
            Assert.AreEqual(false, a.Equals(c));
        }
예제 #3
0
        public override bool Equals(object obj)
        {
            if (this == obj)
            {
                return(true);
            }
            if (obj == null)
            {
                return(false);
            }
            if (GetType() != obj.GetType())
            {
                return(false);
            }
            var other = (Mat22)obj;

            if (ex == null)
            {
                if (other.ex != null)
                {
                    return(false);
                }
            }
            else if (!ex.Equals(other.ex))
            {
                return(false);
            }
            if (ey == null)
            {
                if (other.ey != null)
                {
                    return(false);
                }
            }
            else if (!ey.Equals(other.ey))
            {
                return(false);
            }
            return(true);
        }
예제 #4
0
    public void Update(double dt)
    {
        CollisionHits();
        if (!States.IsDead)
        {
            Dir = Controller.NeedVel().X > 0 ? 1 : Dir;
            Dir = Controller.NeedVel().X < 0 ? -1 : Dir;
        }
        Vec2 nd = Controller.NeedDash();

        if (!nd.Equals(Vec2.Zero))
        {
            if (States.IsWalking && nd.Y == 0 || (States.IsFlying || States.IsWallgrab) && nd.Y != 0)
            {
                States.Set(new Dash(this, nd));
            }
        }
        States.Update(dt);
        UpdateSword(dt);
        if (Controller.NeedBonus() && !States.IsDead)
        {
            Bonus.Apply();
        }
    }