// public void Populate() // { // foreach (var defense in defenses) // { // GameObject buttonObject = Instantiate(defensePlaceButtonPrefab) as GameObject; // TextMeshProUGUI text = buttonObject.GetComponentInChildren<TextMeshProUGUI>(); // text.text = defense.name; // buttonObject.transform.parent = contentParent; // Button btn = buttonObject.GetComponent<Button>(); // EventTrigger eventTrigger = buttonObject.GetComponent<EventTrigger>(); // DefensePlacement placementManager = FindObjectOfType<DefensePlacement>(); // btn.onClick.AddListener(() => placementManager.BeginPlacingObject(defense)); // EventTrigger.Entry pointerEnterEntry = new EventTrigger.Entry(); // pointerEnterEntry.eventID = EventTriggerType.PointerEnter; // //pointerEnterEntry.callback.AddListener((eventData) => placementManager.ShowInfo(defense)); // EventTrigger.Entry pointerExitEntry = new EventTrigger.Entry(); // pointerExitEntry.eventID = EventTriggerType.PointerExit; // // pointerExitEntry.callback.AddListener((eventData) => FindObjectOfType<DefenseSelectionInfoBox>().HideInfo()); // eventTrigger.triggers.Add(pointerEnterEntry); // eventTrigger.triggers.Add(pointerExitEntry); // } // } //} private void Populate() { DefensePlacement defenseManager = FindObjectOfType <DefensePlacement>(); var defenses = new List <DefenseContainer>(); foreach (var defense in defenseManager.containers) { defenses.Add(defense); } defenses.Sort((a, b) => a.price.CompareTo(b.price)); Debug.Log("Populating defense placement with " + defenseManager.containers.Length + " defenses"); foreach (var defenseContainer in defenses) { GameObject btnObject = Instantiate(defensePlaceButtonPrefab) as GameObject; Button btn = btnObject.GetComponent <Button>(); btn.onClick.AddListener(() => BeginPlacingDefense(defenseContainer)); btn.onClick.AddListener(() => Debug.Log(defenseContainer.defenseName + " has been clicked")); btnObject.GetComponent <DefenseButtonData>().defense = defenseContainer; btnObject.GetComponent <Image>().sprite = defenseContainer.icon; btnObject.transform.SetParent(contentParent); } }
void Update() { //print(playerTurn); //HANDLE PIECE MOVING if (isMovingPiece) { GameObject piece = this.selectedSpace.GetComponent <TerritoryHandler>().getPopulatedPiece(); //print(selectedSpace); //print(newPiecePosition); piece.transform.position = Vector3.Lerp(piece.transform.position, new Vector3(newPiecePosition.x, newPiecePosition.y, piece.transform.position.z), Time.deltaTime * 4); } //END HANDLE PIECE MOVING //HANDLE TURN SIGN switch (playerTurn) { case PlayerTurn.Attack: if (!didShowPlayerTurnSign) { presentTurnSign(PlayerTurn.Attack); } break; case PlayerTurn.Defense: if (!didShowPlayerTurnSign) { print("updateSign"); if (finishedSetup) { turnsLeft--; //finished one whole turn if (turnsLeft == 0) { presentWinner(PlayerTurn.Defense); } updateTurnsSign(); } presentTurnSign(PlayerTurn.Defense); } break; } //END HANDLE TURN SIGN if (isFinishedShowingSign) { //SETUP if (action == Action.DefenseSetup) { if (!hasPickedNext) { populateUpNext(); } nextUpSignPanel.SetActive(true); //print("Defender, choose your five territories"); if (defensePlacement == DefensePlacement.Troop) { //print(defenseTroopPlacement); if (defenseTroopPlacement == 5) { print("toTraps"); defensePlacement = DefensePlacement.Trap; } } else if (defensePlacement == DefensePlacement.Trap) { if (defenseTrapPlacement == 3) { nextUpSignPanel.SetActive(false); hasPickedNext = false; print("toAttack"); defensePlacement = DefensePlacement.Troop; switchPlayer(); action = Action.AttackSetup; playerTurn = PlayerTurn.Attack; spawnSpace = GameObject.FindGameObjectWithTag("Respawn").GetComponent <TerritoryHandler>(); spawnSpace.playParticle(); } } } if (action == Action.AttackSetup) { if (!hasPickedNext) { populateUpNext(); } nextUpSignPanel.SetActive(true); //print("Attacker, choose your one territory"); if (attackHasPlacedTroop) { nextUpSignPanel.SetActive(false); print("troop placed"); spawnSpace.stopParticle(); action = Action.SelectOwn; gameMode = GameMode.SelectTerritory; hasPickedNext = false; attackHasPlacedTroop = false; finishedSetup = true; //switchPlayer(); } } //END SETUP switch (gameMode) { case GameMode.SelectTerritory: didStartParticles = false; //reset bool if (selectedSpace != null && !didStopParticles) //if deselecting selected space { stopAdjacentParticles(); } break; case GameMode.SelectAdjacent: didStopParticles = false; //reset bool if (selectedSpace != null && !didStartParticles) //this is immediately after a space is selected in SelectTerritory state { startAdjacentParticles(); } break; } } else //if sign is still showing, we want to pause everything else { //stopAdjacentParticles(); } }
private void Awake() { instance = this; }