Skip to content

Commit ff721de

Browse files
committed
Added more setTexture overload
1 parent 2791553 commit ff721de

9 files changed

Lines changed: 40 additions & 0 deletions

File tree

engine/core/object/Mesh.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,14 @@ void Mesh::setTexture(const std::string& path){
3838
mesh.submeshes[0].needUpdateTexture = true;
3939
}
4040

41+
void Mesh::setTexture(const std::string& id, TextureData data){
42+
MeshComponent& mesh = getComponent<MeshComponent>();
43+
44+
mesh.submeshes[0].material.baseColorTexture.setData(id, data);
45+
46+
mesh.submeshes[0].needUpdateTexture = true;
47+
}
48+
4149
void Mesh::setTexture(Framebuffer* framebuffer){
4250
MeshComponent& mesh = getComponent<MeshComponent>();
4351

engine/core/object/Mesh.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ namespace Supernova{
2020
bool load();
2121

2222
void setTexture(const std::string& path);
23+
void setTexture(const std::string& id, TextureData data);
2324
void setTexture(Framebuffer* framebuffer);
2425

2526
void setColor(Vector4 color);

engine/core/object/Points.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,14 @@ void Points::setTexture(const std::string& path){
232232
pointscomp.needUpdateTexture = true;
233233
}
234234

235+
void Points::setTexture(const std::string& id, TextureData data){
236+
PointsComponent& pointscomp = getComponent<PointsComponent>();
237+
238+
pointscomp.texture.setData(id, data);
239+
240+
pointscomp.needUpdateTexture = true;
241+
}
242+
235243
void Points::setTexture(Framebuffer* framebuffer){
236244
PointsComponent& pointscomp = getComponent<PointsComponent>();
237245

engine/core/object/Points.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ namespace Supernova{
5757
void removeSpriteFrame(const std::string& name);
5858

5959
void setTexture(const std::string& path);
60+
void setTexture(const std::string& id, TextureData data);
6061
void setTexture(Framebuffer* framebuffer);
6162
};
6263
}

engine/core/object/ui/Image.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,14 @@ void Image::setTexture(const std::string& path){
121121
ui.needUpdateTexture = true;
122122
}
123123

124+
void Image::setTexture(const std::string& id, TextureData data){
125+
UIComponent& ui = getComponent<UIComponent>();
126+
127+
ui.texture.setData(id, data);
128+
129+
ui.needUpdateTexture = true;
130+
}
131+
124132
void Image::setTexture(Framebuffer* framebuffer){
125133
UIComponent& ui = getComponent<UIComponent>();
126134

engine/core/object/ui/Image.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ namespace Supernova{
3131
unsigned int getPatchMarginTop() const;
3232

3333
void setTexture(const std::string& path);
34+
void setTexture(const std::string& id, TextureData data);
3435
void setTexture(Framebuffer* framebuffer);
3536

3637
void setTextureScaleFactor(float textureScaleFactor);

engine/core/object/ui/Polygon.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,14 @@ void Polygon::setTexture(const std::string& path){
6464
ui.needUpdateTexture = true;
6565
}
6666

67+
void Polygon::setTexture(const std::string& id, TextureData data){
68+
UIComponent& ui = getComponent<UIComponent>();
69+
70+
ui.texture.setData(id, data);
71+
72+
ui.needUpdateTexture = true;
73+
}
74+
6775
void Polygon::setTexture(Framebuffer* framebuffer){
6876
UIComponent& ui = getComponent<UIComponent>();
6977

engine/core/object/ui/Polygon.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ namespace Supernova{
2424
void clearVertices();
2525

2626
void setTexture(const std::string& path);
27+
void setTexture(const std::string& id, TextureData data);
2728
void setTexture(Framebuffer* framebuffer);
2829

2930
void setColor(Vector4 color);

engine/core/script/binding/ObjectClassesLua.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,7 @@ void LuaBinding::registerObjectClasses(lua_State *L){
298298
.addConstructor <void (*) (Scene*)> ()
299299
.addFunction("setTexture",
300300
luabridge::overload<const std::string&>(&Mesh::setTexture),
301+
luabridge::overload<const std::string&,TextureData>(&Mesh::setTexture),
301302
luabridge::overload<Framebuffer*>(&Mesh::setTexture))
302303
.addProperty("color", &Mesh::getColor, (void(Mesh::*)(Vector4))&Mesh::setColor)
303304
.addFunction("setColor",
@@ -526,6 +527,7 @@ void LuaBinding::registerObjectClasses(lua_State *L){
526527
luabridge::overload<const std::string&>(&Points::removeSpriteFrame))
527528
.addFunction("setTexture",
528529
luabridge::overload<const std::string&>(&Points::setTexture),
530+
luabridge::overload<const std::string&,TextureData>(&Points::setTexture),
529531
luabridge::overload<Framebuffer*>(&Points::setTexture))
530532
.endClass();
531533

@@ -632,6 +634,7 @@ void LuaBinding::registerObjectClasses(lua_State *L){
632634
.addProperty("alpha", &Polygon::getAlpha, &Polygon::setAlpha)
633635
.addFunction("setTexture",
634636
luabridge::overload<const std::string&>(&Polygon::setTexture),
637+
luabridge::overload<const std::string&,TextureData>(&Polygon::setTexture),
635638
luabridge::overload<Framebuffer*>(&Polygon::setTexture))
636639
.addProperty("flipY", &Polygon::isFlipY, &Polygon::setFlipY)
637640
.addFunction("getAABB", &Polygon::getAABB)
@@ -679,6 +682,7 @@ void LuaBinding::registerObjectClasses(lua_State *L){
679682
.addProperty("patchMarginTop", &Image::getPatchMarginTop, &Image::setPatchMarginTop)
680683
.addFunction("setTexture",
681684
luabridge::overload<const std::string&>(&Image::setTexture),
685+
luabridge::overload<const std::string&,TextureData>(&Image::setTexture),
682686
luabridge::overload<Framebuffer*>(&Image::setTexture))
683687
.addProperty("textureScaleFactor", &Image::getTextureScaleFactor, &Image::setTextureScaleFactor)
684688
.addProperty("color", &Image::getColor, (void(Image::*)(Vector4))&Image::setColor)

0 commit comments

Comments
 (0)