//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, October 31, 2017
|
//--------------------------------------------------------
|
using UnityEngine;
|
using UnityEditor;
|
using System.Collections;
|
using UnityEngine.UI;
|
using Snxxz.UI;
|
|
|
public class PrefabCreateTool
|
{
|
[MenuItem("GameObject/UI/UIRoot")]
|
public static UIRoot CreateUIRoot()
|
{
|
var uiroot = GameObject.FindObjectOfType<UIRoot>();
|
if (uiroot == null)
|
{
|
var prefab = BuiltInLoader.LoadPrefab("UIRoot");
|
var root = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity);
|
root.name = "UIRoot";
|
uiroot = root.GetComponent<UIRoot>();
|
}
|
return uiroot;
|
}
|
|
public static void SetParent(GameObject instance, Transform parent = null)
|
{
|
if (instance == null)
|
return;
|
var uiroot = CreateUIRoot();
|
if (parent == null)
|
if (Selection.transforms != null && Selection.transforms.Length > 0)
|
{
|
parent = Selection.transforms[0];
|
}
|
else
|
{
|
parent = uiroot.normalCanvas.transform;
|
}
|
instance.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
|
// PrefabUtility.DisconnectPrefabInstance(instance);
|
Selection.activeGameObject = instance;
|
}
|
|
|
[MenuItem("GameObject/UI/FunctionButton")]
|
public static void CreateFunctionButton()
|
{
|
var instance = UIUtility.CreateWidget("FunctionButtonPattern", "FunctionButton");
|
SetParent(instance);
|
}
|
|
[MenuItem("GameObject/UI/GeneralWin_1")]
|
public static void CreateWindowPattern1()
|
{
|
var prefab = AssetDatabase.LoadAssetAtPath<GameObject>("Assets/Editor/UIPattern/GeneralWin.prefab");
|
var instance = GameObject.Instantiate(prefab) as GameObject;
|
instance.name = "GeneralWin";
|
SetParent(instance);
|
}
|
|
[MenuItem("GameObject/UI/RewardGroup")]
|
public static void CreateRewardGroup()
|
{
|
var prefab = AssetDatabase.LoadAssetAtPath<GameObject>("Assets/Editor/UIPattern/Container_Rewards.prefab");
|
var instance = GameObject.Instantiate(prefab) as GameObject;
|
instance.name = "Container_Rewards";
|
SetParent(instance);
|
}
|
|
[MenuItem("GameObject/UI/CommonItemCell")]
|
public static void CreateCommonItemCell()
|
{
|
var prefab = AssetDatabase.LoadAssetAtPath<GameObject>("Assets/Editor/UIPattern/CommonItemCell.prefab");
|
var instance = GameObject.Instantiate(prefab) as GameObject;
|
instance.name = "CommonItemCell";
|
SetParent(instance);
|
}
|
|
[MenuItem("GameObject/UI/SortTable")]
|
public static void CreateSortTable()
|
{
|
var prefab = AssetDatabase.LoadAssetAtPath<GameObject>("Assets/Editor/UIPattern/SortTable.prefab");
|
var instance = GameObject.Instantiate(prefab) as GameObject;
|
instance.name = "SortTable";
|
SetParent(instance);
|
}
|
|
[MenuItem("GameObject/UI/TextEx")]
|
public static void CreateTextEx()
|
{
|
var instance = new GameObject("TextEx");
|
instance.AddComponent<TextEx>();
|
SetParent(instance);
|
}
|
|
[MenuItem("GameObject/UI/ImageEx")]
|
public static void CreateImageEx()
|
{
|
var instance = new GameObject("ImageEx");
|
instance.AddComponent<ImageEx>();
|
SetParent(instance);
|
}
|
|
[MenuItem("GameObject/UI/ButtonEx")]
|
public static void CreateButtonEx()
|
{
|
var button = new GameObject("ButtonEx");
|
var btnEx = button.AddComponent<ButtonEx>();
|
var imgEx = button.AddComponent<ImageEx>();
|
btnEx.targetGraphic = imgEx;
|
SetParent(button);
|
var text = new GameObject("TextEx");
|
text.AddComponent<TextEx>();
|
SetParent(text, button.transform);
|
}
|
|
[MenuItem("GameObject/UI/SecondFrameLoader")]
|
public static void CreateSecondFrameLoader()
|
{
|
var go = new GameObject("SecondFrameLoader");
|
go.AddComponent<SecondFrameLoader>();
|
SetParent(go);
|
}
|
|
|
|
}
|