Daniele Bartolini 3 месяцев назад
Родитель
Сommit
70326621e6
3 измененных файлов с 34 добавлено и 34 удалено
  1. 10 10
      tools/core/database.vala
  2. 8 8
      tools/level_editor/property_grid.vala
  3. 16 16
      tools/resource/types.vala

+ 10 - 10
tools/core/database.vala

@@ -10,10 +10,10 @@ public enum PropertyType
 	BOOL,
 	DOUBLE,
 	STRING,
-	GUID,
 	VECTOR3,
 	QUATERNION,
 	OBJECTS_SET,
+	OBJECT_NAME,
 	OBJECT_REFERENCE,
 }
 
@@ -1086,7 +1086,7 @@ public class Database
 			case PropertyType.STRING:
 				set_property_string(id, def.name, (string)def.deffault);
 				break;
-			case PropertyType.GUID:
+			case PropertyType.OBJECT_REFERENCE:
 				set_property_guid(id, def.name, (Guid)def.deffault);
 				break;
 			case PropertyType.VECTOR3:
@@ -1098,7 +1098,7 @@ public class Database
 			case PropertyType.OBJECTS_SET:
 				create_empty_set(id, def.name);
 				break;
-			case PropertyType.OBJECT_REFERENCE:
+			case PropertyType.OBJECT_NAME:
 				if (def.deffault == null)
 					set_property_null(id, def.name);
 				else
@@ -1825,12 +1825,6 @@ public class Database
 				assert(def.enum_property == null && def.enum_callback == null || def.enum_property != null && def.enum_callback != null && def.enum_values.length == 0);
 				assert(def.deffault.holds(typeof(string)));
 				break;
-			case PropertyType.GUID:
-				def.deffault = GUID_ZERO;
-
-				assert(def.deffault.holds(typeof(Guid)));
-				assert(def.object_type._id != 0);
-				break;
 			case PropertyType.VECTOR3:
 				if (def.deffault == null)
 					def.deffault = VECTOR3_ZERO;
@@ -1851,7 +1845,7 @@ public class Database
 				break;
 			case PropertyType.OBJECTS_SET:
 				break;
-			case PropertyType.OBJECT_REFERENCE:
+			case PropertyType.OBJECT_NAME:
 				assert(def.resource_type != null);
 				assert(def.min == null);
 				assert(def.max == null);
@@ -1860,6 +1854,12 @@ public class Database
 				default:
 				assert(false);
 				break;
+			case PropertyType.OBJECT_REFERENCE:
+				def.deffault = GUID_ZERO;
+
+				assert(def.deffault.holds(typeof(Guid)));
+				assert(def.object_type._id != 0);
+				break;
 			}
 
 			_property_definitions += def;

+ 8 - 8
tools/level_editor/property_grid.vala

@@ -179,9 +179,6 @@ public class PropertyGrid : Gtk.Grid
 				else
 					p = new InputString();
 				break;
-			case PropertyType.GUID:
-				p = new InputObject(def.object_type, _db);
-				break;
 			case PropertyType.VECTOR3:
 				if (def.editor == PropertyEditorType.COLOR)
 					p = new InputColor3();
@@ -193,9 +190,12 @@ public class PropertyGrid : Gtk.Grid
 				break;
 			case PropertyType.OBJECTS_SET:
 				continue;
-			case PropertyType.OBJECT_REFERENCE:
+			case PropertyType.OBJECT_NAME:
 				p = new InputResource(def.resource_type, _db);
 				break;
+			case PropertyType.OBJECT_REFERENCE:
+				p = new InputObject(def.object_type, _db);
+				break;
 			default:
 				assert(false);
 				break;
@@ -244,7 +244,7 @@ public class PropertyGrid : Gtk.Grid
 					changed = true;
 				}
 			}
