Esempio n. 1
0
        //------------------------------------------------------------------------------------------------------------------------
        //                                                        HitTest()
        //------------------------------------------------------------------------------------------------------------------------
        public override bool HitTest(Collider other)
        {
            if (other is BoxCollider)
            {
                BoxCollider boxCollider = other as BoxCollider;
                Sprite sprite1 = this._owner;
                Sprite sprite2 = boxCollider._owner;

                float sprite1Left = sprite1.x - sprite1.originX;
                float sprite1Right = sprite1.x + sprite1.width - sprite1.originX;
                float sprite2Left = sprite2.x - sprite2.originX;
                float sprite2Right = sprite2.x + sprite2.width - sprite2.originX;
                if (sprite1Left > sprite2Right) return false;
                if (sprite2Left > sprite1Right) return false;

                float sprite1Top = sprite1.y - sprite1.originY;
                float sprite1Bottom = sprite1.y + sprite1.height - sprite1.originY;
                float sprite2Top = sprite2.y - sprite2.originY;
                float sprite2Bottom = sprite2.y + sprite2.height - sprite2.originY;
                if (sprite1Top > sprite2Bottom) return false;
                if (sprite2Top > sprite1Bottom) return false;

                return true;
            }
            else
            {
                return false;
            }
        }
Esempio n. 2
0
 //------------------------------------------------------------------------------------------------------------------------
 //														GameObject()
 //------------------------------------------------------------------------------------------------------------------------
 /// <summary>
 /// Initializes a new instance of the <see cref="GXPEngine.GameObject"/> class.
 /// Since GameObjects contain a display hierarchy, a GameObject can be used as a container for other objects.
 /// Other objects can be added using child commands as AddChild.
 /// </summary>
 /// <param name="addCollider">
 /// If <c>true</c>, then the virtual function createCollider will be called, which can be overridden to create a collider that
 /// will be added to the collision manager.
 /// </param>
 public GameObject(bool addCollider = false)
 {
     if (addCollider)
     {
         _collider = createCollider();
     }
 }
Esempio n. 3
0
		//------------------------------------------------------------------------------------------------------------------------
		//														HitTest()
		//------------------------------------------------------------------------------------------------------------------------		
		public override bool HitTest (Collider other) {
			if (other is BoxCollider) {
				Vector2[] c = _owner.GetExtents();
				if (c == null) return false;
				Vector2[] d = ((BoxCollider)other)._owner.GetExtents();
				if (d == null) return false;
				if (!areaOverlap(c, d)) return false;
				return areaOverlap(d, c);
			} else {
				return false;
			}
		}
Esempio n. 4
0
		//------------------------------------------------------------------------------------------------------------------------
		//														GameObject()
		//------------------------------------------------------------------------------------------------------------------------
		/// <summary>
		/// Initializes a new instance of the <see cref="GXPEngine.GameObject"/> class.
		/// Since GameObjects contain a display hierarchy, a GameObject can be used as a container for other objects.
		/// Other objects can be added using child commands as AddChild.
		/// </summary>
		public GameObject()
		{
			_collider = createCollider();
			if (Game.main != null) Game.main.Add(this);
		}
Esempio n. 5
0
		//------------------------------------------------------------------------------------------------------------------------
		//														HitTest()
		//------------------------------------------------------------------------------------------------------------------------		
		public virtual bool HitTest (Collider other) {
			return false;
		}