コード例 #1
0
 private void InternalDoLogicForShapeSlotResult(GameShape shape, ref int numExposed, ref int numOuterFacesInDirections, Dictionary <GameShape, bool> occludermap)
 {
     if (shape != null)
     {
         if (shape == this)
         {
             return;
         }
         numOuterFacesInDirections = numOuterFacesInDirections + 1;
         bool flag;
         if (occludermap.TryGetValue(shape, out flag))
         {
             if (flag)
             {
                 return;
             }
             numExposed = numExposed + 1;
         }
         else
         {
             GameShapeProxy gameShapeProxy = shape.GetRenderProxy() as GameShapeProxy;
             if ((UnityEngine.Object)gameShapeProxy != (UnityEngine.Object)null && gameShapeProxy.IsOccluding(false, true))
             {
                 return;
             }
             numExposed = numExposed + 1;
         }
     }
     else
     {
         numExposed = numExposed + 1;
         numOuterFacesInDirections = numOuterFacesInDirections + 1;
     }
 }
コード例 #2
0
 private void InternalDoLogicForShapeSlotResult(GameShape shape, ref int numExposed, ref int numOuterFacesInDirections)
 {
     if (shape != null)
     {
         if (shape == this)
         {
             return;
         }
         numOuterFacesInDirections = numOuterFacesInDirections + 1;
         GameShapeProxy gameShapeProxy = shape.GetRenderProxy() as GameShapeProxy;
         if ((UnityEngine.Object)gameShapeProxy != (UnityEngine.Object)null && gameShapeProxy.IsOccluding(false, true))
         {
             return;
         }
         numExposed = numExposed + 1;
     }
     else
     {
         numExposed = numExposed + 1;
         numOuterFacesInDirections = numOuterFacesInDirections + 1;
     }
 }
コード例 #3
0
    public void DoStuffForCameraMoveBigRandomOffsetXY(BoardPosition newCameraBoardPos)
    {
        int           num1 = 11;
        int           num2 = this.ActiveBoard.BoardXSize - 2 * num1;
        int           num3 = this.ActiveBoard.BoardYSize - 2 * num1;
        int           persideslotrange1 = num2 / 2;
        int           persideslotrange2 = num3 / 2;
        BoardPosition outPosition;

        if (!this.ActiveBoard.CreateSafeBoardPosition(newCameraBoardPos, out outPosition))
        {
            return;
        }
        Vector3 positionWithWeird1 = this.GetWorldCenterPositionForBoardPositionWithWeird(outPosition);
        int     num4 = (this.ActiveBoard.BoardXSize - 1) / 2;
        int     num5 = this.ActiveBoard.BoardXSize - 1 - num4;

        for (int index = 1; index <= num4; ++index)
        {
            int           num6 = outPosition.X - index;
            BoardPosition pos  = outPosition;
            pos.X = num6;
            this.ActiveBoard.CreateSafeBoardPosition(ref pos);
            this.BoardXWorldXArray[pos.X] = positionWithWeird1.x - (float)index * this.GetBoardSlotWorldSizeX();
        }
        for (int index = 1; index <= num5; ++index)
        {
            int           num6 = outPosition.X + index;
            BoardPosition pos  = outPosition;
            pos.X = num6;
            this.ActiveBoard.CreateSafeBoardPosition(ref pos);
            this.BoardXWorldXArray[pos.X] = positionWithWeird1.x + (float)index * this.GetBoardSlotWorldSizeX();
        }
        this.WorldXBoardRange.Min = positionWithWeird1.x - (float)num4 * this.GetBoardSlotWorldSizeX();
        this.WorldXBoardRange.Max = positionWithWeird1.x + (float)num5 * this.GetBoardSlotWorldSizeX();
        this.UpdateWorldXCameraRange(outPosition, persideslotrange1);
        int num7 = (this.ActiveBoard.BoardYSize - 1) / 2;
        int num8 = this.ActiveBoard.BoardYSize - 1 - num7;

        for (int index = 1; index <= num7; ++index)
        {
            int           num6 = outPosition.Y - index;
            BoardPosition pos  = outPosition;
            pos.Y = num6;
            this.ActiveBoard.CreateSafeBoardPosition(ref pos);
            this.BoardYWorldYArray[pos.Y] = positionWithWeird1.y - (float)index * this.GetBoardSlotWorldSizeY();
        }
        for (int index = 1; index <= num8; ++index)
        {
            int           num6 = outPosition.Y + index;
            BoardPosition pos  = outPosition;
            pos.Y = num6;
            this.ActiveBoard.CreateSafeBoardPosition(ref pos);
            this.BoardYWorldYArray[pos.Y] = positionWithWeird1.y + (float)index * this.GetBoardSlotWorldSizeY();
        }
        this.WorldYBoardRange.Min = positionWithWeird1.y - (float)num7 * this.GetBoardSlotWorldSizeY();
        this.WorldYBoardRange.Max = positionWithWeird1.y + (float)num8 * this.GetBoardSlotWorldSizeY();
        this.UpdateWorldYCameraRange(outPosition, persideslotrange2);
        int shapesOnBoardCount = this.ActiveBoard.GetShapesOnBoardCount();

        for (int index = 0; index < shapesOnBoardCount; ++index)
        {
            GameShape gameShape          = this.ActiveBoard.ShapeList[index];
            Vector3   positionWithWeird2 = this.GetWorldCenterPositionForBoardPositionWithWeird(gameShape.GetAnchorBoardPosition());
            gameShape.GetRenderProxy().SetNewWorldPositionForBoardRepositionShift(positionWithWeird2);
        }
    }