Skip to content

Commit a954cd8

Browse files
committed
fixed removing lights, fixed working with vector 2 parameters in material editor.
1 parent cccdd21 commit a954cd8

6 files changed

Lines changed: 30 additions & 11 deletions

File tree

src/main/java/com/ss/editor/model/node/material/MaterialSettings.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.ss.editor.model.node.material;
22

33
import com.jme3.material.Material;
4+
import com.ss.editor.annotation.FromAnyThread;
45
import org.jetbrains.annotations.NotNull;
56

67
/**
@@ -20,7 +21,8 @@ public MaterialSettings(@NotNull final Material material) {
2021
/**
2122
* @return the material.
2223
*/
23-
public @NotNull Material getMaterial() {
24+
@FromAnyThread
25+
public @NotNull Material getMaterial() {
2426
return material;
2527
}
2628
}

src/main/java/com/ss/editor/serializer/MaterialSerializer.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.jme3.material.MaterialDef;
77
import com.jme3.material.RenderState;
88
import com.jme3.math.ColorRGBA;
9+
import com.jme3.math.Vector2f;
910
import com.jme3.math.Vector3f;
1011
import com.jme3.math.Vector4f;
1112
import com.jme3.shader.VarType;
@@ -95,6 +96,10 @@ private static String toString(@NotNull final VarType varType, @NotNull final Ob
9596

9697
break;
9798
}
99+
case Vector2: {
100+
final Vector2f vector2f = (Vector2f) value;
101+
return vector2f.getX() + " " + vector2f.getY();
102+
}
98103
case Vector3: {
99104
final Vector3f vector3f = (Vector3f) value;
100105
return vector3f.getX() + " " + vector3f.getY() + " " + vector3f.getZ();

src/main/java/com/ss/editor/ui/component/editor/impl/scene/AbstractSceneFileEditor.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -615,8 +615,8 @@ public void notifyFXRemovedChild(@NotNull final Object parent, @NotNull final Ob
615615
}
616616
}
617617

618-
@FXThread
619618
@Override
619+
@FXThread
620620
public void notifyFXReplaced(@NotNull final Object parent, @Nullable final Object oldChild,
621621
@Nullable final Object newChild, final boolean needExpand,
622622
final boolean needDeepExpand) {
@@ -625,8 +625,18 @@ public void notifyFXReplaced(@NotNull final Object parent, @Nullable final Objec
625625
final Spatial currentModel = getCurrentModel();
626626

627627
if (currentModel == oldChild && newChild != null) {
628-
setCurrentModel(unsafeCast(newChild));
628+
handleRemovedObject(currentModel);
629629
editor3DState.openModel(unsafeCast(newChild));
630+
handleAddedObject((Spatial) newChild);
631+
} else {
632+
633+
if (oldChild instanceof Spatial) {
634+
handleRemovedObject((Spatial) oldChild);
635+
}
636+
637+
if (newChild instanceof Spatial) {
638+
handleAddedObject((Spatial) newChild);
639+
}
630640
}
631641

632642
final ModelNodeTree modelNodeTree = getModelNodeTree();

src/main/java/com/ss/editor/ui/control/material/tree/factory/MaterialSettingsTreeNodeFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
*/
1616
public class MaterialSettingsTreeNodeFactory implements TreeNodeFactory {
1717

18-
@FXThread
1918
@Override
19+
@FXThread
2020
public <T, V extends TreeNode<T>> @Nullable V createFor(@Nullable final T element, final long objectId) {
2121

2222
if (element instanceof RootMaterialSettings) {

src/main/java/com/ss/editor/ui/control/model/property/builder/impl/MaterialPropertyBuilder.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,10 @@ protected void applyParam(@NotNull final MatParam param, @NotNull final Material
156156
return EditablePropertyType.INTEGER;
157157
case Vector4:
158158
return EditablePropertyType.COLOR;
159+
case Vector3:
160+
return EditablePropertyType.VECTOR_3F;
161+
case Vector2:
162+
return EditablePropertyType.VECTOR_2F;
159163
case Texture2D:
160164
return EditablePropertyType.TEXTURE_2D;
161165
}

src/main/java/com/ss/editor/ui/control/model/tree/action/operation/OptimizeGeometryOperation.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import com.jme3.scene.Node;
44
import com.jme3.scene.Spatial;
5+
import com.ss.editor.annotation.FXThread;
6+
import com.ss.editor.annotation.JMEThread;
57
import com.ss.editor.model.undo.editor.ModelChangeConsumer;
68
import com.ss.editor.model.undo.impl.AbstractEditorOperation;
79
import org.jetbrains.annotations.NotNull;
@@ -31,13 +33,6 @@ public class OptimizeGeometryOperation extends AbstractEditorOperation<ModelChan
3133
@NotNull
3234
private final Node parent;
3335

34-
/**
35-
* Instantiates a new Optimize geometry operation.
36-
*
37-
* @param newSpatial the new spatial
38-
* @param oldSpatial the old spatial
39-
* @param parent the parent
40-
*/
4136
public OptimizeGeometryOperation(@NotNull final Spatial newSpatial, @NotNull final Spatial oldSpatial,
4237
@NotNull final Node parent) {
4338
this.newSpatial = newSpatial;
@@ -46,11 +41,13 @@ public OptimizeGeometryOperation(@NotNull final Spatial newSpatial, @NotNull fin
4641
}
4742

4843
@Override
44+
@FXThread
4945
protected void redoImpl(@NotNull final ModelChangeConsumer editor) {
5046
EXECUTOR_MANAGER.addJMETask(() -> apply(editor, oldSpatial, newSpatial));
5147
}
5248

5349
@Override
50+
@FXThread
5451
protected void undoImpl(@NotNull final ModelChangeConsumer editor) {
5552
EXECUTOR_MANAGER.addJMETask(() -> apply(editor, newSpatial, oldSpatial));
5653
}
@@ -62,6 +59,7 @@ protected void undoImpl(@NotNull final ModelChangeConsumer editor) {
6259
* @param newSpatial the new spatial.
6360
* @param oldSpatial the new old spatial.
6461
*/
62+
@JMEThread
6563
private void apply(@NotNull final ModelChangeConsumer consumer, @NotNull final Spatial newSpatial,
6664
@NotNull final Spatial oldSpatial) {
6765

0 commit comments

Comments
 (0)