void Taker <Primitive> .Take(Primitive _primitive) { primitive = _primitive; didGetInterface = true; primitive.AcceptVisitor(this); if (generatedPrimitive != null) { generatedPrimitiveRoot = new GameObject(); generatedPrimitive.transform.SetParent(generatedPrimitiveRoot.transform); generatedPrimitiveRoot.transform.SetParent(UnityAssetUtil.inSceneAssetWorkspace); var newBAgent = generatedPrimitiveRoot.AddComponent <StdBehaverAgent>(); foreach (var subSpace in subSpaces) { newBAgent.subSpaces.Add(subSpace); subSpace.transform.SetParent(newBAgent.transform, true); } support.generatedAssetInterface.modifier.SetContent( new AssetContentSettingParam <StdBehaverAgent> { content = newBAgent, doOverwrite = true }, new StubAssetInResultListener <StdBehaverAgent> { } ); support.OnSucceed(); } else { support.OnFail(); } }