//setting the mode WILL start the process (and so within the processes DO NOT CALL THIS FUNCTION) public void setModeAndStart(bossMode m, bool[] done) { if (currModeProcess != null) { StopCoroutine(currModeProcess); } currModeProcess = null; currMode = m; bossVisual.updateModeSprite(m); switch (m) { case BossBehavior.bossMode.IDLE: currModeProcess = idleHover(done); break; case BossBehavior.bossMode.ANTICIP: break; case BossBehavior.bossMode.SHOOT_ATTK: currModeProcess = shootAttack(0, done); break; case BossBehavior.bossMode.DIR_ATTK: currModeProcess = directAttack(0, done); break; case BossBehavior.bossMode.DEFEATED: break; default: break; } if (currModeProcess != null) { StartCoroutine(currModeProcess); } }
void setModeAndStart(bossMode m) { bool[] done = new bool[1]; setModeAndStart(m, done); }
//will not start the process public void setMode(bossMode m) { currMode = m; bossVisual.updateModeSprite(m); }