//update 直す public IEnumerator battleAnimation() { // Debug.Log(turnState); //Debug.Log(isDead); damageText.gameObject.SetActive(true); Control = control.GetComponent <Control>(); int turnNmbr; if (turnState == attackturn.FIRST) { turnNmbr = 1; if (Control.first == 0) { anim.SetTrigger("Attack"); Control.commandTextShow(turnNmbr); ////yield return new WaitUntil (() => animOver == 1); animOver = 0 ; yield return(new WaitForSeconds(waitTime)); battle(1); anim.SetTrigger("Transition"); } else if (Control.first == 1) { anim.SetTrigger("Guard"); Control.commandTextShow(turnNmbr); ////yield return new WaitUntil (() => animOver == 1); animOver = 0 ; yield return(new WaitForSeconds(waitTime)); battle(1); anim.SetTrigger("Transition"); } else if (Control.first == 2) { anim.SetTrigger("Break"); Control.commandTextShow(turnNmbr); ////yield return new WaitUntil (() => animOver == 1); animOver = 0 ; yield return(new WaitForSecondsRealtime(waitTime)); battle(1); anim.SetTrigger("Transition"); } else if (Control.first == 3) { anim.SetTrigger("skill"); Control.commandTextShow(turnNmbr); //yield return new WaitUntil (() => animOver == 1); animOver = 0 ; yield return(new WaitForSecondsRealtime(waitTime)); battle(1); anim.SetTrigger("Transition"); } else if (Control.first == 4 || Control.first == 5) { anim.SetTrigger("skill2"); Control.commandTextShow(turnNmbr); //yield return new WaitUntil (() => animOver == 1); animOver = 0 ; yield return(new WaitForSecondsRealtime(waitTime)); battle(1); anim.SetTrigger("Transition"); } else if (Control.first == 6) { anim.SetTrigger("finish"); Control.commandTextShow(turnNmbr); //yield return new WaitUntil (() => animOver == 1); animOver = 0 ; yield return(new WaitForSecondsRealtime(waitTime)); battle(1); anim.SetTrigger("Transition"); } turnState = attackturn.SECOND; ////yield return new WaitUntil (() => animOver == 1); animOver = 0 ; while (battleControl.GetComponent <BattleScript>().turnstate != attackturn.SECOND) { yield return(new WaitForSecondsRealtime(waitTime)); } turnNmbr = 2; if (Control.second == 0) { anim.SetTrigger("Attack"); Control.commandTextShow(turnNmbr); ////yield return new WaitUntil (() => animOver == 1); animOver = 0 ; battle(2); anim.SetTrigger("Transition"); } else if (Control.second == 1) { anim.SetTrigger("Guard"); Control.commandTextShow(turnNmbr); ////yield return new WaitUntil (() => animOver == 1); animOver = 0 ; yield return(new WaitForSecondsRealtime(waitTime)); battle(2); anim.SetTrigger("Transition"); } else if (Control.second == 2) { anim.SetTrigger("Break"); Control.commandTextShow(turnNmbr); //yield return new WaitUntil (() => animOver == 1); animOver = 0 ; yield return(new WaitForSecondsRealtime(waitTime)); battle(2); anim.SetTrigger("Transition"); } else if (Control.second == 3) { anim.SetTrigger("skill"); Control.commandTextShow(turnNmbr); //yield return new WaitUntil (() => animOver == 1); animOver = 0 ; yield return(new WaitForSecondsRealtime(waitTime)); battle(2); anim.SetTrigger("Transition"); } else if (Control.second == 4 || Control.second == 5) { anim.SetTrigger("skill2"); Control.commandTextShow(turnNmbr); //yield return new WaitUntil (() => animOver == 1); animOver = 0 ; yield return(new WaitForSecondsRealtime(waitTime)); battle(2); anim.SetTrigger("Transition"); } else if (Control.second == 6) { anim.SetTrigger("finish"); Control.commandTextShow(turnNmbr); //yield return new WaitUntil (() => animOver == 1); animOver = 0 ; yield return(new WaitForSecondsRealtime(waitTime)); battle(2); anim.SetTrigger("Transition"); } turnState = attackturn.THIRD; while (battleControl.GetComponent <BattleScript>().turnstate != attackturn.THIRD) { yield return(new WaitForSecondsRealtime(waitTime)); } turnNmbr = 3; if (Control.third == 0) { anim.SetTrigger("Attack"); Control.commandTextShow(turnNmbr); //yield return new WaitUntil (() => animOver == 1); animOver = 0 ; yield return(new WaitForSecondsRealtime(waitTime)); battle(3); turn += 1; anim.SetTrigger("Transition"); } else if (Control.third == 1) { anim.SetTrigger("Guard"); Control.commandTextShow(turnNmbr); //yield return new WaitUntil (() => animOver == 1); animOver = 0 ; yield return(new WaitForSecondsRealtime(waitTime)); battle(3); turn += 1; anim.SetTrigger("Transition"); } else if (Control.third == 2) { anim.SetTrigger("Break"); Control.commandTextShow(turnNmbr); //yield return new WaitUntil (() => animOver == 1); animOver = 0 ; yield return(new WaitForSecondsRealtime(waitTime)); battle(3); turn += 1; anim.SetTrigger("Transition"); } else if (Control.third == 3) { anim.SetTrigger("skill"); Control.commandTextShow(turnNmbr); //yield return new WaitUntil (() => animOver == 1); animOver = 0 ; yield return(new WaitForSecondsRealtime(waitTime)); battle(3); turn += 1; anim.SetTrigger("Transition"); } else if (Control.third == 4 || Control.third == 5) { anim.SetTrigger("skill2"); Control.commandTextShow(turnNmbr); //yield return new WaitUntil (() => animOver == 1); animOver = 0 ; yield return(new WaitForSecondsRealtime(waitTime)); battle(3); turn += 1; anim.SetTrigger("Transition"); } else if (Control.third == 6) { anim.SetTrigger("finish"); Control.commandTextShow(turnNmbr); //yield return new WaitUntil (() => animOver == 1); animOver = 0 ; yield return(new WaitForSecondsRealtime(waitTime)); battle(3); turn += 1; anim.SetTrigger("Transition"); } anim.SetTrigger("Over"); battleStartlogo.gameObject.SetActive(false); turnState = attackturn.FINISH; while (battleControl.GetComponent <BattleScript>().turnstate != attackturn.FINISH) { yield return(new WaitForSecondsRealtime(waitTime)); } if (turn > 1) { if (buffDuration > 0) { buffDuration -= 1; } else { buffDuration = 0; atkUP = false; } yield return(new WaitForSecondsRealtime(3.0F)); turnState = attackturn.OVER; turn = 0; } else if (turn == 1) { if (buffDuration > 0) { buffDuration -= 1; } else { buffDuration = 0; atkUP = false; } turnState = attackturn.NEXT; } } if (isDead || enemy.GetComponent <player> ().isDead == true) { if (buffDuration > 0) { buffDuration -= 1; } else { buffDuration = 0; } } }
public void changePhase(attackturn turn) { turnState = turn; }
// Update is called once per frame void Update() { if (atkUP) { atkUP = false; buffN1 = Str; buffN2 = buffN1 + SkillNmbr2; Str = buffN2; } if (buffDuration > 0) { buff = true; } else { buff = false; Str = buffN1; } if (gameover == true) { if (playerNumber == 3) { SceneManager.LoadScene("GameOver"); } else if (playerNumber == 4) { SceneManager.LoadScene("GameOver1"); } } if (playerNumber == 1 || playerNumber == 2) { if (battleControl.GetComponent <BattleChanger> ().player1 == 2) { changeEnemy(2); } else if (battleControl.GetComponent <BattleChanger> ().player1 == 4) { changeEnemy(4); } } if (playerNumber == 3 || playerNumber == 4) { if (battleControl.GetComponent <BattleChanger> ().player1 == 1) { changeEnemy(1); } else if (battleControl.GetComponent <BattleChanger> ().player1 == 3) { changeEnemy(3); } if (Hp <= 0) { anim.SetTrigger("Dead"); deadtime += Time.deltaTime; if (deadtime >= 10) { gameover = true; } } } if (Hp <= 0) { isDead = true; } //Debug.Log (totalDamage); specialHpRequirement = maxHp / 2; if (turnState == attackturn.OVER && enemy.GetComponent <player>().turnState == attackturn.OVER) { if (this.totalDamage > enemy.GetComponent <player> ().totalDamage) { Debug.Log(playerNumber + "player"); pawn.GetComponent <MovementScript> ().backToPrevios(); // if (pawn.GetComponent<MovementScript> ().previosPanel == pawn.GetComponent<MovementScript> ().panelPosition) { // enemy.GetComponent<player> ().pawn.GetComponent<MovementScript> ().backToPrevios (); // } else { // pawn.GetComponent<MovementScript> ().backToPrevios (); // // } } else if (this.totalDamage < enemy.GetComponent <player> ().totalDamage) { Debug.Log(playerNumber + "enemy"); enemy.GetComponent <player> ().pawn.GetComponent <MovementScript> ().backToPrevios(); } else if (this.totalDamage == enemy.GetComponent <player> ().totalDamage) { enemy.GetComponent <player> ().pawn.GetComponent <MovementScript> ().backToPrevios(); pawn.GetComponent <MovementScript> ().backToPrevios(); } totalDamage = 0; enemy.GetComponent <player> ().totalDamage = 0; } if (buffDuration > 0) { if (atkUP == true) { if (!atkplus) { Str += SkillNmbr2; atkplus = true; } } } else if (buffDuration == 0) { if (atkUP == true) { Str -= SkillNmbr2; } atkplus = false; atkUP = false; } if (battleControl.GetComponent <BattleScript>().battlePhaseOver == true) { turnState = attackturn.WAIT; } if (turnState == attackturn.WAIT || turnState == attackturn.NEXT) { commandOk = true; } else { commandOk = false; } if (playerNumber == battleControl.GetComponent <BattleScript> ().playernumber1 || playerNumber == battleControl.GetComponent <BattleScript> ().playernumber2) { if (battleControl.GetComponent <BattleScript> ().battle == true) { if (turnState == attackturn.WAIT) { battleControl.GetComponent <BattleScript> ().battle = false; turnState = attackturn.FIRST; battleStart = true; StartCoroutine(battleAnimation()); } } } }
// Update is called once per frame void Update() { turnstate1 = player1sprite.GetComponent <player> ().turnState; turnstate2 = player2sprite.GetComponent <player> ().turnState; if (turnstate1 == turnstate2) { turnstate = turnstate1; } if (this.GetComponent <BattleChanger>().player1 == 1) { // player1 = GameObject.Find("1pController"); player1 = GameObject.FindGameObjectWithTag("p1c"); player1sprite = GameObject.Find("Player"); playernumber1 = 1; } if (this.GetComponent <BattleChanger>().player1 == 3) { // player1 = GameObject.Find("3pController"); player1 = GameObject.FindGameObjectWithTag("p3c"); player1sprite = GameObject.Find("Player3"); playernumber1 = 3; } if (this.GetComponent <BattleChanger>().player2 == 2) { // player2 = GameObject.Find("2pController"); player2 = GameObject.FindGameObjectWithTag("p2c"); player2sprite = GameObject.Find("Player2"); playernumber2 = 2; } if (this.GetComponent <BattleChanger>().player2 == 4) { player2 = GameObject.FindGameObjectWithTag("p4c"); //player2 = GameObject.Find("4pController"); player2sprite = GameObject.Find("Player4"); playernumber2 = 4; } if (GameController.GetComponent <GameController>().phase == battlePhase.BATTLE) { battlePhaseOver = false; } if (player1sprite.GetComponent <player>().turnState == attackturn.OVER && player2sprite.GetComponent <player>().turnState == attackturn.OVER) { battle = false; battlePhaseOver = true; if (GameController.GetComponent <GameController>().turn == 1) { GameController.GetComponent <GameController>().changePhase(battlePhase.MAP12); } else if (GameController.GetComponent <GameController>().turn == 2) { if (GameController.GetComponent <GameController> ().player2.GetComponent <player> ().isDead == true) { GameController.GetComponent <GameController> ().changePhase(battlePhase.MAP22); } else { GameController.GetComponent <GameController>().changePhase(battlePhase.MAP2); } } else if (GameController.GetComponent <GameController>().turn == 3) { GameController.GetComponent <GameController>().changePhase(battlePhase.MAP22); } else if (GameController.GetComponent <GameController>().turn == 4) { if (GameController.GetComponent <GameController> ().player1.GetComponent <player> ().isDead == true) { GameController.GetComponent <GameController> ().changePhase(battlePhase.MAP12); } else { GameController.GetComponent <GameController>().changePhase(battlePhase.MAP1); } } else { Debug.Log("error"); } } if (GameController.GetComponent <GameController>().phase == battlePhase.BATTLE) { battlePhaseOver = false; } Debug.Log(battle + " battlescript"); //battle animation start //Debug.Log(battle); if (GameController.GetComponent <GameController> ().battleStart == true && !battle) { first = table [player1.GetComponent <Control> ().first, player2.GetComponent <Control> ().first]; second = table [player1.GetComponent <Control> ().second, player2.GetComponent <Control> ().second]; third = table [player1.GetComponent <Control> ().third, player2.GetComponent <Control> ().third]; // Debug.Log (first); // Debug.Log (second); // Debug.Log (third); battle = true; //Debug.Log(battle); } if (player1sprite.GetComponent <player> ().isDead == true || player2sprite.GetComponent <player>().isDead == true) { battle = false; } //battle animation over if (player1sprite.GetComponent <player>().turnState == attackturn.NEXT && player2sprite.GetComponent <player>().turnState == attackturn.NEXT) { player1sprite.GetComponent <player>().turnState = attackturn.WAIT; player2sprite.GetComponent <player>().turnState = attackturn.WAIT; battle = false; } }