Tanoda
pb_RenameObjectEditor.cs
Go to the documentation of this file.
1using UnityEngine;
2using System.Collections;
3using System.Reflection;
5using UnityEngine.UI;
6using UnityEngine.Video;
7
8namespace GILES.Interface
9{
11 {
12 private RenameObject _ro;
13 private pb_StringInspector si;
14 protected override void InitializeGUI()
15 {
16 _ro = ((RenameObject) target);
17
18 pb_GUIUtility.AddVerticalLayoutGroup(gameObject);
19
20 pb_TypeInspector nameInput = pb_InspectorResolver.GetInspector(typeof(string));
21 si = (pb_StringInspector) nameInput;
22 nameInput.Initialize("Name", OnUpdateValue, OnEdited);
23
24 var nameInputField = nameInput.transform.GetComponentInChildren<InputField>();
25 nameInputField.gameObject.GetComponent<LayoutElement>().minWidth = 130;
26 ((Text) nameInputField.placeholder).text = _ro.name;
27
28 nameInput.transform.SetParent(transform);
29 var horizontalParent = new GameObject("HorizontalParent");
30 var hlg = horizontalParent.AddComponent<HorizontalLayoutGroup>();
31 var lec = horizontalParent.AddComponent<LayoutElement>();
32 lec.minHeight = 32;
33 horizontalParent.transform.SetParent(transform);
34
35 {
36 var buttonGO = new GameObject("ClickButton");
37 var image = buttonGO.AddComponent<Image>();
38 var button = buttonGO.AddComponent<Button>();
39 var textGO = new GameObject("LabelGO");
40 var text = textGO.AddComponent<Text>();
41 textGO.GetComponent<RectTransform>().sizeDelta = new Vector2(65, 14);
42 text.font = Font.CreateDynamicFontFromOSFont("Arial", 24);
43 text.alignment = TextAnchor.MiddleCenter;
44 text.text = "Apply";
45 text.color = Color.white;
46 text.resizeTextForBestFit = true;
47 text.resizeTextMaxSize = 20;
48 textGO.transform.SetParent(buttonGO.transform);
49 image.sprite = GameObject.Find("DoNOTDelete").transform.Find("SaveButton").GetComponent<Image>().sprite;
50 //image.sprite = GameObject.Find("SaveButton").GetComponent<Image>().sprite;
51 image.type = Image.Type.Sliced;
52 image.color = new Color(255,255,255, 40/255.0f);
53 image.pixelsPerUnitMultiplier = 2f;
54 buttonGO.transform.SetParent(horizontalParent.transform);
55 button.onClick.AddListener(ApplyRename);
56 }
57 }
58
59 object OnUpdateValue(int index)
60 {
61 return si.input.text;
62 }
63
64 void OnEdited(int index, object value)
65 {
66
67 }
68
69 void ApplyRename()
70 {
71 _ro.NewName = si.input.text;
72 pb_Hierarchy.instance.RebuildInspector();
73 }
74 }
75}
UnityEngine.UI.Button Button
Definition: Pointer.cs:7
System.Drawing.Image Image
Definition: TestScript.cs:37
UnityEngine.Color Color
Definition: TestScript.cs:32
Component target
The UnityEngine.Component being edited.
UnityEngine.UI.InputField input
string NewName
Definition: RenameObject.cs:7