diff --git a/src/avatartranslator/AvatarElement.java b/src/avatartranslator/AvatarElement.java index c5244cf4210c70d8fdd96494b83a7a506c9fad1c..75f71bde153fa6861cd6c091ef97db798103204a 100644 --- a/src/avatartranslator/AvatarElement.java +++ b/src/avatartranslator/AvatarElement.java @@ -45,6 +45,8 @@ knowledge of the CeCILL license and that you accept its terms. package avatartranslator; +import java.util.*; + import myutil.*; public class AvatarElement { @@ -53,6 +55,7 @@ public class AvatarElement { protected String name; protected Object referenceObject; + protected Vector<Object> otherReferenceObjects; private int myID; public AvatarElement(String _name, Object _referenceObject) { @@ -61,6 +64,29 @@ public class AvatarElement { referenceObject = _referenceObject; } + public void addReferenceObject(Object _ref) { + if (otherReferenceObjects == null) { + otherReferenceObjects = new Vector<Object>(); + } + otherReferenceObjects.add(_ref); + } + + public boolean hasReferenceObject(Object _ref) { + if (referenceObject == _ref) { + return true; + } + + if (otherReferenceObjects != null) { + for(Object obj: otherReferenceObjects) { + if (obj == _ref) { + return true; + } + } + } + + return false; + } + public String getName() { return name; } diff --git a/src/avatartranslator/AvatarStateMachine.java b/src/avatartranslator/AvatarStateMachine.java index 8bdc036f680df21727cbd6102143fb037e0cd2bb..ac7b469f22adac37756eae5ea335c50f91a5df7d 100644 --- a/src/avatartranslator/AvatarStateMachine.java +++ b/src/avatartranslator/AvatarStateMachine.java @@ -400,7 +400,7 @@ public class AvatarStateMachine extends AvatarElement { public AvatarStateMachineElement getStateMachineElementFromReferenceObject(Object _o) { for(AvatarStateMachineElement element: elements) { - if(element.getReferenceObject() == _o) { + if(element.hasReferenceObject(_o)) { return element; } } diff --git a/src/ui/AvatarDesignPanelTranslator.java b/src/ui/AvatarDesignPanelTranslator.java index 7c36a46628c37b499430467f81e4d86efbf657fc..df1876d0f848ae1ba28ef6d274df10ec50ab24a8 100644 --- a/src/ui/AvatarDesignPanelTranslator.java +++ b/src/ui/AvatarDesignPanelTranslator.java @@ -827,6 +827,7 @@ public class AvatarDesignPanelTranslator { TraceManager.addDev("Setting as checkable : " + tgc.getValue()); } listE.addCor(astate, tgc); + astate.addReferenceObject(tgc); tgc.setAVATARID(astate.getID());