Script_SpriteStudio_PartsInstance.PrefabChangeInstance C# (CSharp) 메소드

PrefabChangeInstance() 공개 메소드

public PrefabChangeInstance ( GameObject PrefabNew ) : bool
PrefabNew GameObject
리턴 bool
	public bool PrefabChangeInstance(GameObject PrefabNew)
	{
		GameObject Instance = null;
#if UNITY_EDITOR
		DestroyImmediate(InstanceGameObjectPartsRootSub);
		Instance = (GameObject)PrefabUtility.InstantiatePrefab(PrefabNew);
#else
		Destroy(InstanceGameObjectPartsRootSub);
		Instance = (GameObject)Instantiate(PrefabNew);
#endif
		InstanceGameObjectPartsRootSub = null;
		scriptPartsRootSub = null;
		LinkSetPartsInstance(Instance);
		return(true);
	}

Usage Example

예제 #1
0
    public override void OnInspectorGUI()
    {
        Script_SpriteStudio_PartsInstance Data = (Script_SpriteStudio_PartsInstance)target;

        EditorGUILayout.LabelField("[SpriteStudio Parts-Instance]");
        EditorGUILayout.Space();

        Data.FlagHideForce = EditorGUILayout.Toggle("Force-Hide", Data.FlagHideForce);
        if (true == GUILayout.Button("Apply \"Force-Hide\" to Children"))
        {
            LibraryEditor_SpriteStudio.Utility.HideSetForce(Data.gameObject, Data.FlagHideForce, true, false);
        }
        EditorGUILayout.Space();

#if false
        /* MEMO: Experimentally & Sample */
        int AnimationNoOld = Data.AnimationNo;
        Data.AnimationNo = EditorGUILayout.IntField("Animation No", Data.AnimationNo);
        if (AnimationNoOld != Data.AnimationNo)
        {
            Data.AnimationChangeInstance(Data.AnimationNo);
        }
#endif

#if false
        /* MEMO: Experimentally & Sample */
        GameObject PrefabNew = null;
        PrefabNew = (GameObject)(EditorGUILayout.ObjectField("Prefab ", PrefabNew, typeof(GameObject), false));
        if (null != PrefabNew)
        {
            Data.PrefabChangeInstance(PrefabNew);
        }
#endif

        if (true == GUI.changed)
        {
            EditorUtility.SetDirty(target);
        }
    }