-		} else if (def.type == PropertyType.STRING || def.type == PropertyType.OBJECT_REFERENCE) {
+		} else if (def.type == PropertyType.STRING || def.type == PropertyType.OBJECT_NAME) {
 			if (_db.object_type(_id) == OBJECT_TYPE_UNIT) {
 				Unit u = Unit(_db, _id);
 				if (u.get_component_property_string(_component_id, def.name, (string)def.deffault) != (string)new_value) {
@@ -257,7 +257,7 @@ public class PropertyGrid : Gtk.Grid
 					changed = true;
 				}
 			}
-		} else if (def.type == PropertyType.GUID) {
+		} else if (def.type == PropertyType.OBJECT_REFERENCE) {
 			if (_db.object_type(_id) == OBJECT_TYPE_UNIT) {
 				Unit u = Unit(_db, _id);
 				if (Guid.equal_func(u.get_component_property_guid(_component_id, def.name, (Guid)def.deffault), (Guid)new_value) == false) {
@@ -346,14 +346,14 @@ public class PropertyGrid : Gtk.Grid
 				} else {
 					p.set_union_value(_db.get_property_double(_id, def.name, (double)def.deffault));
 				}
-			} else if (def.type == PropertyType.STRING || def.type == PropertyType.OBJECT_REFERENCE) {
+			} else if (def.type == PropertyType.STRING || def.type == PropertyType.OBJECT_NAME) {
 				if (_db.object_type(_id) == OBJECT_TYPE_UNIT) {
 					Unit u = Unit(_db, _id);
 					p.set_union_value(u.get_component_property_string(_component_id, def.name, (string)def.deffault));
 				} else {
 					p.set_union_value(_db.get_property_string(_id, def.name, (string)def.deffault));
 				}
-			} else if (def.type == PropertyType.GUID) {
+			} else if (def.type == PropertyType.OBJECT_REFERENCE) {
 				if (_db.object_type(_id) == OBJECT_TYPE_UNIT) {
 					Unit u = Unit(_db, _id);
 					p.set_union_value(u.get_component_property_guid(_component_id, def.name, (Guid)def.deffault));

+ 16 - 16
tools/resource/types.vala

@@ -169,7 +169,7 @@ public static void create_object_types(Database database)
 	{
 		PropertyDefinition()
 		{
-			type = PropertyType.OBJECT_REFERENCE,
+			type = PropertyType.OBJECT_NAME,
 			name = "data.mesh_resource",
 			label = "Scene",
 			resource_type = OBJECT_TYPE_MESH,
@@ -187,7 +187,7 @@ public static void create_object_types(Database database)
 		},
 		PropertyDefinition()
 		{
-			type = PropertyType.OBJECT_REFERENCE,
+			type = PropertyType.OBJECT_NAME,
 			name = "data.material",
 			resource_type = OBJECT_TYPE_MATERIAL,
 			deffault = "core/components/noop",
@@ -224,7 +224,7 @@ public static void create_object_types(Database database)
 	{
 		PropertyDefinition()
 		{
-			type = PropertyType.OBJECT_REFERENCE,
+			type = PropertyType.OBJECT_NAME,
 			name = "data.sprite_resource",
 			label = "Sprite",
 			resource_type = OBJECT_TYPE_SPRITE,
@@ -232,7 +232,7 @@ public static void create_object_types(Database database)
 		},
 		PropertyDefinition()
 		{
-			type = PropertyType.OBJECT_REFERENCE,
+			type = PropertyType.OBJECT_NAME,
 			name = "data.material",
 			resource_type = OBJECT_TYPE_MATERIAL,
 			deffault = "core/components/noop",
@@ -415,7 +415,7 @@ public static void create_object_types(Database database)
 		},
 		PropertyDefinition()
 		{
-			type = PropertyType.OBJECT_REFERENCE,
+			type = PropertyType.OBJECT_NAME,
 			name = "data.scene",
 			resource_type = OBJECT_TYPE_MESH,
 			deffault = "core/components/noop",
@@ -489,7 +489,7 @@ public static void create_object_types(Database database)
 	{
 		PropertyDefinition()
 		{
-			type = PropertyType.OBJECT_REFERENCE,
+			type = PropertyType.OBJECT_NAME,
 			name = "_global_physics_config",
 			deffault = "global",
 			resource_type = "physics_config",
@@ -580,7 +580,7 @@ public static void create_object_types(Database database)
 	{
 		PropertyDefinition()
 		{
-			type = PropertyType.OBJECT_REFERENCE,
+			type = PropertyType.OBJECT_NAME,
 			name = "data.script_resource",
 			label = "Script",
 			resource_type = "lua",
@@ -605,7 +605,7 @@ public static void create_object_types(Database database)
 	{
 		PropertyDefinition()
 		{
-			type = PropertyType.OBJECT_REFERENCE,
+			type = PropertyType.OBJECT_NAME,
 			name = "data.state_machine_resource",
 			label = "State Machine",
 			resource_type = OBJECT_TYPE_STATE_MACHINE,
@@ -640,7 +640,7 @@ public static void create_object_types(Database database)
 		},
 		PropertyDefinition()
 		{
-			type = PropertyType.OBJECT_REFERENCE,
+			type = PropertyType.OBJECT_NAME,
 			name = "name",
 			resource_type = OBJECT_TYPE_SOUND,
 			deffault = ""
@@ -743,7 +743,7 @@ public static void create_object_types(Database database)
 	{
 		PropertyDefinition()
 		{
-			type = PropertyType.OBJECT_REFERENCE,
+			type = PropertyType.OBJECT_NAME,
 			name = "_global_physics_config",
 			deffault = "global",
 			resource_type = "physics_config",
@@ -802,7 +802,7 @@ public static void create_object_types(Database database)
 	{
 		PropertyDefinition()
 		{
-			type = PropertyType.OBJECT_REFERENCE,
+			type = PropertyType.OBJECT_NAME,
 			name = "data.skydome_map",
 			label = "Skydome Map",
 			resource_type = OBJECT_TYPE_TEXTURE,
@@ -919,7 +919,7 @@ public static void create_object_types(Database database)
 		},
 		PropertyDefinition()
 		{
-			type = PropertyType.OBJECT_REFERENCE,
+			type = PropertyType.OBJECT_NAME,
 			name = "prefab",
 			resource_type = OBJECT_TYPE_UNIT,
 			deffault = null,
@@ -963,7 +963,7 @@ public static void create_object_types(Database database)
 	{
 		PropertyDefinition()
 		{
-			type = PropertyType.OBJECT_REFERENCE,
+			type = PropertyType.OBJECT_NAME,
 			name = "name",
 			resource_type = OBJECT_TYPE_MESH_ANIMATION,
 		},
@@ -991,7 +991,7 @@ public static void create_object_types(Database database)
 		},
 		PropertyDefinition()
 		{
-			type = PropertyType.GUID,
+			type = PropertyType.OBJECT_REFERENCE,
 			object_type = StringId64(OBJECT_TYPE_STATE_MACHINE_NODE),
 			name = "to",
 		},
@@ -1050,7 +1050,7 @@ public static void create_object_types(Database database)
 	{
 		PropertyDefinition()
 		{
-			type = PropertyType.GUID,
+			type = PropertyType.OBJECT_REFERENCE,
 			object_type = StringId64(OBJECT_TYPE_STATE_MACHINE_NODE),
 			name = "initial_state",
 		},
@@ -1115,7 +1115,7 @@ public static void create_object_types(Database database)
 		},
 		PropertyDefinition()
 		{
-			type = PropertyType.OBJECT_REFERENCE,
+			type = PropertyType.OBJECT_NAME,
 			name = "skydome_unit",
 			resource_type = OBJECT_TYPE_UNIT,
 			deffault = "core/units/skydome/skydome",