/**
     * <summary>
     * Unselect and set the slot inactive
     * </summary>
     *
     * <returns>
     * void
     * </returns>
     */
    public void Unselect()
    {
        if (BuilderActionComponentUI.ActiveSlot == null)
        {
            return;
        }

        this.outline.effectColor = this.defaultColor;
        GameObject previewGameObject = BuilderActionComponentUI.ActiveSlot.GetComponent <BuildingSlotUI>().GetPreview();

        previewGameObject.transform.localPosition = Vector3.zero;

        BuilderActionComponentUI.PreviewFollow = false;
        BuilderActionComponentUI.ActiveSlot    = null;

        // For better alignment, may change in the future?
        this.preview.GetComponent <BuildingPreviewBehaviour>().TurnRenderer(false);

        MouseBehaviour.Mode = MouseMode.Default;

        // Show all visible renderers and hide placement (buildings, and resources)
        BuildingsManagerBehaviour.TurnRenderers(true);
        ResourcesManagerBehaviour.TurnRenderers(true);

        BuildingsManagerBehaviour.TurnPlacementIndicator(false);
        ResourcesManagerBehaviour.TurnPlacementIndicator(false);

        this.select = false;
    }
    /**
     * <summary>
     * Select and set the slot active
     * </summary>
     *
     * <returns>
     * void
     * </returns>
     */
    public void Select()
    {
        this.outline.effectColor = new Color((255 / 255), (0f / 255f), (0f / 255f), 1);
        BuilderActionComponentUI.PreviewFollow = true;
        BuilderActionComponentUI.ActiveSlot    = this.gameObject;

        // For better alignment, may change in the future?
        this.preview.GetComponent <BuildingPreviewBehaviour>().TurnRenderer(false);

        MouseBehaviour.Mode = MouseMode.Build;

        // Hide all visible renderers and show placement (buildings, and resources)
        BuildingsManagerBehaviour.TurnRenderers(false);
        ResourcesManagerBehaviour.TurnRenderers(false);

        BuildingsManagerBehaviour.TurnPlacementIndicator(true);
        ResourcesManagerBehaviour.TurnPlacementIndicator(true);

        this.select = true;
    }