// Update is called once per frame
    void Update()
    {
        if (Input.GetKey(KeyCode.Escape))
        {
            if (State != E_StateEnum.PAUSE)
            {
                State = E_StateEnum.COMBAT;
            }
            else
            {
                State = E_StateEnum.PAUSE;
            }
        }

        if (Input.GetKey(KeyCode.A))
        {
            State = E_StateEnum.VICTOIRE;
        }


        switch (State)
        {
        case E_StateEnum.COMBAT:
            Combat();
            break;

        case E_StateEnum.DEFAITE:
            Defaite();
            break;

        case E_StateEnum.VICTOIRE:
            Victoire();
            break;

        case E_StateEnum.PAUSE:
            Pause();
            break;
        }
    }
Example #2
0
    // Update is called once per frame
    void Update()
    {
        if (state != stateActu)
        {
            if (stateActu == E_StateEnum.CREATION)
            {
                creationPerso.enabled = true;
                battle.Eteindre();
                creationPerso.Demarrer();
                battle.enabled = false;
            }

            if (stateActu == E_StateEnum.COMBAT)
            {
                creationPerso.Eteindre();

                battle.enabled = true;
                battle.Demarrer();

                List <Attaque> listA = new List <Attaque>();
                List <Attaque> listB = new List <Attaque>();

                //creation de la liste via les elements dans la scrolllist
                List <Item> lst = creationPerso.getListB();
                foreach (Item i in lst)
                {
                    //convertir type
                    Type tp = convertirStringToType(i.IntituleType);
                    //convertir cara
                    Attaque.E_TypeAttaque typeAtt = convertirStringToTypeAttaque(i.Caracteristique);

                    listA.Add(new Attaque(i.Mana, i.Power, i.Intitule, tp, typeAtt, i.animationA, i.animationB));
                }

                for (int i = 0; i < 4; i++)
                {
                    listB.Add(new Attaque(UnityEngine.Random.Range(0.0f, 1.0f), UnityEngine.Random.Range(0.0f, 1.0f), "Attaque_" + i, new TypeEau(), global::Attaque.E_TypeAttaque.ATTAQUER, 2, 3));
                }


                Personnage A = personnageA.GetComponent <Personnage>();
                Personnage B = personnageB.GetComponent <Personnage>();
                A.InitPersonnage();
                A.AttaquesList = listA;

                B.InitPersonnage();
                B.AttaquesList = listB;
                battle.Configurer(A, B);

                creationPerso.enabled = false;
            }

            state = stateActu;
        }
        else
        {
            if (Time.time > timeprecedent + timeAttente)
            {
                //interogation de l'etat du jeu
                if (battle.enabled)
                {
                    switch (battle.StateBattle())
                    {
                    case BattleManager.E_StateEnum.COMBAT:
                        break;

                    case BattleManager.E_StateEnum.DEFAITE:
                        ChangeState(E_StateEnum.CREATION);
                        break;

                    case BattleManager.E_StateEnum.PAUSE:
                        break;

                    case BattleManager.E_StateEnum.VICTOIRE:
                        ChangeState(E_StateEnum.CREATION);
                        break;
                    }
                }

                timeprecedent = Time.time;
            }
        }
    }
Example #3
0
 public void ChangeState(int newState)
 {
     stateActu = (E_StateEnum)newState;
     Debug.Log("ChangeState = " + stateActu);
 }
