示例#1
0
        private void convertMapNodes(DrawableGameComponent [,] mapNodes, Node[,] tempMap)
        {
            //mapNodes = new DrawableGameComponent[this.internalMap.MapNodeHeight, this.internalMap.MapNodeWidth];
            //Node[,] tempMap = this.internalMap.InternalMapStruct;

            Vector3 startPosition = new Vector3(-(this.internalMap.MapPixelWidth / 2) + (InternalMap.GridSize / 2),
                                                (this.internalMap.MapPixelHeight / 2 - InternalMap.GridSize / 2),
                                                InternalMap.GridSize / 2);
            //Console.WriteLine(startPosition);
            Node tempNode = tempMap[0, 0];

            for (int row = 0; row < this.internalMap.MapNodeHeight; row++)
            {
                float x = startPosition.X;
                for (int col = 0; col < this.internalMap.MapNodeWidth; col++)
                {
                    tempNode = tempMap[row, col];

                    if (tempNode is RoomNode)
                    {
                        Room room = new Room(this.game, (RoomNode)tempNode,
                                             new Vector3(startPosition.X, startPosition.Y, startPosition.Z));
                        mapNodes[row, col] = room;
                    }
                    else if (tempNode is WallNode)
                    {
                        Wall wall = new Wall(this.game, (WallNode)tempNode,
                                             new Vector3(startPosition.X, startPosition.Y, startPosition.Z));
                        mapNodes[row, col] = wall;
                    }
                    if (tempNode is EmptyNode)
                    {
                        EmptySpace empty = new EmptySpace(this.game);
                        mapNodes[row, col] = empty;
                    }
                    startPosition.X = startPosition.X + tempNode.Width * InternalMap.GridSize;
                }
                startPosition.X = x;
                startPosition.Y = startPosition.Y - tempNode.Width * InternalMap.GridSize;
            }
        }
示例#2
0
        private void convertMapNodes(DrawableGameComponent [,] mapNodes, Node[,] tempMap)
        {
            //mapNodes = new DrawableGameComponent[this.internalMap.MapNodeHeight, this.internalMap.MapNodeWidth];
            //Node[,] tempMap = this.internalMap.InternalMapStruct;

            Vector3 startPosition = new Vector3(-(this.internalMap.MapPixelWidth / 2) + (InternalMap.GridSize / 2),
                                                 (this.internalMap.MapPixelHeight / 2 - InternalMap.GridSize / 2),
                                                 InternalMap.GridSize / 2);
            //Console.WriteLine(startPosition);
            Node tempNode = tempMap[0, 0];
            for (int row = 0; row < this.internalMap.MapNodeHeight; row++)
            {
                float x = startPosition.X;
                for (int col = 0; col < this.internalMap.MapNodeWidth; col++)
                {
                    tempNode = tempMap[row, col];

                    if (tempNode is RoomNode)
                    {
                        Room room = new Room(this.game, (RoomNode)tempNode,
                                             new Vector3(startPosition.X, startPosition.Y, startPosition.Z));
                        mapNodes[row, col] = room;
                    }
                    else if (tempNode is WallNode)
                    {
                        Wall wall = new Wall(this.game, (WallNode)tempNode,
                                             new Vector3(startPosition.X, startPosition.Y, startPosition.Z));
                        mapNodes[row, col] = wall;
                    }
                    if (tempNode is EmptyNode)
                    {
                        EmptySpace empty = new EmptySpace(this.game);
                        mapNodes[row, col] = empty;
                    }
                    startPosition.X = startPosition.X + tempNode.Width * InternalMap.GridSize;
                }
                startPosition.X = x;
                startPosition.Y = startPosition.Y - tempNode.Width * InternalMap.GridSize;
            }
        }