SGDE.Physics.Collision.CollisionUnit.GetCollisionType C# (CSharp) Метод

GetCollisionType() публичный Метод

Get the CollisionUnit type.
public GetCollisionType ( ) : CollisionType
Результат CollisionType
        public CollisionType GetCollisionType()
        {
            return mCollisionType;
        }

Usage Example

Пример #1
0
        /// <summary>
        /// Add a new CollisionUnit to the CollisionChief.
        /// </summary>
        /// <param name="unit">The CollisionUnit to add to the CollisionChief.</param>
        public void AddCollisionUnit(CollisionUnit unit)
        {
            Vector2 circleCenter;
            int circleRadius;
            Vector2 lineStart;
            Vector2 lineEnd;
            Point topLeftCell;
            Point bottomRightCell;

            if (unit.GetCollisionType() == CollisionUnit.CollisionType.COLLISION_CIRCLE)
            {
                circleCenter = unit.GetCircleCenter();
                circleRadius = unit.GetCircleRadius();

                // put in appropriate cells
                topLeftCell = CalculateCircleTopLeftCell(circleCenter, circleRadius);
                bottomRightCell = CalculateCircleBottomRightCell(circleCenter, circleRadius);

                for (int i = topLeftCell.X; i <= bottomRightCell.X; i++)
                {
                    for (int j = topLeftCell.Y; j <= bottomRightCell.Y; j++)
                    {
                        mCollisionGrid.Cells[i,j].AddCollisionUnit(unit);
                    }
                }

            }
            else if (unit.GetCollisionType() == CollisionUnit.CollisionType.COLLISION_LINE)
            {
                lineStart = unit.GetLineStart();
                lineEnd = unit.GetLineEnd();

                // TODO: put in appropriate cells

            }
            else if (unit.GetCollisionType() == CollisionUnit.CollisionType.COLLISION_BOX)
            {
                topLeftCell = CalculateCellPosition(unit.GetUpperLeft());
                bottomRightCell = CalculateCellPosition(unit.GetLowerRight());

                for (int i = topLeftCell.X; i <= bottomRightCell.X; i++)
                {
                    for (int j = topLeftCell.Y; j <= bottomRightCell.Y; j++)
                    {
                        mCollisionGrid.Cells[i, j].AddCollisionUnit(unit);
                    }
                }
            }
        }
All Usage Examples Of SGDE.Physics.Collision.CollisionUnit::GetCollisionType