Exemple #1
0
        public Error SetRoadTheme(ICity city, string id)
        {
            if (!HasTheme(city.Owner, id))
            {
                return(Error.ThemeNotPurchased);
            }

            var previousTheme = city.RoadTheme;

            city.BeginUpdate();
            city.RoadTheme = id;
            city.EndUpdate();

            var lockedRegions = regionManager.LockRegions(tileLocator.ForeachTile(city.PrimaryPosition.X, city.PrimaryPosition.Y, city.Radius));

            roadManager.ChangeRoadTheme(city, previousTheme, id);

            regionManager.UnlockRegions(lockedRegions);

            return(Error.Ok);
        }