// Генерация карты по заданным параметрам public static WorldMap GenerateMap(Vector2 _Size) { WorldBlock[,] blocks = new WorldBlock[_Size.x, _Size.y]; for (int x = 0; x < _Size.x; x++) { for (int y = 0; y < _Size.y; y++) { // Пустой блок с пустым событием (нужнен только для дебага) var newBlock = new WorldBlock(WorldBlockType.Neutral, new Vector2(x, y), "null"); // Определение соседей по ОсиX if (x > 0) { newBlock.SetNeighbour(blocks[x - 1, y], WorldBlock.WorldBlockSide.Left); blocks[x - 1, y].SetNeighbour(newBlock, WorldBlock.WorldBlockSide.Right); } // Определение соседей по ОсиY if (y > 0) { newBlock.SetNeighbour(blocks[x, y - 1], WorldBlock.WorldBlockSide.Down); blocks[x, y - 1].SetNeighbour(newBlock, WorldBlock.WorldBlockSide.Up); } blocks[x, y] = newBlock; } } return(new WorldMap(_Size, blocks)); }
public WorldBlock(WorldBlockType _Type, Vector2 _Position, string _EventID) { Type = _Type; Position = _Position; EvendID = _EventID; Neighbors = new WorldBlock[4]; }