void OnBlockSelected(Pyramid_UIBlock uiBlock)
    {
        CurrentSelectedBlock?.OnDeselected();
        CurrentSelectedBlock     = uiBlock;
        CurrentSelectedBlockType = uiBlock.BlockType;

        Pyramid_Main.instance.OnBlockSelected(CurrentSelectedBlockType);
    }
    public void OnBlockSituated(Pyramid_UIBlock selectedBlock)
    {
        playerBlocks.Remove(selectedBlock);
        selectedBlock.Recycle();

        CurrentSelectedBlock?.OnDeselected();
        CurrentSelectedBlock     = null;
        CurrentSelectedBlockType = Pyramid_BlockType.None;

        for (int i = 0; i < playerBlocks.Count; i++)
        {
            playerBlocks[i].cachedTransform.localPosition = new Vector2((i * Pyramid_UIBlock.uiBlockSize.x) + uiBlockStartPosOffest.x, uiBlockStartPosOffest.y);
        }
    }