Esempio n. 1
0
    //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;
            }
        }
    }
Esempio n. 2
0
 public void changePhase(attackturn turn)
 {
     turnState = turn;
 }
Esempio n. 3
0
    // 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());
                }
            }
        }
    }
Esempio n. 4
0
    // 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;
        }
    }