Browse Source

A few updates to Spriter imports, also log to error if try and push a class which isn't supported (catches not specifying in package)

Josh Engebretson 10 years ago
parent
commit
36cde2ec78

+ 1 - 1
Script/Packages/ToolCore/ToolCore.json

@@ -5,7 +5,7 @@
 	"classes" : ["ToolEnvironment", "ToolSystem", "Project", "ProjectFile", "Platform", "PlatformMac", "PlatformWeb",
 	"classes" : ["ToolEnvironment", "ToolSystem", "Project", "ProjectFile", "Platform", "PlatformMac", "PlatformWeb",
 							 "PlatformWindows", "Command", "PlayCmd", "OpenAssetImporter",
 							 "PlatformWindows", "Command", "PlayCmd", "OpenAssetImporter",
 							 "Asset", "AssetDatabase", "AssetImporter", "AudioImporter", "ModelImporter", "MaterialImporter", "AnimationImportInfo",
 							 "Asset", "AssetDatabase", "AssetImporter", "AudioImporter", "ModelImporter", "MaterialImporter", "AnimationImportInfo",
-							 "PrefabImporter", "JavascriptImporter", "TextureImporter", "LicenseSystem"],
+							 "PrefabImporter", "JavascriptImporter", "TextureImporter", "SpriterImporter", "LicenseSystem"],
 	"typescript_decl" : {
 	"typescript_decl" : {
 
 
 		"AssetDatabase" : [
 		"AssetDatabase" : [

+ 9 - 0
Source/AtomicJS/Javascript/JSVM.h

@@ -235,6 +235,15 @@ inline bool js_push_class_object_instance(duk_context* ctx, const RefCounted *in
     // reset top and return false
     // reset top and return false
     if (!duk_is_object(ctx, -1))
     if (!duk_is_object(ctx, -1))
     {
     {
+        if (instance->IsObject())
+        {
+            LOGERRORF("Unable to push class object instance due to missing ClassID: %s", ((Object*)instance)->GetTypeName().CString());
+        }
+        else
+        {
+            LOGERROR("Unable to push RefCounted instance due to missing ClassID");
+        }
+
         duk_set_top(ctx, top);
         duk_set_top(ctx, top);
         return false;
         return false;
     }
     }

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

@@ -490,6 +490,7 @@ String AssetDatabase::GetResourceImporterName(const String& resourceTypeName)
         resourceTypeToImporterType_["Model"] = "ModelImporter";
         resourceTypeToImporterType_["Model"] = "ModelImporter";
         resourceTypeToImporterType_["Texture2D"] = "TextureImporter";
         resourceTypeToImporterType_["Texture2D"] = "TextureImporter";
         resourceTypeToImporterType_["Sprite2D"] = "TextureImporter";
         resourceTypeToImporterType_["Sprite2D"] = "TextureImporter";
+        resourceTypeToImporterType_["AnimatedSprite2D"] = "SpriterImporter";
         resourceTypeToImporterType_["JSComponentFile"] = "JavascriptImporter";
         resourceTypeToImporterType_["JSComponentFile"] = "JavascriptImporter";
     }
     }
 
 

+ 14 - 1
Source/ToolCore/Assets/SpriterImporter.cpp

@@ -2,6 +2,8 @@
 #include <Atomic/Resource/ResourceCache.h>
 #include <Atomic/Resource/ResourceCache.h>
 #include <Atomic/Resource/Image.h>
 #include <Atomic/Resource/Image.h>
 
 
+#include <Atomic/Atomic2D/AnimationSet2D.h>
+
 #include "Asset.h"
 #include "Asset.h"
 #include "AssetDatabase.h"
 #include "AssetDatabase.h"
 #include "SpriterImporter.h"
 #include "SpriterImporter.h"
@@ -11,7 +13,7 @@ namespace ToolCore
 
 
 SpriterImporter::SpriterImporter(Context* context, Asset *asset) : AssetImporter(context, asset)
 SpriterImporter::SpriterImporter(Context* context, Asset *asset) : AssetImporter(context, asset)
 {
 {
-
+    requiresCacheFile_ = false;
 }
 }
 
 
 SpriterImporter::~SpriterImporter()
 SpriterImporter::~SpriterImporter()
@@ -49,5 +51,16 @@ bool SpriterImporter::SaveSettingsInternal()
     return true;
     return true;
 }
 }
 
 
+Resource* SpriterImporter::GetResource(const String& typeName)
+{
+    ResourceCache* cache = GetSubsystem<ResourceCache>();
+
+    AnimationSet2D* animSet = cache->GetResource<AnimationSet2D>(asset_->GetPath());
+
+    return animSet;
+
+}
+
+
 
 
 }
 }

+ 2 - 0
Source/ToolCore/Assets/SpriterImporter.h

@@ -17,6 +17,8 @@ public:
 
 
     virtual void SetDefaults();
     virtual void SetDefaults();
 
 
+    Resource* GetResource(const String& typeName);
+
 protected:
 protected:
 
 
     bool Import();
     bool Import();