예제 #1
0
    private void CancelPlacement()
    {
        spriteRenderer.enabled = false;
        pressedButton          = null;

        SoundManager.Instance.Play(SFX.Cancel);
    }
예제 #2
0
    public void buildTowerOnselectedTile(TowerButton selectedButton)
    {
        GameObject builtTower       = Instantiate(selectedButton.Tower.gameObject);
        Tower      builtTowerScript = builtTower.GetComponent <Tower>();

        builtTowerScript.TowersBuildSite = selectedBuildTile;

        //calculate position
        Vector2 buildPosition = selectedBuildTile.transform.position;

        if (!builtTower.name.Equals("Siege Tower(Clone)"))
        {
            buildPosition.y += GameConstants.ArcherTowerVertOffset;
        }
        builtTower.transform.position = buildPosition;

        // find out if to place tower's front or back sprite
        if (!selectedBuildTile.IsViewedFromFront)
        {
            builtTower.GetComponent <SpriteRenderer>().sprite = builtTower.GetComponent <Tower>().ViewFromBackSprite;
        }


        builtTower.GetComponent <Renderer>().sortingOrder = selectedBuildTile.SortingOrder;
        //save references to tile and tower to destroy them when the game ends
        selectedBuildTile.Occupied = true;
        activeTowers.Add(builtTowerScript);

        GoldAmount -= builtTowerScript.Cost;
        SoundManager.Instance.PlayTowerBuiltSound();
    }
예제 #3
0
    public void SelectedTower(TowerButton towerSelected)
    {
        towerButtonPressed = towerSelected;
        EnableDrag(towerButtonPressed.DragSprite);

        Debug.Log("Pressed" + towerButtonPressed.gameObject);
    }
예제 #4
0
    public void DestroyFollowTower()
    {
        Destroy(followTower.gameObject);
        SelectedTower = null;

        messageField.text = "";
    }
예제 #5
0
 public void SelectedTower(TowerButton towerSelected)
 {
     towerButtonPressed = towerSelected;
     //DragSprite
     enableDragSprite(towerButtonPressed.DragSprite);
     //Ascund meniu towers
     GameManager.Instace.ShowTowers(false);
 }
예제 #6
0
 // called from Onclick event in unity in the Canvas -> towerPanel ->Btn
 public void PickTower(TowerButton towerBtn)
 {
     if (Currency >= towerBtn.Price && !WaveActive) //checks you have enough money to buy tower  && in "buy" phase ie no active monsters
     {
         this.ClickedBtn = towerBtn;
         Hover.Instance.Activate(towerBtn.Sprite);
     }
 }
 public void PickTower(TowerButton towerButton)
 {
     if (!LevelActive)
     {
         this.Clicked = towerButton;
         MouseHover.Instance.Activate(towerButton.Sprite);
     }
 }
예제 #8
0
 public void PickTower(TowerButton towerButton)
 {
     if (Currency >= towerButton.Price)
     {
         this.ClickedButton = towerButton; // устанавливает башню на которую кликнули
         Hover.Instance.Activate(towerButton.Sprite);
     }
 }
예제 #9
0
 public void SelectedTower(TowerButton towerSelected)
 {
     if (towerSelected.TowerPrice <= Manager.Instance.TotalMoney)
     {
         towerButtonPressed = towerSelected;
         EnableDrag(towerButtonPressed.DragSprite);
     }
 }
 public void SelectedTower(TowerButton towerSelected)     // which tower button is pressed
 {
     if (towerSelected.TowerPrice <= GameManager.Instance.TotalMoney)
     {
         TowerButtonPressed = towerSelected;
         EnableDragSprite(TowerButtonPressed.DragSprite);             // enable the drag from the button press
     }
 }
예제 #11
0
파일: UIControl.cs 프로젝트: JakBlack/TD
    public void Upgrade(TowerButton button)
    {
        TowerItem chosenUpgrade = button.tower;

        GameLogic.Instance.ChangePoints(-chosenUpgrade.priceToBuy);
        currentTile.towerHolder.Setup(chosenUpgrade);
        CloseTowerOptions();
    }
