private void HandleBarrackSelection(SelectableVolume selectableVolume)
    {
        SelectedSelectableVolumeGameRule ssvgr = new SelectedSelectableVolumeGameRule();

        selectableVolume.RuleManager.overridedGameRule = ssvgr;
        unitInfoGui.RuleManager.overridedGameRule      = new UnitInfoGuiGameRule(ssvgr);

        unitInfoGui.Display(new UnitInfoGui.UnitInfo(selectableVolume.gameObject.name, selectableVolume.gameObject.GetComponent <SpriteRenderer>()));

        List <UnitDefinitionGui.UnitDefinition> CreatableUnits = GetCreatableUnitDefinitions();

        unitCreationGui.Initialize(CreatableUnits.Count);

        IReadOnlyList <UnitDefinitionGui> unitDefGuis = unitCreationGui.GetUnitDefinitionGuis();

        for (int i = 0; i < CreatableUnits.Count; i++)
        {
            unitDefGuis[i].SetUnitDefinition(CreatableUnits[i]);
            unitDefGuis[i].RuleManager.overridedGameRule = new UnitDefinitionGuiGameRule(i);
        }

        freeMover.transform.position = new Vector3(selectableVolume.transform.position.x, selectableVolume.transform.position.y, freeMover.transform.position.z);
    }
 public UnitInfoGuiGameRule(SelectedSelectableVolumeGameRule ssvgr)
 {
     this.ssvgr = ssvgr;
 }