Пример #1
0
        public GridNetworkAsset(GridNetworkAsset original) : base(original.Name, original.Collection)
        {
            this.Position = original.Position;
            this.Size     = original.Size;
            this.nodes    = new GridNodeAsset[original.Nodes.Length];
            for (int i = 0; i < this.Nodes.Length; i++)
            // Create new waypoint assets - based on the nodes of the original
            {
                this.Nodes[i] = new GridNodeAsset(( GridNodeAsset )original.Nodes[i], this);
            }

            this.Tags = new int[original.Tags.Length];
            for (int i = 0; i < original.Tags.Length; i++)
            // Copy the tag indexes
            {
                this.Tags[i] = original.Tags[i];
            }

            for (int cellIDX = 0; cellIDX < this.nodes.Length; cellIDX++)
            // Create connections going from OUR node at the same index as THEIR node to same - just with to
            {
                this.nodes[cellIDX].Connections = new ConnectionAsset[original.Nodes[cellIDX].Connections.Length];
                for (int connectionIDX = 0; connectionIDX < this.nodes[cellIDX].Connections.Length; connectionIDX++)
                {
                    this.nodes[cellIDX].Connections[connectionIDX] = new ConnectionAsset(
                        this.nodes[Array.IndexOf(original.Nodes, original.Nodes[cellIDX].Connections[connectionIDX].From)],
                        this.nodes[Array.IndexOf(original.Nodes, original.Nodes[cellIDX].Connections[connectionIDX].To)],
                        original.Nodes[cellIDX].Connections[connectionIDX].Width,
                        this.Collection);

                    this.nodes[cellIDX].Connections[connectionIDX].Tags = new int[original.Nodes[cellIDX].Connections[connectionIDX].Tags.Length];
                    for (int tagIDX = 0; tagIDX < original.Nodes[cellIDX].Connections[connectionIDX].Tags.Length; tagIDX++)
                    // Copy the tag indexes
                    {
                        this.nodes[cellIDX].Connections[connectionIDX].Tags[tagIDX] = original.Nodes[cellIDX].Connections[connectionIDX].Tags[tagIDX];
                    }
                }
            }
        }
Пример #2
0
		public GridNetworkAsset( GridNetworkAsset original ) : base( original.Name, original.Collection )
		{
			this.Position = original.Position;
			this.Size = original.Size;
			this.nodes = new GridNodeAsset[ original.Nodes.Length ];
			for( int i = 0; i < this.Nodes.Length; i++ )
			// Create new waypoint assets - based on the nodes of the original
			{
				this.Nodes[ i ] = new GridNodeAsset( ( GridNodeAsset )original.Nodes[ i ], this );
			}
			
			this.Tags = new int[ original.Tags.Length ];
			for( int i = 0; i < original.Tags.Length; i++ )
			// Copy the tag indexes
			{
				this.Tags[ i ] = original.Tags[ i ];
			}
			
			for( int cellIDX = 0; cellIDX < this.nodes.Length; cellIDX++ )
			// Create connections going from OUR node at the same index as THEIR node to same - just with to
			{
				this.nodes[ cellIDX ].Connections = new ConnectionAsset[ original.Nodes[ cellIDX ].Connections.Length ];
				for( int connectionIDX = 0; connectionIDX < this.nodes[ cellIDX ].Connections.Length; connectionIDX++ )
				{
					this.nodes[ cellIDX ].Connections[ connectionIDX ] = new ConnectionAsset(
						this.nodes[ Array.IndexOf( original.Nodes, original.Nodes[ cellIDX ].Connections[ connectionIDX ].From ) ],
						this.nodes[ Array.IndexOf( original.Nodes, original.Nodes[ cellIDX ].Connections[ connectionIDX ].To ) ],
						original.Nodes[ cellIDX ].Connections[ connectionIDX ].Width,
						this.Collection );
						
					this.nodes[ cellIDX ].Connections[ connectionIDX ].Tags = new int[ original.Nodes[ cellIDX ].Connections[ connectionIDX ].Tags.Length ];
					for( int tagIDX = 0; tagIDX < original.Nodes[ cellIDX ].Connections[ connectionIDX ].Tags.Length; tagIDX++ )
					// Copy the tag indexes
					{
						this.nodes[ cellIDX ].Connections[ connectionIDX ].Tags[ tagIDX ] = original.Nodes[ cellIDX ].Connections[ connectionIDX ].Tags[ tagIDX ];
					}
				}
			}
		}
Пример #3
0
 public GridNodeAsset(string name, GridNetworkAsset network, CollectionAsset collection) : base(network, collection)
 {
     this.Name = name;
 }
Пример #4
0
		public GridNodeAsset( string name, GridNetworkAsset network, CollectionAsset collection ) : base( network, collection )
		{
			this.Name = name;
		}