/// <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; } } } }
/// <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"); } }
/// <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); }
/// <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); }
/// <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"); } }
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; } }