RVControlBase CreateControl(object ob, string fieldName, RVVisibility rvVisibility)
    {
        RVControlBase b = null;

        if (IsNull(ob) == true)
        {
            b = new RVText(fieldName, null, depth + 1, rvVisibility);
        }
        else
        {
            Type t = ob.GetType();
            if (RVHelper.IsCanToStringDirently(t) == true)
            {
                b = new RVText(fieldName, ob, depth + 1, rvVisibility);
            }
            else
            {
                RVVisibility rvv = rvVisibility.GetCopy();
                if (RVHelper.IsCollection(t) == false)
                {
                    rvv.RVType = RVVisibility.NameType.Class;
                }
                //    Debug.Log("--------------" + this.NameLabel);
                b = new RVCollection(this.parentNameLabel + this.NameLabel, GetSpecialNameLabel(ob, fieldName), ob, depth + 1, rvv);
            }
        }

        return(b);
    }
    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);
    }