public Entity CreateUnit(UnitInfo unitInfo, bool ignoreLimit = false)
    {
        //no free citizen or population limit reached
        if (_world.Population >= _world.MaxPopulation && !ignoreLimit)
        {
            return(null);
        }

        var unit   = new Actor(_world);
        var result = CreateUnit(unitInfo, unit);

        var randomPosition = UnityEngine.Random.onUnitSphere * UnityEngine.Random.Range(5, 10f);

        randomPosition.y = 0;
        unit.SetPosition(_world.GetFireplace() + randomPosition);

        _world.Entities.Add(result);

        return(result);
    }