Example #4
0
 public void ChangeState(E_StateEnum newState)
 {
     stateActu = newState;
 }
    private void Combat()
    {
        //code Ia
        float val = UnityEngine.Random.Range(0.4f, 0.8f);

        if (val <= Ennemie.Mana)
        {
            UseMana(val, E_ManaEnum.CIBLE);
        }

        //Attribution du Mana
        Ennemie.Mana += (Ennemie.Vitesse * Time.deltaTime);
        if (Ennemie.Mana >= Ennemie.ManaBase)
        {
            ManaBarCible.fillAmount = 1.0f;
            Ennemie.Mana            = Ennemie.ManaBase;
        }
        else
        {
            ManaBarCible.fillAmount = Ennemie.Mana / Ennemie.ManaBase;
        }


        Joueur.Mana += (Joueur.Vitesse * Time.deltaTime);
        if (Joueur.Mana >= Joueur.ManaBase)
        {
            ManaBarAtt.fillAmount = 1.0f;
            Joueur.Mana           = Joueur.ManaBase;
        }
        else
        {
            ManaBarAtt.fillAmount = Joueur.Mana / Joueur.ManaBase;
        }


        //Maj des valeurs d'affichage
        SetText((Ennemie.Mana * 100).ToString("0") + " / " + Ennemie.ManaBase * 100 + " MP", E_TextEnum.MANACIBLE);
        SetText((Ennemie.Pv * 100).ToString("0") + " / " + Ennemie.PvBase * 100 + " PV", E_TextEnum.HPCIBLE);

        SetText((Joueur.Pv * 100).ToString("0") + " / " + Joueur.PvBase * 100 + " PV", E_TextEnum.HPATT);
        SetText((Joueur.Mana * 100).ToString("0") + " / " + Joueur.ManaBase * 100 + " MP", E_TextEnum.MANAATT);


        //maj anim
        if (timeFinA < Time.time)
        {
            JoueurObject.GetComponent <Animator>().SetInteger("numeroAnimation", 0); timeFinA = 0;
        }

        if (timeFinB < Time.time)
        {
            EnnemieObject.GetComponent <Animator>().SetInteger("numeroAnimation", 0); timeFinB = 0;
        }


        if (Ennemie.Pv <= 0.0f)
        {
            Debug.Log("Victoire");
            State = E_StateEnum.VICTOIRE;
        }

        if (Joueur.Pv <= 0.0f)
        {
            Debug.Log("Defaite");
            State = E_StateEnum.DEFAITE;
        }
    }
    public void Configurer(Personnage joueur, Personnage ennemie)
    {
        //initialisation des boutons
        Joueur  = joueur;
        Ennemie = ennemie;

        AttButton0 = new ButtonBattle();
        AttButton1 = new ButtonBattle();
        AttButton2 = new ButtonBattle();
        AttButton3 = new ButtonBattle();


        if (Joueur.AttaquesList.Count > 0)
        {
            Att0.gameObject.SetActive(true);
            SetText(Joueur.AttaquesList[0].Intitule + "  " + (Joueur.AttaquesList[0].Mp * 100.0f).ToString("0") + " Mp", E_TextEnum.ATT0);
        }
        else
        {
            Att0.gameObject.SetActive(false);
            SetText("", E_TextEnum.ATT0);
        }

        if (Joueur.AttaquesList.Count > 1)
        {
            Att1.gameObject.SetActive(true);
            SetText(Joueur.AttaquesList[1].Intitule + "  " + (Joueur.AttaquesList[1].Mp * 100.0f).ToString("0") + " Mp", E_TextEnum.ATT1);
        }
        else
        {
            Att1.gameObject.SetActive(false);
            SetText("", E_TextEnum.ATT1);
        }

        if (Joueur.AttaquesList.Count > 2)
        {
            Att2.gameObject.SetActive(true);
            SetText(Joueur.AttaquesList[2].Intitule + "  " + (Joueur.AttaquesList[2].Mp * 100.0f).ToString("0"), E_TextEnum.ATT2);
        }
        else
        {
            Att2.gameObject.SetActive(false);
            SetText("", E_TextEnum.ATT2);
        }

        if (Joueur.AttaquesList.Count > 3)
        {
            Att3.gameObject.SetActive(true);
            SetText(Joueur.AttaquesList[3].Intitule + "  " + (Joueur.AttaquesList[3].Mp * 100.0f).ToString("0") + " Mp", E_TextEnum.ATT3);
        }
        else
        {
            Att3.gameObject.SetActive(false);
            SetText("", E_TextEnum.ATT3);
        }


        Joueur.Mana  = 0.0f;
        Ennemie.Mana = 0.0f;

        HealhBarAtt.fillAmount = Joueur.Pv / Joueur.PvBase;
        ManaBarAtt.fillAmount  = Joueur.Mana / Joueur.ManaBase;

        HealthBarCible.fillAmount = Ennemie.Pv / Ennemie.PvBase;
        ManaBarCible.fillAmount   = Ennemie.Mana / Ennemie.ManaBase;


        // attention il y a que ici qu'on multiplie par 100
        SetText((Ennemie.ManaBase * 100) + " / " + Ennemie.ManaBase * 100 + " MP", E_TextEnum.MANACIBLE);
        SetText((Ennemie.PvBase * 100) + " / " + Ennemie.PvBase * 100 + " PV", E_TextEnum.HPCIBLE);

        SetText((Joueur.PvBase * 100) + " / " + Joueur.PvBase * 100 + " PV", E_TextEnum.HPATT);
        SetText((Joueur.ManaBase * 100) + " / " + Joueur.ManaBase * 100 + " MP", E_TextEnum.MANAATT);


        State = E_StateEnum.COMBAT;
    }