Exemplo n.º 1
0
        public void UpdatePushCharacterVsCharacter()
        {
            Rect rect1 = Fighter1.Pushbox.Rect;
            Rect rect2 = Fighter2.Pushbox.Rect;

            if (!rect1.Overlaps(rect2))
            {
                return;
            }

            if (Fighter1.Position.x < Fighter2.Position.x)
            {
                Fighter1.ApplyPositionChange((rect1.xMax - rect2.xMin) * -1 / 2, Fighter1.Position.y);
                Fighter2.ApplyPositionChange((rect1.xMax - rect2.xMin) * 1 / 2, Fighter2.Position.y);
            }
            else if (Fighter1.Position.x > Fighter2.Position.x)
            {
                Fighter1.ApplyPositionChange((rect2.xMax - rect1.xMin) * 1 / 2, Fighter1.Position.y);
                Fighter2.ApplyPositionChange((rect2.xMax - rect1.xMin) * -1 / 2, Fighter1.Position.y);
            }
        }