// ************* // // ** Trigger ** // // ************* // void OnTriggerEnter2D(Collider2D col) { if (col.tag == "Personnage") { if (col.gameObject.GetComponent <PersoData>().persoCase != thisCase) { TransparencyBehaviour.CheckTransparency(col.gameObject, 1f); personnageData = col.gameObject.GetComponent <PersoData>(); casePathfinding = PathfindingCase.NonWalkable; col.gameObject.GetComponent <PersoData>().persoCase = thisCase; TransparencyBehaviour.CheckTransparency(col.gameObject, 0.5f); } } if (col.tag == "Ballon") { if (col.gameObject.GetComponent <BallonData> ().ballonCase != thisCase) { TransparencyBehaviour.CheckTransparency(col.gameObject, 1f); ballon = col.gameObject.GetComponent <BallonData>(); casePathfinding = PathfindingCase.NonWalkable; col.gameObject.GetComponent <BallonData>().ballonCase = thisCase; TransparencyBehaviour.CheckTransparency(col.gameObject, 0.5f); col.gameObject.GetComponent <BallonData>().xCoord = xCoord; col.gameObject.GetComponent <BallonData>().yCoord = yCoord; } if (winCase != Player.Neutral) { StartCoroutine(UIManager.Instance.ScoreChange(winCase)); } } }
public HoverArgs(CaseData hoveredCase, PersoData hoveredPersonnage, PathfindingCase Pathfinding, BallonData hoveredBallon) { this.hoveredCase = hoveredCase; this.hoveredPersonnage = hoveredPersonnage; this.Pathfinding = Pathfinding; this.hoveredBallon = hoveredBallon; }
public void ReturnMenu() { GameObject menuContextuel = UIManager.Instance.menuContextuel; BallonData hoveredBallon = HoverManager.Instance.hoveredBallon; SelectionManager.Instance.selectedBallon = hoveredBallon; menuContextuel.SetActive(true); TurnManager.Instance.DisableFinishTurn(); }
public void ShotMenu() { GameObject menuContextuel = UIManager.Instance.menuContextuel; BallonData hoveredBallon = HoverManager.Instance.hoveredBallon; MoveBehaviour.Instance.pathes.Clear(); SelectionManager.Instance.selectedBallon = hoveredBallon; menuContextuel.SetActive(true); TurnManager.Instance.DisableFinishTurn(); }
void OnMouseOver() { if (!enabled) { return; } hoveredCase = this.GetComponent <CaseData>(); hoveredPersonnage = GetComponent <CaseData> ().personnageData; hoveredPathfinding = GetComponent <CaseData> ().casePathfinding; hoveredBallon = GetComponent <CaseData> ().ballon; newHoverEvent(this, new HoverArgs(hoveredCase, hoveredPersonnage, hoveredPathfinding, hoveredBallon)); }
public void OnNewClick() { // Lors d'un click sur une case Phase currentPhase = TurnManager.Instance.currentPhase; BallonData hoveredBallon = HoverManager.Instance.hoveredBallon; PersoData selectedPersonnage = SelectionManager.Instance.selectedPersonnage; PersoAction actualAction = GameManager.Instance.actualAction; if (currentPhase == Phase.Deplacement && selectedPersonnage != null && hoveredBallon != null && actualAction == PersoAction.isSelected) { if (Fonction.Instance.CheckAdjacent(hoveredBallon.gameObject, selectedPersonnage.gameObject) == true) { ShotMenu(); } } }
public void TirReplacerBalle() { PersoData selectedPersonnage = SelectionManager.Instance.selectedPersonnage; CaseData hoveredCase = HoverManager.Instance.hoveredCase; PersoAction actualAction = GameManager.Instance.actualAction; BallonData selectedBallon = SelectionManager.Instance.selectedBallon; if (actualAction == PersoAction.isReplacingBall && caseAction.Count != 0) { if (caseAction.Contains(hoveredCase)) { selectedBallon.transform.position = hoveredCase.transform.position; hoveredCase.GetComponent <CaseData>().ChangeColor(Statut.canReplace); StartCoroutine(ReplacerBalleEnd()); return; } StartCoroutine(ReplacerBalleEnd()); selectedPersonnage.GetComponent <PersoData> ().actualPointMovement++; } }
void OnTriggerExit2D(Collider2D col) { if (col.tag == "Personnage" && col.gameObject.GetComponent <BoxCollider2D>().enabled == true && GetComponent <PolygonCollider2D>().enabled == true) { personnageData = null; casePathfinding = PathfindingCase.Walkable; ChangeColor(Statut.None, Statut.isSelected); ChangeColor(Statut.None, Statut.isAllyPerso); } if (col.tag == "Ballon" && col.gameObject.GetComponent <BoxCollider2D>().enabled == true && GetComponent <PolygonCollider2D>().enabled == true) { TransparencyBehaviour.CheckTransparency(col.gameObject, 1f); ballon = null; casePathfinding = PathfindingCase.Walkable; ChangeColor(Statut.None, Statut.canShot); } }
// ************ // // ** Events ** // // ************ // void OnNewHover(object sender, HoverArgs e) { // Curseur se trouve sur une case ou quitte une case if (hoveredLastCase == null || hoveredLastCase != hoveredCase) { hoveredLastCase = hoveredCase; } if (hoveredCase != null) { changeColorExit(GameManager.Instance.currentPhase); } Debug.Log(hoveredCase); Debug.Log(hoveredLastCase); hoveredPersonnage = e.hoveredPersonnage; hoveredCase = e.hoveredCase; hoveredPathfinding = e.Pathfinding; hoveredBallon = e.hoveredBallon; changeColorEnter(); CheckIfAction(); }
// *************** // // ** Actions ** // // *************** // public IEnumerator ShowActions() { // Affiche en violet les actions possible par le joueur. yield return(new WaitForEndOfFrame()); Player currentPlayer = GameManager.Instance.currentPlayer; Phase currentPhase = GameManager.Instance.currentPhase; Color actionPreColor = ColorManager.Instance.actionPreColor; PersoData selectedPersonnage = SelectionManager.Instance.selectedPersonnage; Color selectedColor = ColorManager.Instance.selectedColor; switch (currentPhase) { case (Phase.Placement): break; case (Phase.Deplacement): foreach (GameObject caseCompared in listCase) { Color newColor = ColorManager.Instance.caseColor; if (!MenuContextuel.Instance.gameObject.activeInHierarchy) { PersoData persoCompared = caseCompared.GetComponent <CaseData>().personnageData; BallonData ballonCompared = caseCompared.GetComponent <CaseData>().ballon; if (persoCompared != null && persoCompared.GetComponent <PersoData>().owner == currentPlayer) { caseCompared.GetComponent <CaseData>().ChangeColor(Statut.isAllyPerso); } if (SelectionManager.Instance.selectedPersonnage != null) { if (persoCompared != null && persoCompared.GetComponent <PersoData>().owner != currentPlayer && Fonction.Instance.CheckAdjacent(persoCompared.gameObject, selectedPersonnage.gameObject) == true) { caseCompared.GetComponent <CaseData>().ChangeColor(Statut.canPunch); } if (ballonCompared != null && Fonction.Instance.CheckAdjacent(selectedPersonnage.gameObject, ballonCompared.gameObject) == true) { caseCompared.GetComponent <CaseData>().ChangeColor(Statut.canShot); //newColor = actionPreColor; } if (persoCompared == selectedPersonnage) { caseCompared.GetComponent <CaseData>().ChangeColor(Statut.isSelected); //newColor = selectedColor; } } // if (newColor != ColorManager.Instance.caseColor) // { // caseCompared.GetComponent<CaseData>().ChangeColor(newColor); // } } } break; } }