Ejemplo n.º 1
0
    private void TargetSetting(InspectorSample sample)
    {
        EditorGUI.indentLevel += 2;
        //ObjectField
        sample.data.tfm       = EditorGUILayout.ObjectField("Target", sample.data.tfm, typeof(Transform), true) as Transform;
        sample.data.mat       = EditorGUILayout.ObjectField("Material", sample.data.mat, typeof(Material), true) as Material;
        sample.data.audioClip = EditorGUILayout.ObjectField("AudioClip", sample.data.audioClip, typeof(AudioClip), true) as AudioClip;
        //Texture
        sample.data.tex = EditorGUILayout.ObjectField("Texture", sample.data.tex, typeof(Texture), true) as Texture;

        EditorGUI.indentLevel -= 2;
    }
Ejemplo n.º 2
0
 private void ShowSingleChoice(InspectorSample sample)
 {
     if (sample.editorData.isSwitchBtn)
     {
         GUILayout.Label("ToolBar");
         sample.data.selectedIndex = GUILayout.Toolbar(sample.data.selectedIndex, new string[] { "1", "2", "3" });
         GUILayout.Label("SelectionGrid");
         sample.data.selectedIndex = GUILayout.SelectionGrid(sample.data.selectedIndex, new string[] { "1", "2", "3" }, 2);
         GUILayout.Label("PreferencesKeysElement");
         sample.data.selectedIndex = GUILayout.SelectionGrid(sample.data.selectedIndex, new string[] { "1", "2", "3" }, 1, "PreferencesKeysElement");
     }
 }
Ejemplo n.º 3
0
    private void DataSetting(InspectorSample sample)
    {
        EditorGUI.indentLevel += 2;

        sample.data.index    = EditorGUILayout.IntField("Index", sample.data.index);
        sample.data.distance = EditorGUILayout.FloatField("Distance", sample.data.distance);
        sample.data.text     = EditorGUILayout.TextField("TextContent", sample.data.text);
        sample.data.pos      = EditorGUILayout.Vector3Field("Position", sample.data.pos);
        sample.data.pos2D    = EditorGUILayout.Vector2Field("Position2D", sample.data.pos2D);
        sample.data.intRange = EditorGUILayout.IntSlider("IntRange", sample.data.intRange, 0, 10);
        sample.data.range    = EditorGUILayout.Slider("Range", sample.data.range, 0, 1);
        EditorGUILayout.MinMaxSlider("MinMaxValue", ref sample.minValue, ref sample.maxValue, 0, 1);
        sample.data.enumSample = (InspectorEnumSample)EditorGUILayout.EnumPopup("Enum Value", sample.data.enumSample);
        EditorGUI.indentLevel -= 2;
    }
Ejemplo n.º 4
0
    private void ShowFadeAnim(InspectorSample sample)
    {
        EditorGUI.BeginChangeCheck();

        ShowSwitchBtn(ref sample.editorData.isSwitchBtn, "Hide", "Show");

        if (EditorGUI.EndChangeCheck())
        {
            animFloat.target = sample.editorData.isSwitchBtn ? 1 : 0.01f;
            animFloat.speed  = 2;

            var _event = new UnityEvent();
            _event.AddListener(() => Repaint());
            animFloat.valueChanged = _event;
        }

        EditorGUILayout.BeginFadeGroup(animFloat.value);
        ShowSingleChoice(sample);
        EditorGUILayout.EndFadeGroup();
    }
Ejemplo n.º 5
0
    public override void OnInspectorGUI()
    {
        //设置GUI.enable可以管理UI的可编辑性
        GUI.enabled = false;
        base.OnInspectorGUI();
        GUI.enabled = true;

        //通过target对象获取目标类
        InspectorSample _sample = target as InspectorSample;


        EditorGUI.BeginChangeCheck();
        InspectorSetting(_sample);

        //判断BeginChangeCheck 和 EndChangeCheck之间的代码是否有改变
        if (EditorGUI.EndChangeCheck())
        {
            EditorUtility.SetDirty(target);//保存对目标类的修改
        }
    }
Ejemplo n.º 6
0
    private void InspectorSetting(InspectorSample sample)
    {
        EditorGUILayout.HelpBox("If you need more setting", MessageType.Warning);

        //Foldout
        sample.editorData.isSettingData = EditorGUILayout.Foldout(sample.editorData.isSettingData, "Data Setting");
        if (sample.editorData.isSettingData)
        {
            EditorGUI.indentLevel += 1;
            //ToggleLeft
            sample.editorData.isSettingObj = EditorGUILayout.ToggleLeft("Target Setting", sample.editorData.isSettingObj);
            if (sample.editorData.isSettingObj)
            {
                TargetSetting(sample);
            }

            //ToggleLeft
            sample.editorData.isEditData = EditorGUILayout.ToggleLeft("Edit Data", sample.editorData.isEditData);
            if (sample.editorData.isEditData)
            {
                DataSetting(sample);
            }
            EditorGUI.indentLevel -= 1;
        }
        //Foldout
        sample.editorData.isSettingGroup = EditorGUILayout.Foldout(sample.editorData.isSettingGroup, "Group Setting");
        if (sample.editorData.isSettingGroup)
        {
            EditorGUI.indentLevel      += 1;
            sample.editorData.isDisable = EditorGUILayout.Toggle("Disable", sample.editorData.isDisable);
            ShowDisableGroup(sample.editorData.isDisable);
            EditorGUI.indentLevel -= 1;
        }

        //空行
        EditorGUILayout.Space();
        ShowFadeAnim(sample);
    }