瀏覽代碼

Fix inspecting AnimatedSprite2D & ParticleEmitter2D attrs in Editor.

Yao Wei Tjong 姚伟忠 11 年之前
父節點
當前提交
5e6c081d09

+ 2 - 0
Bin/Data/Scripts/Editor/AttributeEditor.as

@@ -879,6 +879,7 @@ void InitResourcePicker()
     Array<String> soundFilters = {"*.wav","*.ogg"};
     Array<String> scriptFilters = {"*.as", "*.asc"};
     Array<String> materialFilters = {"*.xml", "*.material"};
+    Array<String> plistFilters = {"*.plist"};
     resourcePickers.Push(ResourcePicker("Animation", "*.ani", ACTION_PICK | ACTION_TEST));
     resourcePickers.Push(ResourcePicker("Font", fontFilters));
     resourcePickers.Push(ResourcePicker("Image", imageFilters));
@@ -891,6 +892,7 @@ void InitResourcePicker()
     resourcePickers.Push(ResourcePicker("XMLFile", "*.xml"));
     resourcePickers.Push(ResourcePicker("Sound", soundFilters));
     resourcePickers.Push(ResourcePicker("Sprite2D", textureFilters, ACTION_PICK | ACTION_OPEN));
+    resourcePickers.Push(ResourcePicker("ParticleModel2D", plistFilters, ACTION_PICK | ACTION_OPEN));
 }
 
 ResourcePicker@ GetResourcePicker(ShortStringHash resourceType)

+ 6 - 5
Source/Engine/Urho2D/AnimatedSprite2D.cpp

@@ -49,10 +49,11 @@ template<> CycleMode Variant::Get<CycleMode>() const
     return (CycleMode)GetInt();
 }
 
-AnimatedSprite2D::AnimatedSprite2D(Context* context) : StaticSprite2D(context),
-    speed_(1.0f), 
+AnimatedSprite2D::AnimatedSprite2D(Context* context) :
+    StaticSprite2D(context),
+    speed_(1.0f),
     cycleMode_(CM_LOOP),
-    animationTime_(0.0f), 
+    animationTime_(0.0f),
     animationTotalTime_(1.0f)
 {
 }
@@ -65,7 +66,7 @@ void AnimatedSprite2D::RegisterObject(Context* context)
 {
     context->RegisterFactory<AnimatedSprite2D>(URHO2D_CATEGORY);
     ACCESSOR_ATTRIBUTE(AnimatedSprite2D, VAR_FLOAT, "Speed", GetSpeed, SetSpeed, float, 1.0f, AM_DEFAULT);
-    ENUM_ACCESSOR_ATTRIBUTE(AnimatedSprite2D, "Cycle Mode", GetCycleMode, SetCycleMode, CycleMode, cycleModeNames, 0, AM_FILE);
+    ENUM_ACCESSOR_ATTRIBUTE(AnimatedSprite2D, "Cycle Mode", GetCycleMode, SetCycleMode, CycleMode, cycleModeNames, 0, AM_DEFAULT);
     COPY_BASE_ATTRIBUTES(AnimatedSprite2D, StaticSprite2D);
 }
 
@@ -166,4 +167,4 @@ void AnimatedSprite2D::HandleScenePostUpdate(StringHash eventType, VariantMap& e
     MarkForUpdate();
 }
 
-}
+}

+ 2 - 1
Source/Engine/Urho2D/Drawable2D.cpp

@@ -42,7 +42,8 @@ namespace Urho3D
 
 extern const char* blendModeNames[];
 
-Drawable2D::Drawable2D(Context* context) : Drawable(context, DRAWABLE_GEOMETRY),
+Drawable2D::Drawable2D(Context* context) :
+    Drawable(context, DRAWABLE_GEOMETRY),
     unitPerPixel_(1.0f),
     blendMode_(BLEND_REPLACE),
     zValue_(0.0f),

+ 5 - 4
Source/Engine/Urho2D/ParticleEmitter2D.cpp

@@ -36,10 +36,11 @@ namespace Urho3D
 
 extern const char* URHO2D_CATEGORY;
 
-ParticleEmitter2D::ParticleEmitter2D(Context* context) : Drawable2D(context), 
+ParticleEmitter2D::ParticleEmitter2D(Context* context) :
+    Drawable2D(context),
     lifeTime_(0.0f),
-    numParticles_(0),    
-    emitParticleTime_(0.0f), 
+    numParticles_(0),
+    emitParticleTime_(0.0f),
     timeBetweenParticles_(1.0f)
 {
 }
@@ -52,7 +53,7 @@ void ParticleEmitter2D::RegisterObject(Context* context)
 {
     context->RegisterFactory<ParticleEmitter2D>(URHO2D_CATEGORY);
 
-    ACCESSOR_ATTRIBUTE(ParticleEmitter2D, VAR_RESOURCEREF, "Particle Model", GetParticleModelAttr, SetParticleModelAttr, ResourceRef, ResourceRef(ParticleModel2D::GetTypeStatic()), AM_FILE);
+    ACCESSOR_ATTRIBUTE(ParticleEmitter2D, VAR_RESOURCEREF, "Particle Model", GetParticleModelAttr, SetParticleModelAttr, ResourceRef, ResourceRef(ParticleModel2D::GetTypeStatic()), AM_DEFAULT);
     COPY_BASE_ATTRIBUTES(ParticleEmitter2D, Drawable2D);
 }
 

+ 3 - 2
Source/Engine/Urho2D/ParticleModel2D.cpp

@@ -55,7 +55,8 @@ static const int destBlendFuncs[] =
     0x0304  // GL_DST_ALPHA
 };
 
-ParticleModel2D::ParticleModel2D(Context* context) : Resource(context), 
+ParticleModel2D::ParticleModel2D(Context* context) :
+    Resource(context),
     blendMode_(BLEND_ALPHA),
     duration_(-1.0f),
     emitterType_(EMITTER_TYPE_GRAVITY),
@@ -221,4 +222,4 @@ Sprite2D* ParticleModel2D::GetSprite() const
     return sprite_;
 }
 
-}
+}

+ 3 - 2
Source/Engine/Urho2D/StaticSprite2D.cpp

@@ -33,7 +33,8 @@ namespace Urho3D
 
 extern const char* URHO2D_CATEGORY;
 
-StaticSprite2D::StaticSprite2D(Context* context) : Drawable2D(context),
+StaticSprite2D::StaticSprite2D(Context* context) :
+    Drawable2D(context),
     flipX_(false),
     flipY_(false),
     color_(Color::WHITE)
@@ -167,4 +168,4 @@ void StaticSprite2D::UpdateVertices()
     verticesDirty_ = false;
 }
 
-}
+}

+ 3 - 2
Source/Engine/Urho2D/Urho2D.cpp

@@ -39,14 +39,15 @@ const char* URHO2D_CATEGORY = "Urho2D";
 
 void RegisterUrho2DLibrary(Context* context)
 {
+    // Must register objects from base to derived order
+    Drawable2D::RegisterObject(context);
+    StaticSprite2D::RegisterObject(context);
     AnimatedSprite2D::RegisterObject(context);
     Animation2D::RegisterObject(context);
-    Drawable2D::RegisterObject(context);
     ParticleEmitter2D::RegisterObject(context);
     ParticleModel2D::RegisterObject(context);
     Sprite2D::RegisterObject(context);
     SpriteSheet2D::RegisterObject(context);
-    StaticSprite2D::RegisterObject(context);
 }
 
 }