Esempio n. 1
0
			public GUIMatrix(System.Object data, FieldInfo fi) : base(data, fi) {
				TextMatrix = new TextMatrix((Matrix4x4)fi.GetValue(data));
				_onGUI = () => {
					GUILayout.BeginHorizontal();
					GUILayout.Label(string.Format("{0} ", fi.Name), GUILayout.ExpandWidth(false));
					GUILayout.BeginVertical();
					for (var y = 0; y < 4; y++) {
						GUILayout.BeginHorizontal();
						for (var x = 0; x < 4; x++) {
							TextMatrix[x + y * 4] = GUILayout.TextField(
								TextMatrix[x + y * 4], GUILayout.ExpandWidth(true), GUILayout.MinWidth(30f));
						}
						GUILayout.EndHorizontal();
					}
					GUILayout.EndVertical();
					GUILayout.EndHorizontal();
					Save();
				};		
			}
Esempio n. 2
0
        public System.Action GenerateGUIMatrix4x4(FieldInfo fi)
        {
            var textMatrix = new TextMatrix((Matrix4x4)fi.GetValue(data));

            return(() => {
                GUILayout.BeginHorizontal();
                GUILayout.Label(string.Format("{0} ", fi.Name), GUILayout.ExpandWidth(false));
                GUILayout.BeginVertical();
                for (var y = 0; y < 4; y++)
                {
                    GUILayout.BeginHorizontal();
                    for (var x = 0; x < 4; x++)
                    {
                        textMatrix [x + y * 4] = GUILayout.TextField(
                            textMatrix [x + y * 4], GUILayout.ExpandWidth(true), GUILayout.MinWidth(30f));
                    }
                    GUILayout.EndHorizontal();
                }
                GUILayout.EndVertical();
                GUILayout.EndHorizontal();
                fi.SetValue(data, textMatrix.Value);
            });
        }
Esempio n. 3
0
 public GUIMatrix(System.Object data, FieldInfo fi)
     : base(data, fi)
 {
     TextMatrix = new TextMatrix((Matrix4x4)fi.GetValue(data));
     _onGUI = () => {
         GUILayout.BeginHorizontal();
         GUILayout.Label(string.Format("{0} ", fi.Name), GUILayout.ExpandWidth(false));
         GUILayout.BeginVertical();
         for (var y = 0; y < 4; y++) {
             GUILayout.BeginHorizontal();
             for (var x = 0; x < 4; x++) {
                 TextMatrix[x + y * 4] = GUILayout.TextField(
                     TextMatrix[x + y * 4], GUILayout.ExpandWidth(true), GUILayout.MinWidth(30f));
             }
             GUILayout.EndHorizontal();
         }
         GUILayout.EndVertical();
         GUILayout.EndHorizontal();
         Save();
     };
 }