// 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; } }
// 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; } } }
public void ChangeState(int newState) { stateActu = (E_StateEnum)newState; Debug.Log("ChangeState = " + stateActu); }
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; }