public void PickDefender(DefenderButton defenderButton) { // if it is the enemies turn, prevent placement if (!TurnManager.Instance.currentlyPlayersTurn) { Debug.Log("Player cannot place new defenders during enemy turn..."); } // If player does not have enough gold if (PlayerDataManager.Instance.currentGold < defenderButton.goldCost) { Debug.Log("Player does not have enough gold to purchase " + defenderButton.defenderPrefab.name); return; } // If player does not have availble troop points if (PlayerDataManager.Instance.currentTroopCount + defenderButton.troopCost > PlayerDataManager.Instance.currentMaxTroopCount) { Debug.Log("Can't recruit troop: recruting troop would bring player over the maximum troop count" + defenderButton.defenderPrefab.name); return; } LevelManager.Instance.HighlightTiles(LevelManager.Instance.GetSpaceShipControlZoneTile()); Debug.Log("Defender button for " + defenderButton.name + " clicked on"); ClickedDefender = defenderButton; Hover.Instance.Activate(defenderButton.Sprite); }
private static void ChangeButtonColor(DefenderButton button, Color32 color) { Transform t = button.transform; t.Find("Image").GetComponent <SpriteRenderer>().color = color; t.Find("Button Graphic").GetComponent <SpriteRenderer>().color = color; }
public void SelectDefender(DefenderButton defenderButton) { foreach (DefenderButton button in defenderSpawnButtons) { button.image.color = notSelectedColor; } defenderButton.image.color = selectedColor; DefenderSpawner.instance.SetSelectedDefender(defenderButton.defender); }
private void SetDefender(int idx) { ListSlot[idx].SpawnDefender(currentButton.GetDefenderPref()); ListButton.Remove(currentButton); Destroy(currentButton.gameObject); ResetButtonIndex(); currentButton = null; //StopCoroutine(ButtonSpawn()); //StopAllCoroutines(); //StartCoroutine(ButtonSpawn()); }
// Attempts to select a defender prefab to be spawned on click, and it's button to deselect it // Returns true if it was successfully selected public bool SelectDefender(Defender newDefender, DefenderButton newDefenderButton) { if (!currencyManager.Affords(newDefender.GetCost())) { return(false); } defender = newDefender; defenderButton = newDefenderButton; return(true); }
public void Select() { DefenderButton.SelectedDefenderButton = this; foreach (var button in this._defenderButtons) { button.Unselect(); } foreach (var sprite in this.Sprites) { sprite.color = Color.white; } }
void OnMouseDown() { DefenderButton defenderToSpawn = DefenderButton.selectedDefender.GetComponent <DefenderButton>(); if (defenderToSpawn != null) { Vector2 gridCoord = SnapToGrid(ConvertMouseCoordToWorldView()); GameObject newDefender = Instantiate(defenderToSpawn.DefenderPrefab, gridCoord, Quaternion.identity); newDefender.transform.parent = m_defenderContainer; CurrentStarCount -= defenderToSpawn.StarCost; } }
private GameObject _gameObject; // generic for prefabs that have data dispersed public void SetInfo(GameObject currentGameObject) { _destroyInfoInstances(); if (!currentGameObject) { return; } _gameObject = currentGameObject; var shooter = currentGameObject.GetComponent <Shooter>(); var defender = currentGameObject.GetComponent <Defender>(); var attacker = currentGameObject.GetComponent <Attacker>(); var currencyButton = currentGameObject.GetComponent <CurrencyButton>(); var _currencyProducer = currentGameObject.GetComponent <CurrencyProducer>(); _defenderButton = currentGameObject.GetComponent <DefenderButton>(); _controlTower = currentGameObject.GetComponent <ControlTower>(); if (shooter) { _currentInfoShooter = Instantiate(infoShooter, transform.position, Quaternion.identity); _currentInfoShooter.transform.SetParent(transform); } else if (_controlTower || currencyButton) { _currentInfoResources = Instantiate(infoResources, transform.position, Quaternion.identity); _currentInfoResources.transform.SetParent(transform); } else if (_defenderButton) { _currentInfoDefenderButton = Instantiate(infoDefenderButton, transform.position, Quaternion.identity); _currentInfoDefenderButton.transform.SetParent(transform); } else if (attacker || _currencyProducer) { _currentInfoDamageHealthBar = Instantiate(infoDamageHealthBar, transform.position, Quaternion.identity); _currentInfoDamageHealthBar.transform.SetParent(transform); } else if (defender) // Box { _currentInfoBox = Instantiate(infoBox, transform.position, Quaternion.identity); _currentInfoBox.transform.SetParent(transform); } }
public void onButtonSelect(int idx) { if (idx >= ListButton.Count) { return; } if (currentButton != null) { currentButton.UnSelect(); } var tempButton = ListButton[idx]; if (tempButton == null) { return; } tempButton.Select(); currentButton = tempButton; }
IEnumerator ButtonSpawn() { while (true) { if (ListButton.Count < maxButton) { yield return(new WaitForSeconds(2f)); //spawn string cardname = listcards[UnityEngine.Random.Range(0, listcards.Length)]; var card = GetCard(cardname); if (card == null) { yield return(null); } var button = card.GetDefenderButton(); if (button == null) { yield return(null); } DefenderButton defenderButton = Instantiate(button, transform.position, Quaternion.identity); defenderButton.Card = button.Card; defenderButton.transform.parent = buttonSpawnParent; defenderButton.transform.localScale = Vector3.one; //buttonindex++; defenderButton.observer = this; defenderButton.index = ListButton.Count; ListButton.Add(defenderButton); yield return(new WaitForSeconds(timeSpawnButton)); Debug.Log("spawn button"); } else { yield return(null); } } }
// Attempt to spawn a defender instance where the player has specified. private void OnMouseDown() { // Ascertain the snapped grid position. Vector2 rawPosition = this.CalculateWorldPointOfMouseClick(); Vector2 snappedPosition = this.SnapToGrid(rawPosition); // Attempt to spawn a new defender. GameObject selectedDefender = DefenderButton.GetSelectedDefender(); if (selectedDefender && Defender.IsObjectDefender(selectedDefender)) { // Attempt to spend the stars and spawn the defender instance on success. int starCost = this.GetDefenderCost(selectedDefender); if (this.starDisplay.UseStars(starCost) == StarDisplay.Status.SUCCESS) { SpawnDefender(snappedPosition, selectedDefender); } else { Debug.Log("Can't afford to buy a " + selectedDefender + ". Insufficient funds."); } } }
private static void DimButton(DefenderButton button) { ChangeButtonColor(button, unselectedColor); }