Dictionary <RVCollection, RVCStatus> CreateRVCollections()
    {
        Dictionary <RVCollection, RVCStatus> result = new Dictionary <RVCollection, RVCStatus>();

        if (nowSelectItem != null)
        {
            Component[] c = RVHelper.GetComponent(nowSelectItem);
            if (c != null)
            {
                foreach (var item in c)
                {
                    if (item == null)
                    {
                        continue;
                    }
                    RVVisibility rvv = new RVVisibility();
                    rvv.RVType = RVVisibility.NameType.Class;

                    string rvcName = item.GetType().ToString().Replace("UnityEngine.", "");
                    if (IsContainsKey(result, rvcName) == true)
                    {
                        rvcName += "#" + item.GetInstanceID();
                    }

                    RVCollection rvc = new RVCollection(nowSelectItem.name, rvcName, item, 0, rvv);

                    RVCStatus rvCStatus = new RVCStatus();

                    if (rvCStatusForAllObject.ContainsKey(nowSelectItem.GetInstanceID()) == true)
                    {
                        rvCStatus = rvCStatusForAllObject[nowSelectItem.GetInstanceID()];
                    }
                    else
                    {
                        rvCStatusForAllObject.Add(nowSelectItem.GetInstanceID(), rvCStatus);
                    }

                    result.Add(rvc, rvCStatus);
                }
            }
        }
        return(result);
    }
    public override void OnGUIUpdate(bool isRealtimeUpdate, RVSettingData settingData, RVCStatus rvcStatus)
    {
        this.settingData = settingData;
        this.rvcStatus   = rvcStatus;
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("     ", GUILayout.Width(depth * RVControlBase.Indent_class));

        string rvcStatusName = this.parentNameLabel + this.NameLabel;

        if (rvcStatus.IsOpens.ContainsKey(rvcStatusName) == false)
        {
            rvcStatus.IsOpens.Add(rvcStatusName, false);
        }


        EditorGUILayout.BeginVertical();
        rvcStatus.IsOpens[rvcStatusName] = CollectionUI(rvcStatus.IsOpens[rvcStatusName], settingData);
        if (rvcStatus.IsOpens[rvcStatusName] == true)
        {
            if (isFirstOpen == true)
            {
                AnalyzeAndAddChildren();
                isFirstOpen = false;
            }
            else if (isRealtimeUpdate == true)
            {
                AnalyzeAndAddChildren();
            }

            foreach (var item in children)
            {
                item.OnGUIUpdate(isRealtimeUpdate, settingData, rvcStatus);
            }
        }
        EditorGUILayout.EndVertical();
        EditorGUILayout.EndHorizontal();
    }
Пример #3
0
    public override void OnGUIUpdate(bool isRealtimeUpdate, RVSettingData settingData, RVCStatus rvcStatus)
    {
        string s = GetValueString(this.data);

        isSelected = rvcStatus.IsSelected(this.NameLabel);
        if (isSelected == false)
        {
            isSelected = rvcStatus.IsSelected(s);
        }

        GUIStyle guiStyle       = SelectNameGUIStyle(settingData);
        GUIStyle value_guiStyle = SelectValueGUIStyle(settingData);

        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("     ", GUILayout.Width(depth * RVControlBase.Indent_field));

        EditorGUILayout.LabelField(this.NameLabel + " :", guiStyle, GUILayout.Width(GetWidth(this.NameLabel, settingData)));
        CopyMenu(GUILayoutUtility.GetLastRect(), settingData, this.NameLabel, s);

        if (this.data == null && this.rvVisibility.ValueTypeIsString() == false)
        {
            EditorGUILayout.LabelField(s, settingData.Get_value_null());
        }
        else
        {
            EditorGUILayout.LabelField(s, value_guiStyle);
        }

        EditorGUILayout.EndHorizontal();
    }
 public virtual void OnGUIUpdate(bool isRealtimeUpdate, RVSettingData settingData, RVCStatus rvcStatus)
 {
 }