Terrarium.Game.WorldState.FindOrganisms C# (CSharp) 메소드

FindOrganisms() 공개 메소드

Find organisms with the given rectangular area.
public FindOrganisms ( int x1, int x2, int y1, int y2 ) : ArrayList
x1 int Part of the location rectangle.
x2 int Part of the location rectangle.
y1 int Part of the location rectangle.
y2 int Part of the location rectangle.
리턴 System.Collections.ArrayList
        public ArrayList FindOrganisms(int x1, int x2, int y1, int y2)
        {
            int minX, maxX, minY, maxY;
            if (x1 < x2)
            {
                minX = x1;
                maxX = x2;
            }
            else
            {
                minX = x2;
                maxX = x1;
            }

            if (y1 < y2)
            {
                minY = y1;
                maxY = y2;
            }
            else
            {
                minY = y2;
                maxY = y1;
            }

            if (minX < 0)
            {
                minX = 0;
            }
            if (maxX < 0)
            {
                maxX = 0;
            }
            if (minY < 0)
            {
                minY = 0;
            }
            if (maxY < 0)
            {
                maxY = 0;
            }

            minX >>= EngineSettings.GridWidthPowerOfTwo;
            if (minX > _gridWidth - 1)
            {
                minX = _gridWidth - 1;
            }

            maxX >>= EngineSettings.GridWidthPowerOfTwo;
            if (maxX > _gridWidth - 1)
            {
                maxX = _gridWidth - 1;
            }

            minY >>= EngineSettings.GridHeightPowerOfTwo;
            if (minY > _gridHeight - 1)
            {
                minY = _gridHeight - 1;
            }

            maxY >>= EngineSettings.GridHeightPowerOfTwo;
            if (maxY > _gridHeight - 1)
            {
                maxY = _gridHeight - 1;
            }

            return FindOrganismsInCells(minX, maxX, minY, maxY);
        }