private void Update() { if (Input.GetKeyDown("d")) { DrawCard(1); } if (nbSheriff == 0) { In_game_Menu EndMenu = (In_game_Menu)GameObject.Find("MenuManager").GetComponent(typeof(In_game_Menu)); EndMenu.endGame("Les Hors la Loi ont gagne"); Time.timeScale = 0; } if (nbHorsLaLoi == 0) { In_game_Menu EndMenu = (In_game_Menu)GameObject.Find("MenuManager").GetComponent(typeof(In_game_Menu)); EndMenu.endGame("Le Sheriff et ses Adjoints ont gagne"); Time.timeScale = 0; } }
/// <summary> /// Méthode appeler lors de la fin du drag de l'élément /// Définit l'action a faire en fonction de l'élément et de la zone où il est laché /// Et modifie le booléen <c>dragged</c> a <c>false</c> et remet a sa place départ si la zone est non autorisé /// </summary> public void endDrag() { int del = -1; if (dragged == true) { // DEFAUSSE if (dropZone != null && dropZone.name == "Defausse") { // On ajoute la carte dans la liste de defausse du GameManager if (gameObject.GetComponent <CardBlue>() != null) { GameObject.Find("GameManager").GetComponent <GameManager>().Disc(gameObject.GetComponent <CardBlue>().ID); del = GameObject.Find("PlayerAreaGlob").GetComponent <ThisPersonnage>().GetPersonnage().GetHand().IndexOf(gameObject.GetComponent <CardBlue>().ID); } else { GameObject.Find("GameManager").GetComponent <GameManager>().Disc(gameObject.GetComponent <CardBrown>().ID); del = GameObject.Find("PlayerAreaGlob").GetComponent <ThisPersonnage>().GetPersonnage().GetHand().IndexOf(gameObject.GetComponent <CardBrown>().ID); } // On detruit l'instance de l'objet Destroy(gameObject); } // Carte Blue pose else if (gameObject.name == "CardBlue(Clone)" && blueCardDropable && !AlreadyPlay(gameObject.GetComponent <CardBlue>().card)) { Debug.Log("Drop"); del = GameObject.Find("PlayerAreaGlob").GetComponent <ThisPersonnage>().GetPersonnage().GetHand().IndexOf(gameObject.GetComponent <CardBlue>().ID); transform.SetParent(dropZone.transform, false); gameObject.GetComponent <CardBlue>().card.Play(); GameObject.Find("PlayerArea").GetComponent <Board>().played.Add(gameObject.GetComponent <CardBlue>().card); GameObject.Find("PlayerArea").GetComponent <Board>().id.Add(gameObject.GetComponent <CardBlue>().ID); GameObject.Find("PlayerAreaGlob").GetComponent <ThisPersonnage>().GetPersonnage().GetBoard().Add(gameObject.GetComponent <CardBlue>().ID); } // Carte Brown utilise else if (gameObject.name == "CardBrown(Clone)" && brownCardDropable && dropZone.GetComponentInParent <ThisPersonnage>().GetPersonnage().GetHealthMax() != 0) { if (GameObject.Find("GameManager").GetComponent <GameManager>().CanShoot(GameObject.Find("PlayerAreaGlob").GetComponent <ThisPersonnage>().GetPersonnage(), dropZone.GetComponentInParent <ThisPersonnage>().GetPersonnage())) { if (gameObject.GetComponent <CardBrown>().card.GetType().Name == "Bang") { if (GameObject.Find("GameManager").GetComponent <GameManager>().currentPersonnage.GetComponent <ThisPersonnage>().GetPersonnage().hasPlayedBangThisTurn == false) { // On tag la carte pour pouvoir la recuperer lors de l'appel de fonction Play() gameObject.tag = "Dragged"; gameObject.GetComponent <CardBrown>().card.Play(); //ajout Id Card dans defause GameObject.Find("GameManager").GetComponent <GameManager>().Disc(gameObject.GetComponent <CardBrown>().ID); del = GameObject.Find("PlayerAreaGlob").GetComponent <ThisPersonnage>().GetPersonnage().GetHand().IndexOf(gameObject.GetComponent <CardBrown>().ID); //destroy card Destroy(gameObject); } else { transform.position = positionDepart; } } else { if (gameObject.tag == "Rate") { transform.position = positionDepart; } else { // On tag la carte pour pouvoir la recuperer lors de l'appel de fonction Play() gameObject.tag = "Dragged"; gameObject.GetComponent <CardBrown>().card.Play(); //ajout Id Card dans defause GameObject.Find("GameManager").GetComponent <GameManager>().Disc(gameObject.GetComponent <CardBrown>().ID); del = GameObject.Find("PlayerAreaGlob").GetComponent <ThisPersonnage>().GetPersonnage().GetHand().IndexOf(gameObject.GetComponent <CardBrown>().ID); //destroy card Destroy(gameObject); } } } else { In_game_Menu EndMenu = (In_game_Menu)GameObject.Find("MenuManager").GetComponent(typeof(In_game_Menu)); EndMenu.infoGame("Cible hors de portee"); transform.position = positionDepart; } } else { transform.position = positionDepart; } if (del >= 0) { GameObject.Find("PlayerAreaGlob").GetComponent <ThisPersonnage>().GetPersonnage().GetHand().RemoveAt(del); } } dragged = false; }
// Message a afficher pour dire au joueur de combien de cartes il doit se dafausser public void EndToDisc(int nb) { In_game_Menu EndMenu = (In_game_Menu)GameObject.Find("MenuManager").GetComponent(typeof(In_game_Menu)); EndMenu.infoGame("Vous devez vous defausser de " + nb + " carte(s)"); }