示例#1
0
    public Soldat(int classe)
    {
        buffCombattant    = new Buff();
        this.niveauSoldat = new GestionXP.NiveauXP();

        if (classe == 0)
        {
            combattant   = new Guerrier();
            classeString = "Guerrier";
        }
        // 1 pour Assassin
        if (classe == 1)
        {
            combattant   = new Assassin();
            classeString = "Assassin";
        }
        // 2 pour Sniper
        if (classe == 2)
        {
            combattant   = new Sniper();
            classeString = "Sniper";
        }
        // 3 pour Eclaireur
        if (classe == 3)
        {
            combattant   = new Eclaireur();
            classeString = "Eclaireur";
        }

        if (this.niveauSoldat.XPActuelle >= this.niveauSoldat.XPMax)
        {
            UpNiveau();
        }
    }
示例#2
0
 public Ennemi(int classe, int niveau)
 {
     // Niveau set en fonction de la mission
     if (classe == 0)
     {
         combattant   = new Guerrier();
         classeString = "Guerrier";
     }
     // 1 pour Assassin
     if (classe == 1)
     {
         combattant   = new Assassin();
         classeString = "Assassin";
     }
     // 2 pour Sniper
     if (classe == 2)
     {
         combattant   = new Sniper();
         classeString = "Sniper";
     }
     // 3 pour Eclaireur
     if (classe == 3)
     {
         combattant   = new Eclaireur();
         classeString = "Eclaireur";
     }
 }
示例#3
0
 public void RecoitDegats(TypeCombattant adversaire, int degatsBuff = 0)
 {
     this.HpCombattant -= adversaire.DegatsCombattant + degatsBuff;
     if (HpCombattant <= 0)
     {
         // Faut le faire mourrir
     }
 }
示例#4
0
 public void CreateStatCombatant(int i, int nbSoldat)
 {
     if (unJoueurControle)
     {
         StatSoldat    = HUDDetailMission.Mission.Soldats[i];
         statCombatant = StatSoldat.combattant;
     }
     else
     {
         StatEnnemi    = HUDDetailMission.Mission.Ennemis[i - nbSoldat];
         statCombatant = StatEnnemi.combattant;
     }
 }
示例#5
0
 public void AttaqueAdversaire(TypeCombattant adversaire)
 {
     adversaire.RecoitDegats(combattant);
 }
示例#6
0
 public void AttaqueAdversaire(TypeCombattant adversaire)
 {
     adversaire.RecoitDegats(GetTypeCombattant(), GetBuffCombattant().DegatsBuffDebuff);
 }
示例#7
0
    private void ShowTrajet(bool FaireChemin)
    {
        Vector2 MousePos = PointToWorld();

        Debug.LogWarning("Mouse pos : " + MousePos);
        if (generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain.ContainsKey(new Vector2Int((int)MousePos.x, (int)MousePos.y)) == true)
        {
            if (generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].IsFree)
            {
                Debug.Log("je passe");
                PositionEnd = MousePos;
                GenerateChemin(FaireChemin);
            }
            else
            {
                if (unJoueurControle)
                {
                    if (generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].UnEnnemyDessus)
                    {
                        if (CheckPeutAttaquer(new Vector2Int((int)MousePos.x, (int)MousePos.y)) && paDispo >= 1)
                        {
                            Debug.Log("Peux attaquer ennemy");
                            if (FaireChemin)
                            {
                                TypeCombattant ennemy = generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].EnnemyDessus.GetComponent <MouvementPersonnage>().statCombatant;
                                Debug.Log("Avant : Vie enemy : " + ennemy.HpCombattant);
                                StatSoldat.AttaqueAdversaire(ennemy);
                                UiMessage = statCombatant.DegatsCombattant + " dégats infligés. " + ennemy.HpCombattant + " hp restants.";
                                if (ennemy.HpCombattant <= 0)
                                {
                                    Debug.LogWarning(GameObject.Find("CombatManager").GetComponent <CombatManager>().listeCombattant.Count);
                                    GameObject.Find("CombatManager").GetComponent <CombatManager>().listeCombattant.RemoveAt(GameObject.Find("CombatManager").GetComponent <CombatManager>().listeCombattant.IndexOf(generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].EnnemyDessus));
                                    GameObject.Destroy(generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].EnnemyDessus);
                                    Debug.LogWarning(GameObject.Find("CombatManager").GetComponent <CombatManager>().listeCombattant.Count);
                                }
                                Debug.Log("Après : Vie enemy : " + ennemy.HpCombattant);
                                --paDispo;
                            }
                        }
                    }
                    else if (generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].UnSoldatDessus)
                    {
                        Debug.Log("Un allié");
                    }
                    else if (generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].EstUnObjectif)
                    {
                        if (CheckSiVoisin(new Vector2Int((int)MousePos.x, (int)MousePos.y)))
                        {
                            if (FaireChemin)
                            {
                                Debug.LogWarning(generateurDeCarte.objectifsMission.Count);
                                Debug.LogWarning(generateurDeCarte.objectifsMission.IndexOf(generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].Objectif));
                                generateurDeCarte.objectifsMission.RemoveAt(generateurDeCarte.objectifsMission.IndexOf(generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].Objectif));
                                GameObject.Destroy(generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].Objectif.Mesh);
                                generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].IsFree = true;
                                Debug.LogWarning(generateurDeCarte.objectifsMission.Count);
                            }
                            else
                            {
                                Debug.Log("Objectif peut être ramassé.");
                            }
                        }
                        else
                        {
                            Debug.Log("Trop loin pour être ramassé.");
                        }
                    }
                    else
                    {
                        Debug.Log("Impossible obstacle");
                    }
                }
                else
                {
                    if (GameObject.Find("GenerateurDeCarte").GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].UnEnnemyDessus)
                    {
                        Debug.Log("Un allié");
                    }
                    else if (GameObject.Find("GenerateurDeCarte").GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].UnSoldatDessus)
                    {
                        Debug.Log("Peut attaquer");
                    }
                    else
                    {
                        Debug.Log("Impossible obstacle");
                    }
                }
            }
        }
        else
        {
            Debug.Log("Au dela de la map.");
        }
    }