コード例 #1
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);
        }
    }