Ejemplo n.º 1
0
        static public void DrawUnityObject(IBindableDataSource source)
        {
            if (source.EstablishedType.IsSubclassOf(typeof(Texture)) || source.EstablishedType == typeof(Sprite))
            {
                var rect = EditorGUILayout.BeginHorizontal(GUILayout.MinHeight(100));
                rect.width  = 100;
                rect.height = 100;
                rect.x     += 15;
                EditorGUI.DrawRect(rect, Color.white);

                Sprite s = source.Data as Sprite;
                if (s != null)
                {
                    Texture t = s.texture;
                    EditorGUI.DrawTextureAlpha(rect, t, ScaleMode.ScaleToFit);
                }
                GUILayout.Space(125);
                var fieldRect = EditorGUILayout.BeginHorizontal();
                EditorGUI.DrawRect(fieldRect, Color.white);
                source.Data = EditorGUILayout.ObjectField((UnityEngine.Object)source.Data, source.EstablishedType, false);
                EditorGUILayout.EndHorizontal();
                EditorGUILayout.EndHorizontal();
            }
            else
            {
                source.Data = EditorGUILayout.ObjectField((UnityEngine.Object)source.Data, source.EstablishedType, false);
            }
        }
Ejemplo n.º 2
0
        static public void DrawImage(IBindableDataSource source)
        {
            var rect = EditorGUILayout.BeginHorizontal(GUILayout.MinHeight(75));

            EditorGUI.DrawRect(rect, Color.white);
            EditorGUI.DrawTextureAlpha(rect, (Texture)source.Data, ScaleMode.ScaleToFit);
            EditorGUILayout.EndHorizontal();
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Constructs a control with the given datasource.
 /// </summary>
 public Control(string title, IBindableDataSource dataSource)
 {
     if (title == null)
     {
         title = "";
     }
     Title         = title;
     BoundProperty = dataSource;
 }
Ejemplo n.º 4
0
 void InitState()
 {
     if (state == null)
     {
         state = new DatabaseProperty("Some State", ControlDisplayType.UnityObject, typeof(Sprite));
     }
     if (Toggle == null)
     {
         Toggle = new Control(state);
     }
     if (Toggle2 == null)
     {
         Toggle2 = new Control(state);
     }
 }
Ejemplo n.º 5
0
        /// <summary>
        /// Draws the control using the type of data as a context for the kind of control to be used.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="data"></param>
        /// <param name="skin"></param>
        public static void DrawControl(IBindableDataSource dataSource)
        {
            if (dataSource == null)
            {
                return;
            }

            if (DrawActions.ContainsKey(dataSource.ControlType))
            {
                var temp = GUI.skin;
                if (Skin != null)
                {
                    GUI.skin = Skin;
                }
                DrawActions[dataSource.ControlType].Invoke(dataSource);
                GUI.skin = temp;
            }
        }
Ejemplo n.º 6
0
 static public void DrawColor(IBindableDataSource source)
 {
     source.Data = EditorGUILayout.ColorField((Color)source.Data);
 }
Ejemplo n.º 7
0
        static public void DrawGuid(IBindableDataSource source)
        {
            string s = EditorGUILayout.TextField(source.Data.ToString(), Skin.textField);

            source.Data = new Guid(s);
        }
Ejemplo n.º 8
0
 static public void DrawString(IBindableDataSource source)
 {
     source.Data = EditorGUILayout.TextField((string)source.Data, Skin.textField);
 }
Ejemplo n.º 9
0
 static public void DrawFloat(IBindableDataSource source)
 {
     source.Data = EditorGUILayout.FloatField((int)source.Data, Skin.textField);
 }
Ejemplo n.º 10
0
 static public void DrawBool(IBindableDataSource source)
 {
     source.Data = EditorGUILayout.Toggle((bool)source.Data, Skin.toggle);
 }
Ejemplo n.º 11
0
 /// <summary>
 /// Provides this control with a data source with wich to bind.
 /// </summary>
 /// <param name="prop"></param>
 public void BindPrimaryData(IBindableDataSource dataSource)
 {
     BoundProperty = dataSource;
 }
Ejemplo n.º 12
0
 /// <summary>
 /// Constructs a control with the given datasource.
 /// </summary>
 public Control(IBindableDataSource dataSource)
 {
     Title         = "";
     BoundProperty = dataSource;
 }