public IEnumerator EnablePlayerListener() { while (status == creatureMode.playerReact) { if (Input.GetKey(KeyCode.A)) { ExecuteAction(creatureActions.attack); } else if (Input.GetKey(KeyCode.D)) { ExecuteAction(creatureActions.defend); } else if (Input.GetKey(KeyCode.S) && lastAction != creatureActions.summoned) { lastAction = creatureActions.summoned; ExecuteAction(creatureActions.summoned); Debug.Log("RUNNING SUMMON"); } else { //... } yield return(null); } }
public void ExecuteCurrentMode(PathArray requiredPath = null, creatureActions requiredAction = creatureActions.idle) { nextPathIndex = 0; lastAction = creatureActions.idle; if (status == creatureMode.random) { GoOnRandomPath(requiredPath); } else if (status == creatureMode.playerReact) { GoOnPlayerReact(); } else if (status == creatureMode.pathSpecific) { GoOnSpecificPath(requiredPath); } }
public void ExecuteAction(creatureActions calledAction) { if (calledAction == creatureActions.attack) { // activate attack animation state } else if (calledAction == creatureActions.summoned) { // activate summoned animation state GoToPlayerLocation(); ExecuteAction(creatureActions.idle); } else if (calledAction == creatureActions.die) { // activate die animation state } //..... }