From 84183ad154321520ede436a59c239b82bb3ff9e6 Mon Sep 17 00:00:00 2001 From: "sha..RD" Date: Sun, 27 Jan 2013 23:05:08 +0000 Subject: [PATCH] * Material.setParam() now calls setTextureParam() instead of messing up internal state if the type is a texture git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@10209 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- .../src/core/com/jme3/material/Material.java | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/engine/src/core/com/jme3/material/Material.java b/engine/src/core/com/jme3/material/Material.java index 90c2768c5..e4edd4b79 100644 --- a/engine/src/core/com/jme3/material/Material.java +++ b/engine/src/core/com/jme3/material/Material.java @@ -459,16 +459,20 @@ public class Material implements CloneableSmartAsset, Cloneable, Savable { public void setParam(String name, VarType type, Object value) { checkSetParam(type, name); - MatParam val = getParam(name); - if (val == null) { - MatParam paramDef = def.getMaterialParam(name); - paramValues.put(name, new MatParam(type, name, value, paramDef.getFixedFuncBinding())); + if (type.isTextureType()) { + setTextureParam(name, type, (Texture)value); } else { - val.setValue(value); - } - - if (technique != null) { - technique.notifyParamChanged(name, type, value); + MatParam val = getParam(name); + if (val == null) { + MatParam paramDef = def.getMaterialParam(name); + paramValues.put(name, new MatParam(type, name, value, paramDef.getFixedFuncBinding())); + } else { + val.setValue(value); + } + + if (technique != null) { + technique.notifyParamChanged(name, type, value); + } } }