diff --git a/jme3-core/src/main/java/com/jme3/light/DirectionalLight.java b/jme3-core/src/main/java/com/jme3/light/DirectionalLight.java index b1abb65cf..6613b8428 100644 --- a/jme3-core/src/main/java/com/jme3/light/DirectionalLight.java +++ b/jme3-core/src/main/java/com/jme3/light/DirectionalLight.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009-2012, 2015 jMonkeyEngine + * Copyright (c) 2009-2012, 2015-2016 jMonkeyEngine * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -146,4 +146,10 @@ public class DirectionalLight extends Light { direction = (Vector3f) ic.readSavable("direction", null); } + @Override + public DirectionalLight clone() { + DirectionalLight l = (DirectionalLight)super.clone(); + l.direction = direction.clone(); + return l; + } } diff --git a/jme3-core/src/main/java/com/jme3/light/Light.java b/jme3-core/src/main/java/com/jme3/light/Light.java index afef33b1d..f6ea68045 100644 --- a/jme3-core/src/main/java/com/jme3/light/Light.java +++ b/jme3-core/src/main/java/com/jme3/light/Light.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009-2012, 2015 jMonkeyEngine + * Copyright (c) 2009-2012, 2015-2016 jMonkeyEngine * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -228,7 +228,9 @@ public abstract class Light implements Savable, Cloneable { @Override public Light clone(){ try { - return (Light) super.clone(); + Light l = (Light) super.clone(); + l.color = color.clone(); + return l; } catch (CloneNotSupportedException ex) { throw new AssertionError(); } diff --git a/jme3-core/src/main/java/com/jme3/light/PointLight.java b/jme3-core/src/main/java/com/jme3/light/PointLight.java index 4b5224c30..2e8a57882 100644 --- a/jme3-core/src/main/java/com/jme3/light/PointLight.java +++ b/jme3-core/src/main/java/com/jme3/light/PointLight.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009-2012, 2015 jMonkeyEngine + * Copyright (c) 2009-2012, 2015-2016 jMonkeyEngine * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -241,4 +241,11 @@ public class PointLight extends Light { this.invRadius = 0; } } + + @Override + public PointLight clone() { + PointLight p = (PointLight)super.clone(); + p.position = position.clone(); + return p; + } } diff --git a/jme3-core/src/main/java/com/jme3/light/SpotLight.java b/jme3-core/src/main/java/com/jme3/light/SpotLight.java index bc1335b5b..982488687 100644 --- a/jme3-core/src/main/java/com/jme3/light/SpotLight.java +++ b/jme3-core/src/main/java/com/jme3/light/SpotLight.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009-2012, 2015 jMonkeyEngine + * Copyright (c) 2009-2012, 2015-2016 jMonkeyEngine * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -448,5 +448,13 @@ public class SpotLight extends Light { this.invSpotRange = 0; } } + + @Override + public SpotLight clone() { + SpotLight s = (SpotLight)super.clone(); + s.direction = direction.clone(); + s.position = position.clone(); + return s; + } }