Have checkCollisions
return a boolean
that indicates whether it "did something".
public boolean checkCollisions(){
boolean didSomething = false;
if (someCondition) {
doSomething();
didSomething = true;
}
else if (condition2) {
doSomething2();
didSomething = true;
}
else if (condition3){
doSomething3();
didSomething = true;
}
return didSomething;
}
Then, checkCollisions2
can call checkCollisions
and check if it did something. Then your else if
can work normally:
public void checkCollisions2(){
if (checkCollisions()) {
// Yes, something was done!
}
else if (condition4) {
doSomething4();
}
}
or shorter:
public void checkCollisions2(){
if (!checkCollisions() && condition4) {
doSomething4();
}
}