예제 #12
0
 private void OnMoneyChange()
 {
     for (int i = 0; i < towerButtons.Count; i++)
     {
         TowerButton towerButton = towerButtons[i];
         towerButton.SetActiveState(towerPrefabs[i].cost <= CurrentMoney);
     }
 }
예제 #13
0
 public void PickTower(TowerButton towerBtn)
 {
     if (Currency >= towerBtn.Price && !WaveActive && !gameOver)
     {
         this.ClickBtn = towerBtn;
         Hover.Instance.Activate(towerBtn.Sprite);
     }
 }
 public void selectedTower(TowerButton towerSelected)
 {
     if (towerSelected.TowerPrice <= GameManager.Instance.TotalMoney)
     {
         towerBtnPressed = towerSelected;
         enableDragSprite(towerBtnPressed.DragSprite);
     }
 }
예제 #15
0
 public void PickTower(TowerButton towerButton)
 {
     if (Currency >= towerButton.Price)
     {
         this.ClickedButton = towerButton;
         Hover.Instance.Activate(towerButton.Sprite);
     }
 }
예제 #16
0
 public void SelectTower(TowerButton selectedTower)
 {
     if (isEnoughMoney(selectedTower))
     {
         SelectedTower = selectedTower;
         CreateFollowTower();
     }
 }
예제 #17
0
 public void pickTower(TowerButton towerButton)
 {
     if (Currency >= towerButton.Price && !WaveActive)
     {
         ActiveTowerButton = towerButton;
         Hover.Instance.Activate(towerButton.HoverSprite);
     }
 }
예제 #18
0
 public void clickMenuPlaceTower(TowerButton towerBtn)
 {
     if (Currency >= towerBtn.Price && !WaveActive) //checks you have enough money to buy tower  && in "buy" phase ie no active monsters
     {
         this.ClickedBtn = towerBtn;
         this.selectedTile.PlaceTower(); //untested need to get back to and finish
     }
     ClickMenu.Instance.HideMenu();
 }
예제 #19
0
    /// <summary>
    /// Handler for clicking the build button
    /// </summary>
    public void BuildTower()
    {
        selectedSlot = TowerSlot.selectedSlot;
        TowerButton selectedTowerButton = TowerButton.selectedTowerButton;

        Instantiate(selectedTowerButton.tower, selectedSlot.transform.position, Quaternion.identity);
        towerMenu.SetActive(false);
        balance.currencyAmount -= selectedTowerButton.towerData.buildPrice;
    }
예제 #20
0
 public void PickTower(TowerButton towerButton)
 {
     if (currency >= towerButton.Price && !IsWaveActive)
     {
         ClickedButton = towerButton;
         Hover.Instance.Activate(towerButton.Button);
         SoundManager.Instance.PlayAudio("Click");
     }
 }
예제 #21
0
 //Whenever a TowerButton is clicked in the shop we check if the player has enough currency to buy the tower, and we call showHover() if we do.
 //If we don't have enough money we simply cannot select the Tower.
 public void TowerSelected(TowerButton towerBtn)
 {
     if (currency >= towerBtn.Price)
     {
         this.towerSelected = towerBtn;
         TowerHover tH = GameObject.FindObjectOfType <TowerHover>();
         tH.showHover(towerBtn.Sprite);
     }
 }
예제 #22
0
 public void selectedTower(TowerButton towerSelected)
 {
     if (towerSelected.TowerPrice <= GameManager.Instance.TotalMoney)
     {
         towerButtonPressed = towerSelected;
         enableDragTower(towerButtonPressed.DragTower);
         // Debug.Log(" you pressed " + towerButtonPressed.gameObject);
     }
 }
예제 #23
0
 /// <summary>
 /// Function that selects which tower to place.
 /// </summary>
 /// <param name="towerButton"></param>
 public void PickTower(TowerButton towerButton)
 {
     if (Currency >= towerButton.Tower.Price && !waveIsActive && !gameOver)
     {
         this.ClickedButton = towerButton;
         Hover.Instance.Activate(towerButton.TowerPrefab);
         cancelField.SetActive(true);
     }
 }
