improved the setUserData method.

define_list_fix
NemesisMate 9 years ago committed by GitHub
parent cdc708dcda
commit ce82a8a7b9
  1. 15
      jme3-core/src/main/java/com/jme3/scene/Spatial.java

@ -1524,21 +1524,24 @@ public abstract class Spatial implements Savable, Cloneable, Collidable, Cloneab
} }
public void setUserData(String key, Object data) { public void setUserData(String key, Object data) {
if (userData == null) { if (data == null) {
userData = new HashMap<String, Savable>(); if (userData != null) {
}
if(data == null){
userData.remove(key); userData.remove(key);
if(userData.isEmpty()) { if(userData.isEmpty()) {
userData = null; userData = null;
} }
}else if (data instanceof Savable) { }
} else {
if (userData == null) {
userData = new HashMap<String, Savable>();
}
if (data instanceof Savable) {
userData.put(key, (Savable) data); userData.put(key, (Savable) data);
} else { } else {
userData.put(key, new UserData(UserData.getObjectType(data), data)); userData.put(key, new UserData(UserData.getObjectType(data), data));
} }
} }
}
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public <T> T getUserData(String key) { public <T> T getUserData(String key) {

Loading…
Cancel
Save