Пример #1
0
    /// <summary>
    /// Eneleve la carte event d'un joueur
    /// </summary>
    /// <param name="ev"></param>
    void RemoveEvents(MYthsAndSteel_Enum.EventCard ev)
    {
        if (PlayerScript.Instance.EventCardList._eventCardRedPlayer.Contains(ev))
        {
            PlayerScript.Instance.EventCardList._eventCardRedPlayer.Remove(ev);

            foreach (GameObject gam in PlayerScript.Instance.EventCardList._eventGamRedPlayer)
            {
                if (gam.GetComponent <EventCardContainer>().EventCardInfo._eventType == ev)
                {
                    RemoveEventGam(gam, 1);
                    break;
                }
            }
        }
        else
        {
            PlayerScript.Instance.EventCardList._eventCardBluePlayer.Remove(ev);

            foreach (GameObject gam in PlayerScript.Instance.EventCardList._eventGamBluePlayer)
            {
                if (gam.GetComponent <EventCardContainer>().EventCardInfo._eventType == ev)
                {
                    RemoveEventGam(gam, 2);
                    break;
                }
            }
        }
    }
Пример #2
0
    /// <summary>
    /// Ajoute la carte event au canvas
    /// </summary>
    /// <param name="player"></param>
    /// <param name="card"></param>
    void CreateEventCard(int player, MYthsAndSteel_Enum.EventCard card)
    {
        GameObject newCard = Instantiate(player == 1? UIInstance.Instance.EventCardObjectRed : UIInstance.Instance.EventCardObjectBlue,
                                         player == 1 ? UIInstance.Instance.RedPlayerEventtransf.GetChild(0).transform.position : UIInstance.Instance.BluePlayerEventtransf.GetChild(0).transform.position,
                                         Quaternion.identity,
                                         player == 1 ? UIInstance.Instance.RedPlayerEventtransf.GetChild(0) : UIInstance.Instance.BluePlayerEventtransf.GetChild(0));

        EventCard newEventCard = new EventCard();

        foreach (EventCard evC in EventCardList._eventSO.EventCardList)
        {
            if (evC._eventType == card)
            {
                newEventCard = evC;
            }
        }
        newCard.GetComponent <EventCardContainer>().AddEvent(newEventCard);

        AddEventToButton(card, newCard);

        if (player == 1)
        {
            EventCardList._eventGamRedPlayer.Insert(1, newCard);
            _eventCardList._eventSO.UpdateVisualUI(EventCardList._eventGamRedPlayer, 1);
        }
        else if (player == 2)
        {
            EventCardList._eventGamBluePlayer.Insert(1, newCard);
            _eventCardList._eventSO.UpdateVisualUI(EventCardList._eventGamBluePlayer, 2);
        }
        else
        {
            Debug.LogError("vous essayez d'ajouter une carte event a un joueur qui n'existe pas");
        }
    }
Пример #3
0
    /// <summary>
    /// Ajoute une carte spécifique au joueur
    /// </summary>
    /// <param name="player"></param>
    /// <param name="card"></param>
    void AddEventCard(int player, MYthsAndSteel_Enum.EventCard card)
    {
        if (player == 1)
        {
            EventCardList._eventCardRedPlayer.Insert(0, card);
        }
        else if (player == 2)
        {
            EventCardList._eventCardBluePlayer.Insert(0, card);
        }
        else
        {
            Debug.LogError("vous essayez d'ajouter une carte event a un joueur qui n'existe pas");
        }

        CreateEventCard(player, card);
    }
Пример #4
0
    /// <summary>
    /// Determine à quelle armée appartient la carte
    /// </summary>
    int DeterminArmy(MYthsAndSteel_Enum.EventCard cardToFind)
    {
        foreach (MYthsAndSteel_Enum.EventCard card in PlayerScript.Instance.EventCardList._eventCardRedPlayer)
        {
            if (card == cardToFind)
            {
                return(1);
            }
        }

        foreach (MYthsAndSteel_Enum.EventCard card in PlayerScript.Instance.EventCardList._eventCardBluePlayer)
        {
            if (card == cardToFind)
            {
                return(2);
            }
        }

        return(0);
    }
Пример #5
0
    /// <summary>
    /// Ajoute une carte event random au joueur
    /// </summary>
    /// <param name="player"></param>
    public void GiveEventCard(int player)
    {
        if (_cardObtain.Count < EventCardList._eventSO.NumberOfEventCard)
        {
            int randomCard = UnityEngine.Random.Range(0, EventCardList._eventSO.NumberOfEventCard);

            MYthsAndSteel_Enum.EventCard newCard = EventCardList._eventSO.EventCardList[randomCard]._eventType;

            if (_cardObtain.Contains(newCard))
            {
                GiveEventCard(player);
                return;
            }

            AddEventCard(player, newCard);
            _cardObtain.Add(newCard);
        }
        else
        {
            Debug.Log("Il n'y a plus de cartes events");
        }
    }
