Ejemplo n.º 1
0
        protected void BuildShowProperty(PropertyInfo property)
        {
            var showProperties = new ShowProperty();

            showProperties.Hidden   = property.GetCustomAttribute <HiddenInputAttribute>() != null;
            showProperties.Label    = property.GetCustomAttribute <DisplayNameAttribute>()?.DisplayName ?? property.Name;
            showProperties.ReadOnly = property.GetCustomAttribute <ReadOnlyAttribute>()?.IsReadOnly ?? false;
            ShowProperties          = showProperties;
        }
Ejemplo n.º 2
0
        private void FrmEconomyStatsPropOutput2D_Load(object sender, EventArgs e)
        {
            ShowProperty showProp = new ShowProperty(_sysFieldName, _disName, _dict);

            this.ucStatsOutput1.SetData(showProp.GetDataTableByDistrictName());
        }
Ejemplo n.º 3
0
 set => SetValue(ShowProperty, value);
Ejemplo n.º 4
0
    public override void OnInspectorGUI()
    {
        ShowProperty script = target as ShowProperty;

        EditorGUILayout.Space();
        EditorGUILayout.LabelField("Reference:", EditorStyles.boldLabel);

        //the component
        string title = "Script ";

        if (script != null && script.Script)
        {
            title += "(" + script.Script.GetType().ToString().Split('.')[script.Script.GetType().ToString().Split('.').Length - 1] + ")";
            Component[] monos            = script.Script.gameObject.GetComponents <Component>();
            int         index            = 0;
            int         amountOfThatType = 1;
            for (int i = 0; i < monos.Length; i++)
            {
                if (monos[i].GetType() == script.Script.GetType())
                {
                    if (monos[i] == script.Script)
                    {
                        index = amountOfThatType;
                    }
                    else
                    {
                        amountOfThatType++;
                    }
                }
            }
            if (amountOfThatType > 1)
            {
                title += String.Format("({0}/{1})", index, amountOfThatType);
            }
        }
        title        += ":";
        script.Script = EditorGUILayout.ObjectField(title, script.Script, typeof(Component), true) as Component;
        if (script.Script != null)
        {
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.PrefixLabel(" ");
            if (GUILayout.Button("Previous"))
            {
                Component[] monos = script.Script.gameObject.GetComponents <Component>();
                int         index = Array.IndexOf(monos, script.Script);
                script.Script = monos[Math.Max(0, index - 1)];
            }
            if (GUILayout.Button("Next"))
            {
                Component[] monos = script.Script.gameObject.GetComponents <Component>();
                int         index = Array.IndexOf(monos, script.Script);
                script.Script = monos[Math.Min(monos.Length - 1, index + 1)];
            }
            EditorGUILayout.EndHorizontal();
        }

        //the property
        EditorGUILayout.BeginHorizontal();
        script.PropertyName = EditorGUILayout.TextField("Property/Field Name:", script.PropertyName);
        if (script != null && script.Script != null && GUILayout.Button("See all"))
        {
            ListPropertiesWindow window = EditorWindow.GetWindow <ListPropertiesWindow>();
            window.showPropertyScript = script;
        }
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.Space();
        EditorGUILayout.LabelField("Extensions:", EditorStyles.boldLabel);
        script.Prefix = EditorGUILayout.TextField("Prefix:", script.Prefix);
        script.Suffix = EditorGUILayout.TextField("Suffix:", script.Suffix);

        EditorGUILayout.Space();
        EditorGUILayout.LabelField("Refreshing:", EditorStyles.boldLabel);
        script.DoRefreshOnEnable = EditorGUILayout.Toggle("Do Refresh On Enable:", script.DoRefreshOnEnable);
        script.RefreshTime       = Math.Max(0, EditorGUILayout.FloatField("Refresh Time:", script.RefreshTime));
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.PrefixLabel(" ");
        if (GUILayout.Button("Every Frame"))
        {
            script.RefreshTime = 0;
        }
        if (GUILayout.Button("Manually"))
        {
            script.RefreshTime = Mathf.Infinity;
        }
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.Space();
        if (script != null && script.Script != null && GUILayout.Button("Refresh"))
        {
            script.EditorTimeRefresh();
            EditorUtility.SetDirty(script.GetComponent <UnityEngine.UI.Text>());
        }

        EditorUtility.SetDirty(target);
    }