Example #1
0
        public Map Create()
        {
            Random.InitState(10);

            var size = _data.GetMapSize();
            var map  = new Map(size);
            var maxCreatedObjects = _data.GetMaxObjectsCount();

            var walkersBorders = new RectInt(Vector2Int.one, size - 2 * Vector2Int.one);
            var walkersRouter  = new MapWalkersRouter(walkersBorders);

            _mapObjectsFactory = new MapObjectsFactory(_objects, map);

            CreateWalkers(walkersRouter, _data.WalkerData, _data.StartPosition, _data.InitWalkersCount);

            while (maxCreatedObjects > _createdObjects)
            {
                UpdateWalkers(map, walkersRouter);
            }

            return(map);
        }
Example #2
0
 public static bool TryParse(char symbol, out MapObject mapObject)
 {
     return(MapObjectsFactory.TryCreateMapObject(symbol, out mapObject));
 }