Пример #6
0
    public void AddEventToButton(MYthsAndSteel_Enum.EventCard card, GameObject cardGam)
    {
        switch (card)
        {
        case MYthsAndSteel_Enum.EventCard.Activation_de_nodus:
            cardGam.transform.GetChild(0).GetComponent <Button>().onClick.AddListener(_eventCardList._eventSO.LaunchActivationDeNodus);
            break;

        case MYthsAndSteel_Enum.EventCard.Armes_perforantes:
            cardGam.transform.GetChild(0).GetComponent <Button>().onClick.AddListener(_eventCardList._eventSO.LaunchArmesPerforantes);
            break;

        case MYthsAndSteel_Enum.EventCard.Arme_épidémiologique:
            cardGam.transform.GetChild(0).GetComponent <Button>().onClick.AddListener(_eventCardList._eventSO.LaunchArmeEpidemiologique);
            break;

        case MYthsAndSteel_Enum.EventCard.Bombardement_aérien:
            cardGam.transform.GetChild(0).GetComponent <Button>().onClick.AddListener(_eventCardList._eventSO.LaunchBombardementAerien);
            break;

        case MYthsAndSteel_Enum.EventCard.Cessez_le_feu:
            cardGam.transform.GetChild(0).GetComponent <Button>().onClick.AddListener(_eventCardList._eventSO.LaunchCessezLeFeu);
            break;

        case MYthsAndSteel_Enum.EventCard.Déploiement_accéléré:
            cardGam.transform.GetChild(0).GetComponent <Button>().onClick.AddListener(_eventCardList._eventSO.LaunchDéploiementAccéléré);
            break;

        case MYthsAndSteel_Enum.EventCard.Détonation_d_orgone:
            break;

        case MYthsAndSteel_Enum.EventCard.Entraînement_rigoureux:
            cardGam.transform.GetChild(0).GetComponent <Button>().onClick.AddListener(_eventCardList._eventSO.LaunchEntrainementRigoureux);
            break;

        case MYthsAndSteel_Enum.EventCard.Fil_barbelé:
            break;

        case MYthsAndSteel_Enum.EventCard.Illusion_stratégique:
            cardGam.transform.GetChild(0).GetComponent <Button>().onClick.AddListener(_eventCardList._eventSO.LaunchIllusionStratégique);
            break;

        case MYthsAndSteel_Enum.EventCard.Manoeuvre_stratégique:
            cardGam.transform.GetChild(0).GetComponent <Button>().onClick.AddListener(_eventCardList._eventSO.LaunchManoeuvreStratégique);
            break;

        case MYthsAndSteel_Enum.EventCard.Optimisation_de_l_orgone:
            cardGam.transform.GetChild(0).GetComponent <Button>().onClick.AddListener(_eventCardList._eventSO.LaunchOptimisationOrgone);
            break;

        case MYthsAndSteel_Enum.EventCard.Paralysie:
            break;

        case MYthsAndSteel_Enum.EventCard.Pillage_orgone:
            cardGam.transform.GetChild(0).GetComponent <Button>().onClick.AddListener(_eventCardList._eventSO.LaunchPillageOrgone);
            break;

        case MYthsAndSteel_Enum.EventCard.Pointeurs_laser_optimisés:
            cardGam.transform.GetChild(0).GetComponent <Button>().onClick.AddListener(_eventCardList._eventSO.LaunchPointeursLaserOptimisés);
            break;

        case MYthsAndSteel_Enum.EventCard.Reprogrammation:
            cardGam.transform.GetChild(0).GetComponent <Button>().onClick.AddListener(_eventCardList._eventSO.LaunchReproggramation);
            break;

        case MYthsAndSteel_Enum.EventCard.Réapprovisionnement:
            cardGam.transform.GetChild(0).GetComponent <Button>().onClick.AddListener(_eventCardList._eventSO.LaunchReapprovisionnement);
            break;

        case MYthsAndSteel_Enum.EventCard.Sabotage:
            break;

        case MYthsAndSteel_Enum.EventCard.Sérum_expérimental:
            cardGam.transform.GetChild(0).GetComponent <Button>().onClick.AddListener(_eventCardList._eventSO.LaunchSerumExperimental);
            break;

        case MYthsAndSteel_Enum.EventCard.Transfusion_d_orgone:
            break;
        }
    }