Browse Source

Fix Texture2D::GetImage and TextureCube::GetImage Lua bindings. Simplify some Lua bindings.

Eugene Kozlov 9 years ago
parent
commit
dec0361792

+ 1 - 5
Source/Urho3D/LuaScript/pkgs/Graphics/Animation.pkg

@@ -89,10 +89,6 @@ static Animation* AnimationClone(const Animation* animation, const String& clone
     if (!animation)
         return 0;
         
-    SharedPtr<Animation> clonedAnimationPtr = animation->Clone(cloneName);
-    Animation* clonedAnimation = clonedAnimationPtr.Get();
-    clonedAnimationPtr.Detach();
-    
-    return clonedAnimation;
+    return animation->Clone(cloneName).Detach();
 }
 $}

+ 3 - 7
Source/Urho3D/LuaScript/pkgs/Graphics/Material.pkg

@@ -91,11 +91,7 @@ static Material* MaterialClone(const Material* material, const String& cloneName
 {
     if (!material)
         return 0;
-        
-    SharedPtr<Material> clonedMaterialPtr = material->Clone(cloneName);
-    Material* clonedMaterial = clonedMaterialPtr.Get();
-    clonedMaterialPtr.Detach();
-    
-    return clonedMaterial;
+
+    return material->Clone(cloneName).Detach();
 }
-$}
+$}

+ 2 - 6
Source/Urho3D/LuaScript/pkgs/Graphics/Model.pkg

@@ -49,11 +49,7 @@ static Model* ModelClone(const Model* model, const String& cloneName = String::E
 {
     if (!model)
         return 0;
-        
-    SharedPtr<Model> clonedModelPtr = model->Clone(cloneName);
-    Model* clonedModel = clonedModelPtr.Get();
-    clonedModelPtr.Detach();
-    
-    return clonedModel;
+
+    return model->Clone(cloneName).Detach();
 }
 $}

+ 3 - 7
Source/Urho3D/LuaScript/pkgs/Graphics/ParticleEffect.pkg

@@ -164,11 +164,7 @@ static ParticleEffect* ParticleEffectClone(const ParticleEffect* effect, const S
 {
     if (!effect)
         return 0;
-        
-    SharedPtr<ParticleEffect> clonedEffectPtr = effect->Clone(cloneName);
-    ParticleEffect* clonedEffect = clonedEffectPtr.Get();
-    clonedEffectPtr.Detach();
-    
-    return clonedEffect;
+
+    return effect->Clone(cloneName).Detach();
 }
-$}
+$}

+ 3 - 7
Source/Urho3D/LuaScript/pkgs/Graphics/RenderPath.pkg

@@ -124,11 +124,7 @@ static RenderPath* RenderPathClone(RenderPath* renderPath)
 {
     if (!renderPath)
         return 0;
-    
-    SharedPtr<RenderPath> clonedRenderPathPtr = renderPath->Clone();
-    RenderPath* clonedRenderPath = clonedRenderPathPtr.Get();
-    clonedRenderPathPtr.Detach();
-    
-    return clonedRenderPath;
+
+    return renderPath->Clone().Detach();
 }
-$}
+$}

+ 10 - 2
Source/Urho3D/LuaScript/pkgs/Graphics/Texture2D.pkg

@@ -10,7 +10,7 @@ class Texture2D : public Texture
     bool SetSize(int width, int height, unsigned format, TextureUsage usage = TEXTURE_STATIC, int multiSample = 1, bool autoResolve = true);
     bool SetData(Image* image, bool useAlpha = false);
 
-    Image* GetImage() const;
+    tolua_outside Image* Texture2DGetImage @ GetImage() const;
 
     RenderSurface* GetRenderSurface() const;
     
@@ -29,4 +29,12 @@ static int tolua_GraphicsLuaAPI_Texture2D_new00_local(lua_State* tolua_S)
 {
     return ToluaNewObjectGC<Texture2D>(tolua_S);
 }
-$}
+
+static Image* Texture2DGetImage(const Texture2D* texture2D)
+{
+    if (!texture2D)
+        return 0;
+
+    return texture2D->GetImage().Detach();
+}
+$}

+ 10 - 2
Source/Urho3D/LuaScript/pkgs/Graphics/TextureCube.pkg

@@ -8,7 +8,7 @@ class TextureCube : public Texture
     bool SetSize(int size, unsigned format, TextureUsage usage = TEXTURE_STATIC, int multiSample = 1);
     bool SetData(CubeMapFace face, Image* image, bool useAlpha = false);
 