예제 #24
0
    public bool BuyTower(TowerButton purchasedTower)
    {
        if (gameManager.Money >= purchasedTower.TowerPrice)
        {
            gameManager.Money -= purchasedTower.TowerPrice;
            return(true);
        }

        return(false);
    }
예제 #25
0
    protected void OnButtonClicked(object sender)
    {
        //When the tower button is clicked then set the active tower
        TowerButton towerButton = sender as TowerButton;

        if (towerButton)
        {
            m_playerInteraction.SetTower(towerButton.Tower);
        }
    }
예제 #26
0
    private bool isEnoughMoney(TowerButton selectedTower)
    {
        int currentMoney = gameManager.Money;

        if (currentMoney >= selectedTower.TowerPrice)
        {
            return(true);
        }

        return(false);
    }
예제 #27
0
    public void SelectedTower(TowerButton towerSelected)
    {
        if (towerSelected.TowerPrice <= Manager.Instance.TotalGold)
        {
            towerButtonPressed = towerSelected;
            ActivatePicture(towerButtonPressed.DragSprite);
        }


        //Debug.Log("Pressed" + towerButtonPressed.gameObject);
    }
 public void selectedTower(TowerButton towerSelected)
 {
     Debug.Log("totalMoney = " + GameManager.Instance.TotalMoney);
     //if(towerSelected.TowerPrice <= GameManager.Instance.TotalMoney){
     if (GameManager.Instance.TotalMoney >= towerSelected.TowerPrice)
     {
         towerBtnPressed = towerSelected;
         //Debug.Log("Pressed " + towerBtnPressed );
         enableDragSprite(towerBtnPressed.DragSprite);
     }
 }
예제 #29
0
    // find out which tower was selected
    public void SelectTower(TowerButton towerSelected)
    {
        // check to see if player can afford it
        if (GameManager.Instance.CurrencyBalance >= towerSelected.TowerObject.TowerCost)
        {
            towerButtonPressed = towerSelected;

            // enable the sprite for following the mouse
            enableDragSprite(towerButtonPressed.DragSprite);
        }
    }
예제 #30
0
    public void PickTower(TowerButton towerBtn)
    {
        if (Currency >= towerBtn.Price && !WaveActive)
        {
            //Stores the clicked button
            this.ClickedBtn = towerBtn;

            //Activates the hover icon
            Hover.Instance.Activate(towerBtn.Sprite);
        }
    }
예제 #31
0
    void Start()
    {
        width = Map.instance.cellSize;

        //instantiate neon line
        chargeBarObj = Instantiate(Resources.Load("NeonLine")) as GameObject;
        chargeBarObj.transform.parent = transform;
        chargeBarObj.transform.localPosition = new Vector3(-(width/2f),-(width/2f), 0);
        chargeBarObj.transform.localScale = new Vector3(chargeBarObj.transform.localScale.x, 2f, 0);
        chargeRenderer = chargeBarObj.GetComponent<SpriteRenderer>();
        chargeGlowRenderer = chargeBarObj.transform.Find("Glow").GetComponent<SpriteRenderer>();

        UpdateChargeBarWidth();
        parentSize = transform.localScale.x;

        chargeRenderer.color = Color.white;
        chargeGlowRenderer.color = Color.white;

        //storing position for quick check during Update
        bottomLeft = new Vector2(chargeBarObj.transform.position.x,chargeBarObj.transform.position.y);

        //shrinking animation
        UIState.AddTowerSelectionListener(StopShrinking);
        towerButton =  transform.Find("TowerButtonCanvas/TowerButton")
                                        .gameObject.GetComponent<TowerButton>();
        towerButton.OnMouseDown += new TowerButton.OnMouseDownHandler(StartShrinking);
        towerButton.OnMouseUp += new TowerButton.OnMouseUpHandler(StopShrinking);
        //UIState.AddTowerSelectionListener(StopCoroutine);
    }