2
0
Эх сурвалжийг харах

Merge pull request #654 from neph1/sort_anim_clips

Sort anim clips
Rickard Edén 3 долоо хоног өмнө
parent
commit
7229646f85

+ 1 - 0
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/animation/JmeAnimChildren.java

@@ -49,6 +49,7 @@ import org.openide.util.Exceptions;
  *
  * @author nehon
  */
+@Deprecated
 public class JmeAnimChildren extends Children.Keys<Object> {
 
     protected JmeAnimControl jmeAnimControl;

+ 20 - 11
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/animation/JmeAnimComposerChildren.java

@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2009-2020 jMonkeyEngine
+ *  Copyright (c) 2009-2025 jMonkeyEngine
  *  All rights reserved.
  * 
  *  Redistribution and use in source and binary forms, with or without
@@ -36,6 +36,8 @@ import com.jme3.anim.AnimComposer;
 import com.jme3.anim.AnimLayer;
 import com.jme3.gde.core.scene.SceneApplication;
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
@@ -84,15 +86,18 @@ public class JmeAnimComposerChildren extends Children.Keys<Object> {
                 List<Object> keys = new LinkedList<>();
                 AnimComposer composer = jmeAnimComposer.getLookup().lookup(AnimComposer.class);
                 if (composer != null) {
-                    keys.addAll(composer.getAnimClips());
+                    List<AnimClip> animClips = new ArrayList<>(composer.getAnimClips());
+                    Collections.sort(animClips, Comparator.comparing(AnimClip::getName));
+                    keys.addAll(animClips);
+
                     final Set<String> layerNames = composer.getLayerNames();
                     final List<AnimLayer> layers = new ArrayList<>();
-                    for(String s: layerNames) {
+                    for (String s : layerNames) {
                         layers.add(composer.getLayer(s));
                     }
                     keys.addAll(layers);
                 }
-                
+
                 return keys;
             }).get();
         } catch (InterruptedException | ExecutionException ex) {
@@ -103,13 +108,16 @@ public class JmeAnimComposerChildren extends Children.Keys<Object> {
 
     @Override
     protected Node[] createNodes(Object key) {
-        if (key instanceof AnimClip animClip) {
-            return new Node[]{ new JmeAnimClip(jmeAnimComposer, animClip, dataObject).setReadOnly(readOnly)};
-        } else if (key instanceof AnimLayer animLayer) {
-            return new Node[]{ new JmeAnimLayer(jmeAnimComposer, animLayer, dataObject).setReadOnly(readOnly)};
-        } 
-        else {
-            return new Node[]{ Node.EMPTY };
+        switch (key) {
+            case AnimClip animClip -> {
+                return new Node[]{ new JmeAnimClip(jmeAnimComposer, animClip, dataObject).setReadOnly(readOnly)};
+            }
+            case AnimLayer animLayer -> {
+                return new Node[]{ new JmeAnimLayer(jmeAnimComposer, animLayer, dataObject).setReadOnly(readOnly)};
+            }
+            default -> {
+                return new Node[]{ Node.EMPTY };
+            }
         }
     }
 
@@ -124,4 +132,5 @@ public class JmeAnimComposerChildren extends Children.Keys<Object> {
     public void setDataObject(DataObject dataObject) {
         this.dataObject = dataObject;
     }
+    
 }

+ 1 - 0
jme3-core/src/com/jme3/gde/core/sceneexplorer/nodes/animation/JmeAnimControl.java

@@ -55,6 +55,7 @@ import org.openide.util.actions.SystemAction;
  */
 @org.openide.util.lookup.ServiceProvider(service = SceneExplorerNode.class)
 @SuppressWarnings({"unchecked", "rawtypes"})
+@Deprecated
 public class JmeAnimControl extends JmeControl {
 
     private AnimControl animControl;