-    Image* GetImage(CubeMapFace face) const;
+    tolua_outside Image* TextureCubeGetImage @ GetImage(CubeMapFace face) const;
 
     RenderSurface* GetRenderSurface(CubeMapFace face) const;
 };
@@ -25,4 +25,12 @@ static int tolua_GraphicsLuaAPI_TextureCube_new00_local(lua_State* tolua_S)
 {
     return ToluaNewObjectGC<TextureCube>(tolua_S);
 }
-$}
+
+static Image* TextureCubeGetImage(const TextureCube* textureCube, CubeMapFace face)
+{
+    if (!textureCube)
+        return 0;
+
+    return textureCube->GetImage(face).Detach();
+}
+$}

+ 1 - 5
Source/Urho3D/LuaScript/pkgs/Network/Network.pkg

@@ -72,10 +72,6 @@ static HttpRequest* NetworkMakeHttpRequest(Network* network, const String& url,
     if (!network)
         return 0;
 
-    SharedPtr<HttpRequest> httpRequestPtr = network->MakeHttpRequest(url, verb, headers, postData);
-    HttpRequest* httpRequest = httpRequestPtr.Get();
-    httpRequestPtr.Detach();
-
-    return httpRequest;
+    return network->MakeHttpRequest(url, verb, headers, postData).Detach();
 }
 $}

+ 1 - 10
Source/Urho3D/LuaScript/pkgs/Resource/ResourceCache.pkg

@@ -61,20 +61,11 @@ static int tolua_ResourceLuaAPI_GetCache00(lua_State* tolua_S)
 
 static File* ResourceCacheGetFile(ResourceCache* cache, const String& fileName)
 {
-    SharedPtr<File> filePtr = cache->GetFile(fileName);
-    if (!filePtr)
-        return 0;
-
-    File* file = filePtr.Get();
-    filePtr.Detach();
-
-    return file;
+    return cache->GetFile(fileName).Detach();
 }
 
 static bool ResourceCacheBackgroundLoadResource(ResourceCache* cache, StringHash type, const String& fileName, bool sendEventOnFailure)
 {
     return cache->BackgroundLoadResource(type, fileName, sendEventOnFailure);
 }
-
-
 $}

+ 3 - 24
Source/Urho3D/LuaScript/pkgs/UI/UI.pkg

@@ -87,14 +87,7 @@ static UIElement* UILoadLayout(UI* ui, File* source, XMLFile* styleFile)
     if (!source)
         return 0;
 
-    SharedPtr<UIElement> elementPtr = ui->LoadLayout(*source, styleFile);
-    if (!elementPtr)
-        return 0;
-
-    UIElement* element = elementPtr.Get();
-    elementPtr.Detach();
-
-    return element;
+    return ui->LoadLayout(*source, styleFile).Detach();
 }
 
 static UIElement* UILoadLayout(UI* ui, const String& fileName, XMLFile* styleFile)
@@ -103,14 +96,7 @@ static UIElement* UILoadLayout(UI* ui, const String& fileName, XMLFile* styleFil
     if (!file.IsOpen())
         return 0;
 
-    SharedPtr<UIElement> elementPtr = ui->LoadLayout(file, styleFile);
-    if (!elementPtr)
-        return 0;
-
-    UIElement* element = elementPtr.Get();
-    elementPtr.Detach();
-
-    return element;
+    return ui->LoadLayout(file, styleFile).Detach();
 }
 
 static UIElement* UILoadLayout(UI* ui, XMLFile* source, XMLFile* styleFile)
@@ -118,14 +104,7 @@ static UIElement* UILoadLayout(UI* ui, XMLFile* source, XMLFile* styleFile)
     if (!source)
         return 0;
 
-    SharedPtr<UIElement> elementPtr = ui->LoadLayout(source, styleFile);
-    if (!elementPtr)
-        return 0;
-
-    UIElement* element = elementPtr.Get();
-    elementPtr.Detach();
-
-    return element;
+    return ui->LoadLayout(source, styleFile).Detach();
 }
 
 #define TOLUA_DISABLE_tolua_UILuaAPI_GetUI00

+ 1 - 5
Source/Urho3D/LuaScript/pkgs/Urho2D/ParticleEffect2D.pkg

@@ -18,11 +18,7 @@ static ParticleEffect2D* ParticleEffect2DClone(const ParticleEffect2D* effect, c
 {
     if (!effect)
         return 0;
-        
-    SharedPtr<ParticleEffect2D> clonedEffectPtr = effect->Clone(cloneName);
-    ParticleEffect2D* clonedEffect = clonedEffectPtr.Get();
-    clonedEffectPtr.Detach();
 
-    return clonedEffect;
+    return effect->Clone(cloneName).Detach();
 }
 $}