本文整理汇总了C#中Pipe.SetParent方法的典型用法代码示例。如果您正苦于以下问题:C# Pipe.SetParent方法的具体用法?C# Pipe.SetParent怎么用?C# Pipe.SetParent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pipe
的用法示例。
在下文中一共展示了Pipe.SetParent方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DetachChild
/**
* Extruding can get expensive when an object has many faces. This creates a new
* pb_Object pipe by detaching the currently moving faces into a new object, then
* sets that pipe in motion.
*/
void DetachChild()
{
// First order of business - stop extruding from this segment.
Pause();
// DetachFacesToObject can fail, so it returns a bool with the success status.
// If it fails, end this pipe tree. Otherwise, copy will be set to the new
// pb_Object.
pb_Object copy;
if(DetachFacesToObject(pb, movingFaces, out copy))
{
// Huzzah! DetachFacesToObject worked, and we now have 2 separate pb_Objects.
// The first gets all the faces in movingFaces deleted, and the duplicate gets
// all faces that *aren't* movingFaces deleted.
child = copy.gameObject.AddComponent<Pipe>();
child.gameObject.name = "ChildPipe: " + child.gameObject.GetInstanceID();
// Let the child know who's boss.
child.SetParent(this);
// Aaand child inherits all the same paremeters that this branch has.
child.SetSpeed(this.speed);
child.SetSize(this.size);
child.SetBounds(this.bounds);
child.SetStretchRange(this.minimumStretchDistance, maximumStretchDistance);
child.SetMaxTurns(this.maximumPipeTurns - turnCount);
// Unlike the first segment, children should start with a turn.
child.isTurn = true;
// Now pass a reference to PipeSpawner's OnPipeFinished delegate to the child's OnPipeFinished event handler.
child.OnPipeFinished += OnPipeFinished;
}
else
{
// Poop. DetachFacesToObject failed. Put this branch out of it's misery now.
EndPipe_Internal();
}
}