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]; } } } }
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 ]; } } } }
public GridNodeAsset(string name, GridNetworkAsset network, CollectionAsset collection) : base(network, collection) { this.Name = name; }
public GridNodeAsset( string name, GridNetworkAsset network, CollectionAsset collection ) : base( network, collection ) { this.Name = name; }