public void FRect_CollidedSidesWithTouch() { FRect A = new FRect(0, 0, 5, 5); FRect B = new FRect(-4, 0, 5, 5); FRect C = new FRect(-2, -2, 6, 8); FRect D = new FRect(-20, -20, 1, 1); FRect E = new FRect(1, 1, 3, 3); FRect F = new FRect(-1, 0, 5, 5); Collision.RectSide side = Collision.CollidedSidesWithTouch(A, A); Debug.Assert(side.IsSet(Collision.RectSide.Equal), "1"); side = Collision.CollidedSidesWithTouch(B, A); Debug.Assert(side.IsSet(Collision.RectSide.Left) && side.IsSet(Collision.RectSide.Top) && side.IsSet(Collision.RectSide.Bottom), "2"); side = Collision.CollidedSidesWithTouch(C, A); Debug.Assert(side.IsSet(Collision.RectSide.Left) && side.IsSet(Collision.RectSide.Top) && side.IsSet(Collision.RectSide.Bottom), "3"); side = Collision.CollidedSidesWithTouch(D, A); Debug.Assert(side.IsSet(Collision.RectSide.None), "4"); side = Collision.CollidedSidesWithTouch(F, A); Debug.Assert(side.IsSet(Collision.RectSide.Left) && side.IsSet(Collision.RectSide.Top) && side.IsSet(Collision.RectSide.Bottom), "5"); }
public static bool IsNotSet(this Collision.RectSide side, Collision.RectSide flags) { return((side & (~flags)) == 0); }
public static Collision.RectSide Clear(this Collision.RectSide side, Collision.RectSide flags) { return(side & (~flags)); }
public static bool IsSet(this Collision.RectSide side, Collision.RectSide flags) { return((side & flags) == flags); }
public static Collision.RectSide Set(this Collision.RectSide side, Collision.RectSide flags) { return(side | flags); }