private LinkSetPartsInstance ( GameObject InstanceGameObjectSub ) : void | ||
InstanceGameObjectSub | GameObject | |
Résultat | void |
public void PrefabLinkInstantiate() { if (null != LinkPrefab) { /* MEMO: "Instance"-Parts has C#-Script ("ScriptPartsInstance" is not null) */ Script_SpriteStudio_PartsInstance ScriptPartsInstance = gameObject.GetComponent <Script_SpriteStudio_PartsInstance>(); GameObject PrefabRoot = (GameObject)LinkPrefab; GameObject Instance = null; Transform TransformChild = gameObject.transform.Find(PrefabRoot.name); if (null == TransformChild) { /* Instantiate Prefab */ #if UNITY_EDITOR Instance = (GameObject)PrefabUtility.InstantiatePrefab(LinkPrefab); #else Instance = (GameObject)Instantiate(LinkPrefab); #endif if (null != Instance) { /* Make "Parent-Child"-Relation */ Instance.gameObject.transform.parent = gameObject.transform; Instance.gameObject.transform.localPosition = Vector3.zero; Instance.gameObject.transform.localEulerAngles = Vector3.zero; Instance.gameObject.transform.localScale = Vector3.one; } #if UNITY_EDITOR /* Break Prefab Instance */ PrefabUtility.DisconnectPrefabInstance(gameObject); #endif } else { Instance = TransformChild.gameObject; } if (null != ScriptPartsInstance) { /* "Instance"-Parts */ ScriptPartsInstance.LinkSetPartsInstance(Instance); } else { /* Control-Node */ Script_SpriteStudio_PartsRoot ScriptRoot = Instance.GetComponent <Script_SpriteStudio_PartsRoot>(); if (null != ScriptRoot) { ScriptRoot.NodeSetControl(gameObject); } } } }