Pārlūkot izejas kodu

Working more on inspector

Josh Engebretson 10 gadi atpakaļ
vecāks
revīzija
299cf0e776

+ 1 - 58
Script/AtomicEditor/ui/frames/inspector/ComponentInspector.ts

@@ -251,73 +251,16 @@ class ComponentInspector extends Atomic.UISection {
     addModelUI(layout: Atomic.UILayout, typeName: string) {
 
         var staticModel = <Atomic.StaticModel> this.component;
-        var cacheModel = staticModel.model;
-
-        var o = InspectorUtils.createAttrEditFieldWithSelectButton("Model", layout);
-        var field = o.editField;
-        field.readOnly = true;
-
-        var select = o.selectButton;
-
-        select.onClick = () => {
-
-            EditorUI.getModelOps().showResourceSelection("Select Model", "ModelImporter", function(asset: ToolCore.Asset) {
-
-                staticModel.model = <Atomic.Model> Atomic.cache.getResource("Model", asset.cachePath + ".mdl");
-                field.text = asset.name;
-
-            });
-
-        }
-
-        if (cacheModel) {
-
-            var asset = ToolCore.assetDatabase.getAssetByCachePath(cacheModel.name);
-
-            if (asset) {
-
-                field.text = asset.name;
-
-            }
-
-        }
-
-        // handle dropping of model on field
-        field.subscribeToEvent(field, "DragEnded", (ev: Atomic.DragEndedEvent) => {
-
-            if (ev.target == field) {
-
-                var importer = this.acceptAssetDrag("ModelImporter", ev);
-
-                if (importer) {
-
-                    var modelImporter = <ToolCore.ModelImporter> importer;
-                    var asset = modelImporter.asset;
-
-                    // the model itself, not the node XML
-                    var model = <Atomic.Model> Atomic.cache.getResource("Model", asset.cachePath + ".mdl");
-
-                    if (model) {
-
-                        staticModel.model = model;
-                        ev.target.text = asset.name;
-
-                    }
-                }
-            }
-
-        });
 
         var numGeometries = staticModel.numGeometries;
         if (typeName == "Skybox") {
             numGeometries = 1;
         }
 
-        for (var x = 0; x < staticModel.numGeometries; x++) {
+        for (var x = 0; x < numGeometries; x++) {
 
             this.createMaterialClosure(layout, staticModel, x);
 
-
         }
 
 

+ 2 - 1
Script/AtomicEditor/ui/frames/inspector/DataBinding.ts

@@ -338,7 +338,8 @@ class DataBinding {
             if (resource) {
                 text = resource.name;
                 var asset = ToolCore.assetDatabase.getAssetByCachePath(resource.name);
-                text = asset.name;
+                if (asset)
+                  text = asset.name;
             }
 
             widget["editField"].text = text;

+ 6 - 0
Source/ToolCore/Assets/AssetDatabase.cpp

@@ -92,6 +92,9 @@ Asset* AssetDatabase::GetAssetByCachePath(const String& cachePath)
 {
     List<SharedPtr<Asset>>::ConstIterator itr = assets_.Begin();
 
+    if (!cachePath.StartsWith("Cache/"))
+        return 0;
+
     String cacheFilename = GetFileName(cachePath);
 
     while (itr != assets_.End())
@@ -485,6 +488,9 @@ String AssetDatabase::GetResourceImporterName(const String& resourceTypeName)
     {
         resourceTypeToImporterType_["Sound"] = "AudioImporter";
         resourceTypeToImporterType_["Model"] = "ModelImporter";
+        resourceTypeToImporterType_["JSComponentFile"] = "JavascriptImporter";
+
+
     }
 
     if (!resourceTypeToImporterType_.Contains(resourceTypeName))