Ejemplo n.º 1
0
        // Генерация карты по заданным параметрам
        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));
        }
Ejemplo n.º 2
0
        public WorldBlock(WorldBlockType _Type, Vector2 _Position, string _EventID)
        {
            Type     = _Type;
            Position = _Position;
            EvendID  = _EventID;

            Neighbors = new WorldBlock[4];
        }