Skip to content
Snippets Groups Projects
Commit 02bd4c5f authored by Ludovic Apvrille's avatar Ludovic Apvrille
Browse files

Update on attack graphs

parent b8967bf8
No related branches found
No related tags found
No related merge requests found
...@@ -58,6 +58,8 @@ public abstract class AvatarStateMachineElement extends AvatarElement { ...@@ -58,6 +58,8 @@ public abstract class AvatarStateMachineElement extends AvatarElement {
private boolean isCheckable; private boolean isCheckable;
private boolean isHidden = false;
public AvatarStateMachineElement(String _name, Object _referenceObject) { public AvatarStateMachineElement(String _name, Object _referenceObject) {
super(_name, _referenceObject); super(_name, _referenceObject);
nexts = new LinkedList<AvatarStateMachineElement>(); nexts = new LinkedList<AvatarStateMachineElement>();
...@@ -90,6 +92,15 @@ public abstract class AvatarStateMachineElement extends AvatarElement { ...@@ -90,6 +92,15 @@ public abstract class AvatarStateMachineElement extends AvatarElement {
return null; return null;
} }
public void setHidden(boolean _b) {
isHidden = _b;
}
public boolean isHidden() {
return isHidden;
}
public void setState(AvatarState _as) { public void setState(AvatarState _as) {
myState = _as; myState = _as;
} }
......
...@@ -71,6 +71,7 @@ public class AvatarTransition extends AvatarStateMachineElement { ...@@ -71,6 +71,7 @@ public class AvatarTransition extends AvatarStateMachineElement {
guard = _guard; guard = _guard;
} }
public void addGuard(String _g) { public void addGuard(String _g) {
guard = "(" + guard + ") and (" + _g + ")"; guard = "(" + guard + ") and (" + _g + ")";
} }
......
...@@ -879,7 +879,10 @@ public class AvatarSpecificationSimulation { ...@@ -879,7 +879,10 @@ public class AvatarSpecificationSimulation {
tr.isSilent = true; tr.isSilent = true;
return tr; return tr;
} }
} } else if (atr.isHidden()) {
tr.isSilent = true;
return tr;
}
// State entering? // State entering?
} else if (((tr.elementToExecute instanceof AvatarState) || (tr.elementToExecute instanceof AvatarStopState)) && (executeStateEntering)) { } else if (((tr.elementToExecute instanceof AvatarState) || (tr.elementToExecute instanceof AvatarStopState)) && (executeStateEntering)) {
if (nbOfTransactions(tr.asb, _pendingTransactions) < 2) { if (nbOfTransactions(tr.asb, _pendingTransactions) < 2) {
...@@ -887,7 +890,10 @@ public class AvatarSpecificationSimulation { ...@@ -887,7 +890,10 @@ public class AvatarSpecificationSimulation {
tr.isSilent = true; tr.isSilent = true;
return tr; return tr;
} }
} } else if (tr.elementToExecute.isHidden()) {
tr.isSilent = true;
return tr;
}
} }
return null; return null;
......
...@@ -194,11 +194,7 @@ public class AttackTreePanelTranslator { ...@@ -194,11 +194,7 @@ public class AttackTreePanelTranslator {
ce.setTDiagramPanel(atdp); ce.setTDiagramPanel(atdp);
addCheckingError(ce); addCheckingError(ce);
} }
} }
} }
// Making connections between nodes&attacks // Making connections between nodes&attacks
...@@ -309,7 +305,7 @@ public class AttackTreePanelTranslator { ...@@ -309,7 +305,7 @@ public class AttackTreePanelTranslator {
declareAllAttacks(as, mainBlock); declareAllAttacks(as, mainBlock);
// Make block for attacks // Make block for attacks
makeLeafAttackBlocks(as, mainBlock); makeAttackBlocks(as, mainBlock);
// Make blocks for nodes // Make blocks for nodes
makeAttackNodeBlocks(as, mainBlock); makeAttackNodeBlocks(as, mainBlock);
...@@ -337,10 +333,21 @@ public class AttackTreePanelTranslator { ...@@ -337,10 +333,21 @@ public class AttackTreePanelTranslator {
_main.addSignal(stopAcceptAttack); _main.addSignal(stopAcceptAttack);
ar.addSignals(makeAttack, acceptAttack); ar.addSignals(makeAttack, acceptAttack);
ar.addSignals(stopMakeAttack, stopAcceptAttack); ar.addSignals(stopMakeAttack, stopAcceptAttack);
// If attack is not leaf: add the intermediate action to activate the intermediate leaf
if (!attack.isLeaf()) {
avatartranslator.AvatarSignal nodeDone = new avatartranslator.AvatarSignal("nodeDone__" + attack.getName(), AvatarSignal.OUT, (Object)(listE.getTG(attack)));
_main.addSignal(nodeDone);
avatartranslator.AvatarSignal activateAttack = new avatartranslator.AvatarSignal("activate__" + attack.getName(), AvatarSignal.IN, listE.getTG(attack));
_main.addSignal(activateAttack);
ar.addSignals(nodeDone, activateAttack);
}
} }
} }
private void makeLeafAttackBlocks(AvatarSpecification _as, AvatarBlock _main) { private void makeAttackBlocks(AvatarSpecification _as, AvatarBlock _main) {
for(Attack attack: at.getAttacks()) { for(Attack attack: at.getAttacks()) {
if (attack.isLeaf()) { if (attack.isLeaf()) {
// Make the block // Make the block
...@@ -355,29 +362,32 @@ public class AttackTreePanelTranslator { ...@@ -355,29 +362,32 @@ public class AttackTreePanelTranslator {
makeAttackBlockSMD(ab, sigAttack, stopAttack, listE.getTG(attack)); makeAttackBlockSMD(ab, sigAttack, stopAttack, listE.getTG(attack));
} }
} else if (attack.isFinal()) { } else {
// Make the block // Make the block
AvatarBlock ab = new AvatarBlock(attack.getName(), listE.getTG(attack)); AvatarBlock ab = new AvatarBlock(attack.getName(), listE.getTG(attack));
_as.addBlock(ab); _as.addBlock(ab);
ab.setFather(_main); ab.setFather(_main);
avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("accept__" + attack.getName()); avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("make__" + attack.getName());
avatartranslator.AvatarSignal stopAttack = _main.getAvatarSignalWithName("acceptStop__" + attack.getName()); avatartranslator.AvatarSignal stopAttack = _main.getAvatarSignalWithName("makeStop__" + attack.getName());
avatartranslator.AvatarSignal activateAttack = _main.getAvatarSignalWithName("activate__" + attack.getName());
makeAttackBlockSMD(ab, sigAttack, stopAttack, listE.getTG(attack)); makeIntermediateAttackBlockSMD(ab, sigAttack, stopAttack, activateAttack, listE.getTG(attack));
} // Intermediate attack
}
} }
} }
private void makeAttackBlockSMD(AvatarBlock _ab, avatartranslator.AvatarSignal _sigAttack, avatartranslator.AvatarSignal _sigStop, Object _ref) { private void makeAttackBlockSMD(AvatarBlock _ab, avatartranslator.AvatarSignal _sigAttack, avatartranslator.AvatarSignal _sigStop, Object _ref) {
Object _ref1 = _ref; Object _ref1 = _ref;
_ref = null; _ref = null;
AvatarStateMachine asm = _ab.getStateMachine(); AvatarStateMachine asm = _ab.getStateMachine();
AvatarStartState start = new AvatarStartState("start", _ref); AvatarStartState start = new AvatarStartState("start", _ref);
AvatarState mainState = new AvatarState("main", _ref, false); AvatarState mainState = new AvatarState("main", _ref, false);
AvatarState performedState = new AvatarState("main", _ref1, true); AvatarState performedState = new AvatarState("main", _ref1, true);
AvatarState mainStop = new AvatarState("stop", _ref, false); AvatarState mainStop = new AvatarState("stop", _ref, false);
AvatarActionOnSignal getMake = new AvatarActionOnSignal("GettingAttack", _sigAttack, _ref1); AvatarActionOnSignal getMake = new AvatarActionOnSignal("GettingAttack", _sigAttack, _ref1);
AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref); AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref);
...@@ -385,7 +395,7 @@ public class AttackTreePanelTranslator { ...@@ -385,7 +395,7 @@ public class AttackTreePanelTranslator {
asm.addElement(start); asm.addElement(start);
asm.setStartState(start); asm.setStartState(start);
asm.addElement(mainState); asm.addElement(mainState);
asm.addElement(performedState); asm.addElement(performedState);
asm.addElement(getMake); asm.addElement(getMake);
asm.addElement(getStop); asm.addElement(getStop);
...@@ -405,7 +415,82 @@ public class AttackTreePanelTranslator { ...@@ -405,7 +415,82 @@ public class AttackTreePanelTranslator {
getMake.addNext(at); getMake.addNext(at);
at.addNext(performedState); at.addNext(performedState);
at = new AvatarTransition("backToMain", _ref); at = new AvatarTransition("backToMain", _ref);
asm.addElement(at);
performedState.addNext(at);
at.addNext(mainState);
at = new AvatarTransition("at4", _ref);
asm.addElement(at);
mainState.addNext(at);
at.addNext(getStop);
at = new AvatarTransition("at5", _ref);
asm.addElement(at);
getStop.addNext(at);
at.addNext(mainStop);
}
private void makeIntermediateAttackBlockSMD(AvatarBlock _ab, avatartranslator.AvatarSignal _sigAttack, avatartranslator.AvatarSignal _sigStop, avatartranslator.AvatarSignal _sigActivate, Object _ref) {
Object _ref1 = _ref;
_ref = null;
AvatarStateMachine asm = _ab.getStateMachine();
AvatarStartState start = new AvatarStartState("start", _ref);
AvatarState activateState = new AvatarState("activate", _ref, false);
AvatarState mainState = new AvatarState("main", _ref, false);
AvatarState activatedState = new AvatarState("main", _ref1, true);
AvatarState performedState = new AvatarState("main", _ref, false);
AvatarState mainStop = new AvatarState("stop", _ref, false);
AvatarActionOnSignal getMake = new AvatarActionOnSignal("GettingAttack", _sigAttack, _ref1);
AvatarActionOnSignal getStop = new AvatarActionOnSignal("GettingStop", _sigStop, _ref);
AvatarActionOnSignal getActivate = new AvatarActionOnSignal("GettingStop", _sigActivate, _ref1);
asm.addElement(start);
asm.setStartState(start);
asm.addElement(activateState);
asm.addElement(activatedState);
asm.addElement(mainState);
asm.addElement(performedState);
asm.addElement(getMake);
asm.addElement(getStop);
asm.addElement(getActivate);
AvatarTransition at = new AvatarTransition("at1", _ref);
asm.addElement(at);
start.addNext(at);
at.addNext(activateState);
at = new AvatarTransition("at1_act", _ref);
asm.addElement(at);
activateState.addNext(at);
at.addNext(getActivate);
at = new AvatarTransition("at1_performed", _ref);
asm.addElement(at);
getActivate.addNext(at);
at.addNext(activatedState);
at = new AvatarTransition("at2_main", _ref);
asm.addElement(at);
activatedState.addNext(at);
at.addNext(mainState);
at.setHidden(true);
at = new AvatarTransition("at2", _ref);
asm.addElement(at);
mainState.addNext(at);
at.addNext(getMake);
at = new AvatarTransition("at3", _ref);
asm.addElement(at);
getMake.addNext(at);
at.addNext(performedState);
at = new AvatarTransition("backToMain", _ref);
asm.addElement(at); asm.addElement(at);
performedState.addNext(at); performedState.addNext(at);
at.addNext(mainState); at.addNext(mainState);
...@@ -452,8 +537,8 @@ public class AttackTreePanelTranslator { ...@@ -452,8 +537,8 @@ public class AttackTreePanelTranslator {
private void makeANDNode(AvatarSpecification _as, AvatarBlock _main, AvatarBlock _ab, ANDNode _node, Object _ref) { private void makeANDNode(AvatarSpecification _as, AvatarBlock _main, AvatarBlock _ab, ANDNode _node, Object _ref) {
Object _ref1 = _ref; Object _ref1 = _ref;
_ref = null; _ref = null;
AvatarStateMachine asm = _ab.getStateMachine(); AvatarStateMachine asm = _ab.getStateMachine();
// Basic machine // Basic machine
...@@ -470,6 +555,7 @@ public class AttackTreePanelTranslator { ...@@ -470,6 +555,7 @@ public class AttackTreePanelTranslator {
asm.addElement(atF); asm.addElement(atF);
start.addNext(atF); start.addNext(atF);
atF.addNext(mainState); atF.addNext(mainState);
atF.setHidden(true);
String finalGuard = ""; String finalGuard = "";
for(Attack att: _node.getInputAttacks()) { for(Attack att: _node.getInputAttacks()) {
AvatarAttribute aa = new AvatarAttribute(att.getName() + "__performed", AvatarType.BOOLEAN, _ref); AvatarAttribute aa = new AvatarAttribute(att.getName() + "__performed", AvatarType.BOOLEAN, _ref);
...@@ -480,6 +566,7 @@ public class AttackTreePanelTranslator { ...@@ -480,6 +566,7 @@ public class AttackTreePanelTranslator {
} }
_ab.addAttribute(aa); _ab.addAttribute(aa);
atF.addAction(att.getName() + "__performed = false"); atF.addAction(att.getName() + "__performed = false");
avatartranslator.AvatarSignal sigAtt = _main.getAvatarSignalWithName("accept__" + att.getName()); avatartranslator.AvatarSignal sigAtt = _main.getAvatarSignalWithName("accept__" + att.getName());
AvatarActionOnSignal acceptAttack = new AvatarActionOnSignal("AcceptAttack", sigAtt, _ref1); AvatarActionOnSignal acceptAttack = new AvatarActionOnSignal("AcceptAttack", sigAtt, _ref1);
...@@ -494,8 +581,7 @@ public class AttackTreePanelTranslator { ...@@ -494,8 +581,7 @@ public class AttackTreePanelTranslator {
asm.addElement(at); asm.addElement(at);
acceptAttack.addNext(at); acceptAttack.addNext(at);
at.addNext(mainState); at.addNext(mainState);
at.setHidden(true);
} }
// Adding resulting attack // Adding resulting attack
...@@ -506,7 +592,7 @@ public class AttackTreePanelTranslator { ...@@ -506,7 +592,7 @@ public class AttackTreePanelTranslator {
at.setGuard("[" + finalGuard + "]"); at.setGuard("[" + finalGuard + "]");
Attack resulting = _node.getResultingAttack(); Attack resulting = _node.getResultingAttack();
avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("make__" + resulting.getName()); avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName());
AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1); AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1);
asm.addElement(resultingAttack); asm.addElement(resultingAttack);
at = new AvatarTransition("at_toResultingAttack", _ref); at = new AvatarTransition("at_toResultingAttack", _ref);
...@@ -517,13 +603,12 @@ public class AttackTreePanelTranslator { ...@@ -517,13 +603,12 @@ public class AttackTreePanelTranslator {
asm.addElement(at); asm.addElement(at);
resultingAttack.addNext(at); resultingAttack.addNext(at);
at.addNext(overallState); at.addNext(overallState);
} }
private void makeORNode(AvatarSpecification _as, AvatarBlock _main, AvatarBlock _ab, ORNode _node, Object _ref) { private void makeORNode(AvatarSpecification _as, AvatarBlock _main, AvatarBlock _ab, ORNode _node, Object _ref) {
Object _ref1 = _ref; Object _ref1 = _ref;
_ref = null; _ref = null;
AvatarStateMachine asm = _ab.getStateMachine(); AvatarStateMachine asm = _ab.getStateMachine();
// Basic machine // Basic machine
...@@ -599,7 +684,7 @@ public class AttackTreePanelTranslator { ...@@ -599,7 +684,7 @@ public class AttackTreePanelTranslator {
} }
// Adding resulting attack // Adding resulting attack
AvatarTransition at = new AvatarTransition("at_toEnd", _ref); AvatarTransition at = new AvatarTransition("at_toEnd", _ref);
asm.addElement(at); asm.addElement(at);
mainState.addNext(at); mainState.addNext(at);
...@@ -607,7 +692,7 @@ public class AttackTreePanelTranslator { ...@@ -607,7 +692,7 @@ public class AttackTreePanelTranslator {
at.setGuard("[" + finalGuard + "]"); at.setGuard("[" + finalGuard + "]");
Attack resulting = _node.getResultingAttack(); Attack resulting = _node.getResultingAttack();
avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("make__" + resulting.getName()); avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName());
AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1); AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1);
asm.addElement(resultingAttack); asm.addElement(resultingAttack);
at = new AvatarTransition("at_toResultingAttack", _ref); at = new AvatarTransition("at_toResultingAttack", _ref);
...@@ -623,14 +708,14 @@ public class AttackTreePanelTranslator { ...@@ -623,14 +708,14 @@ public class AttackTreePanelTranslator {
private void makeXORNode(AvatarSpecification _as, AvatarBlock _main, AvatarBlock _ab, XORNode _node, Object _ref) { private void makeXORNode(AvatarSpecification _as, AvatarBlock _main, AvatarBlock _ab, XORNode _node, Object _ref) {
Object _ref1 = _ref; Object _ref1 = _ref;
_ref = null; _ref = null;
AvatarStateMachine asm = _ab.getStateMachine(); AvatarStateMachine asm = _ab.getStateMachine();
// Basic machine // Basic machine
AvatarStartState start = new AvatarStartState("start", _ref); AvatarStartState start = new AvatarStartState("start", _ref);
AvatarState mainState = new AvatarState("main", _ref, false); AvatarState mainState = new AvatarState("main", _ref, false);
AvatarState stoppingAll = new AvatarState("stoppingAll", _ref, false); AvatarState stoppingAll = new AvatarState("stoppingAll", _ref, false);
AvatarState endState = new AvatarState("end", _ref, false); AvatarState endState = new AvatarState("end", _ref, false);
AvatarState overallState = new AvatarState("overall", _ref, false); AvatarState overallState = new AvatarState("overall", _ref, false);
asm.addElement(start); asm.addElement(start);
...@@ -638,23 +723,24 @@ public class AttackTreePanelTranslator { ...@@ -638,23 +723,24 @@ public class AttackTreePanelTranslator {
asm.addElement(mainState); asm.addElement(mainState);
asm.addElement(endState); asm.addElement(endState);
asm.addElement(overallState); asm.addElement(overallState);
asm.addElement(stoppingAll); asm.addElement(stoppingAll);
AvatarTransition atF = new AvatarTransition("at1", _ref); AvatarTransition atF = new AvatarTransition("at1", _ref);
atF.setHidden(true);
asm.addElement(atF); asm.addElement(atF);
start.addNext(atF); start.addNext(atF);
atF.addNext(mainState); atF.addNext(mainState);
String finalGuard = "oneDone == true"; String finalGuard = "oneDone == true";
String toEndGuard = ""; String toEndGuard = "";
AvatarAttribute oneDone = new AvatarAttribute("oneDone", AvatarType.BOOLEAN, _ref); AvatarAttribute oneDone = new AvatarAttribute("oneDone", AvatarType.BOOLEAN, _ref);
_ab.addAttribute(oneDone); _ab.addAttribute(oneDone);
atF.addAction("oneDone = false"); atF.addAction("oneDone = false");
for(Attack att: _node.getInputAttacks()) { for(Attack att: _node.getInputAttacks()) {
AvatarAttribute aa = new AvatarAttribute(att.getName() + "__performed", AvatarType.BOOLEAN, _ref); AvatarAttribute aa = new AvatarAttribute(att.getName() + "__performed", AvatarType.BOOLEAN, _ref);
_ab.addAttribute(aa); _ab.addAttribute(aa);
atF.addAction(att.getName() + "__performed = false"); atF.addAction(att.getName() + "__performed = false");
if (toEndGuard.length() ==0) { if (toEndGuard.length() ==0) {
toEndGuard += "(" + att.getName() + "__performed == true)"; toEndGuard += "(" + att.getName() + "__performed == true)";
} else { } else {
toEndGuard += " && (" + att.getName() + "__performed == true)"; toEndGuard += " && (" + att.getName() + "__performed == true)";
...@@ -670,30 +756,44 @@ public class AttackTreePanelTranslator { ...@@ -670,30 +756,44 @@ public class AttackTreePanelTranslator {
at.setGuard("[("+att.getName() + "__performed == false) && (oneDone == false)]"); at.setGuard("[("+att.getName() + "__performed == false) && (oneDone == false)]");
at = new AvatarTransition("at_fromInputAttack", _ref); at = new AvatarTransition("at_fromInputAttack", _ref);
at.addAction(att.getName() + "__performed = true"); at.addAction(att.getName() + "__performed = true");
at.addAction("oneDone = true"); at.setHidden(true);
at.addAction("oneDone = true");
asm.addElement(at); asm.addElement(at);
acceptAttack.addNext(at); acceptAttack.addNext(at);
at.addNext(mainState); at.addNext(mainState);
// Link from stoppingAll // Link from stoppingAll
sigAtt = _main.getAvatarSignalWithName("acceptStop__" + att.getName()); // if (att.isLeaf()) {
acceptAttack = new AvatarActionOnSignal("StopAttack", sigAtt, _ref); // Leaf attack -> must make a stop
asm.addElement(acceptAttack); sigAtt = _main.getAvatarSignalWithName("acceptStop__" + att.getName());
at = new AvatarTransition("at_toInputAttack", _ref); acceptAttack = new AvatarActionOnSignal("StopAttack", sigAtt, _ref1);
asm.addElement(at); asm.addElement(acceptAttack);
stoppingAll.addNext(at); at = new AvatarTransition("at_toInputAttack_leaf", _ref);
at.addNext(acceptAttack); asm.addElement(at);
at.setGuard("["+att.getName() + "__performed == false]"); stoppingAll.addNext(at);
at = new AvatarTransition("at_fromInputAttack", _ref); at.addNext(acceptAttack);
at.addAction(att.getName() + "__performed = true"); at.setGuard("["+att.getName() + "__performed == false]");
asm.addElement(at); at = new AvatarTransition("at_fromInputAttack", _ref);
acceptAttack.addNext(at); at.addAction(att.getName() + "__performed = true");
at.addNext(stoppingAll); at.setHidden(true);
asm.addElement(at);
acceptAttack.addNext(at);
at.addNext(stoppingAll);
// } else {
// Generated attack-> must set performed to true.
/* at = new AvatarTransition("at_toInputAttack", _ref);
stoppingAll.addNext(at);
asm.addElement(at);
at.addNext(stoppingAll);
at.setGuard("["+att.getName() + "__performed == false]");
at.addAction(att.getName() + "__performed = true");
at.setHidden(true);*/
// }
} }
// Adding link to stopping all // Adding link to stopping all
AvatarTransition at = new AvatarTransition("at_toStoppingAll", _ref); AvatarTransition at = new AvatarTransition("at_toStoppingAll", _ref);
asm.addElement(at); asm.addElement(at);
mainState.addNext(at); mainState.addNext(at);
at.addNext(stoppingAll); at.addNext(stoppingAll);
...@@ -708,7 +808,7 @@ public class AttackTreePanelTranslator { ...@@ -708,7 +808,7 @@ public class AttackTreePanelTranslator {
at.setGuard("[" + toEndGuard + "]"); at.setGuard("[" + toEndGuard + "]");
Attack resulting = _node.getResultingAttack(); Attack resulting = _node.getResultingAttack();
avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("make__" + resulting.getName()); avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName());
AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1); AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1);
asm.addElement(resultingAttack); asm.addElement(resultingAttack);
at = new AvatarTransition("at_toResultingAttack", _ref); at = new AvatarTransition("at_toResultingAttack", _ref);
...@@ -725,8 +825,8 @@ public class AttackTreePanelTranslator { ...@@ -725,8 +825,8 @@ public class AttackTreePanelTranslator {
private void makeSequenceNode(AvatarSpecification _as, AvatarBlock _main, AvatarBlock _ab, SequenceNode _node, Object _ref) { private void makeSequenceNode(AvatarSpecification _as, AvatarBlock _main, AvatarBlock _ab, SequenceNode _node, Object _ref) {
Object _ref1 = _ref; Object _ref1 = _ref;
_ref = null; _ref = null;
AvatarStateMachine asm = _ab.getStateMachine(); AvatarStateMachine asm = _ab.getStateMachine();
_node.orderAttacks(); _node.orderAttacks();
...@@ -776,7 +876,7 @@ public class AttackTreePanelTranslator { ...@@ -776,7 +876,7 @@ public class AttackTreePanelTranslator {
// Performing resulting attack // Performing resulting attack
Attack resulting = _node.getResultingAttack(); Attack resulting = _node.getResultingAttack();
avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("make__" + resulting.getName()); avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName());
AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1); AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1);
asm.addElement(resultingAttack); asm.addElement(resultingAttack);
at = new AvatarTransition("at_toResultingAttack", _ref); at = new AvatarTransition("at_toResultingAttack", _ref);
...@@ -790,8 +890,8 @@ public class AttackTreePanelTranslator { ...@@ -790,8 +890,8 @@ public class AttackTreePanelTranslator {
} }
private void makeAfterNode(AvatarSpecification _as, AvatarBlock _main, AvatarBlock _ab, AfterNode _node, Object _ref) { private void makeAfterNode(AvatarSpecification _as, AvatarBlock _main, AvatarBlock _ab, AfterNode _node, Object _ref) {
Object _ref1 = _ref; Object _ref1 = _ref;
_ref = null; _ref = null;
AvatarStateMachine asm = _ab.getStateMachine(); AvatarStateMachine asm = _ab.getStateMachine();
_node.orderAttacks(); _node.orderAttacks();
...@@ -846,7 +946,7 @@ public class AttackTreePanelTranslator { ...@@ -846,7 +946,7 @@ public class AttackTreePanelTranslator {
// Performing resulting attack // Performing resulting attack
Attack resulting = _node.getResultingAttack(); Attack resulting = _node.getResultingAttack();
avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("make__" + resulting.getName()); avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName());
AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1); AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1);
asm.addElement(resultingAttack); asm.addElement(resultingAttack);
at = new AvatarTransition("at_toResultingAttack", _ref); at = new AvatarTransition("at_toResultingAttack", _ref);
...@@ -860,8 +960,8 @@ public class AttackTreePanelTranslator { ...@@ -860,8 +960,8 @@ public class AttackTreePanelTranslator {
} }
private void makeBeforeNode(AvatarSpecification _as, AvatarBlock _main, AvatarBlock _ab, BeforeNode _node, Object _ref) { private void makeBeforeNode(AvatarSpecification _as, AvatarBlock _main, AvatarBlock _ab, BeforeNode _node, Object _ref) {
Object _ref1 = _ref; Object _ref1 = _ref;
_ref = null; _ref = null;
AvatarStateMachine asm = _ab.getStateMachine(); AvatarStateMachine asm = _ab.getStateMachine();
_node.orderAttacks(); _node.orderAttacks();
...@@ -922,7 +1022,7 @@ public class AttackTreePanelTranslator { ...@@ -922,7 +1022,7 @@ public class AttackTreePanelTranslator {
// Performing resulting attack // Performing resulting attack
Attack resulting = _node.getResultingAttack(); Attack resulting = _node.getResultingAttack();
avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("make__" + resulting.getName()); avatartranslator.AvatarSignal sigAttack = _main.getAvatarSignalWithName("nodeDone__" + resulting.getName());
AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1); AvatarActionOnSignal resultingAttack = new AvatarActionOnSignal("ResultingAttack", sigAttack, _ref1);
asm.addElement(resultingAttack); asm.addElement(resultingAttack);
at = new AvatarTransition("at_toResultingAttack", _ref); at = new AvatarTransition("at_toResultingAttack", _ref);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment