Beispiel #1
0
    public void HasChanged()
    {
        GameObject    hovered = Hoverable.current.hoverObject;
        UpgradeButton upgrade = hovered.GetComponent <UpgradeButton>();
        Item          item    = hovered.GetComponent <Item>();

        if (upgrade != null)
        {
            string upgradeName = upgrade.upgradeName;
            print(upgradeName);
            title.text       = Upgrades.getTitle(upgradeName);
            cost.text        = "$" + Upgrades.getCost(upgradeName).ToString();
            pawnPrice.text   = "";
            description.text = Upgrades.getDescription(upgradeName);
            image.sprite     = upgrade.GetSprite();
        }
        else if (item != null)
        {
            string itemName = item.getItemName();
            print(itemName);
            title.text       = itemName;
            cost.text        = "$" + ItemInfo.itemStats[itemName]["sellPrice"].ToString();
            pawnPrice.text   = "Pawn: $" + ItemInfo.itemStats[itemName]["pawnPrice"].ToString();
            description.text = ItemInfo.itemDescription[itemName];
            image.sprite     = item.GetSprite();
        }
    }
Beispiel #2
0
        void IComponentConnector.Connect(int connectionId, object target)
        {
            switch (connectionId)
            {
            case 1:
                this.FeatureGroup = (FeatureGroup)target;
                return;

            case 2:
                this.InfoFooter = (ProfileInfoFooter)target;
                return;

            case 3:
                this.ConnectBtn = (Button)target;
                return;

            case 4:
                this.UpgradeBtn = (UpgradeButton)target;
                return;

            default:
                this._contentLoaded = true;
                return;
            }
        }
Beispiel #3
0
 private void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
 }
    void Start()
    {
        _towerExist        = false;
        _confirmed         = false;
        _towerIndex        = -1;
        _clearBeforeBattle = false;
        _currentTowerType  = -1;

        _levelManager    = GameManager.Instance.CurrentLevelManager;
        _gameBoard       = _levelManager.GameBoardSystem;
        _towerController = TowerController.Instance;

        _towerBuildPanel     = TowerBuildPanel.Instance;
        _towerOperationPanel = TowerOperationPanel.Instance;
        _towerInfoPanel      = TowerInfoPanel.Instance;
        _buildCheckPanel     = BuildCheckPanel.Instance;
        _notificationPanel   = NotificationPanel.Instance;

        _tankTowerButton  = TankTowerButton.Instance;
        _rangeTowerButton = RangeTowerButton.Instance;
        _slowTowerButton  = SlowTowerButton.Instance;
        _healTowerButton  = HealTowerButton.Instance;
        _goldTowerButton  = GoldTowerButton.Instance;

        _upgradeButton = UpgradeButton.Instance;
        _repairButton  = RepairButton.Instance;
        _sellButton    = SellButton.Instance;
        _yesButton     = BCP_Yes.Instance;

        TowerOperation = Operation.Nop;
    }
Beispiel #5
0
 public void TaskOnClick(UpgradeButton button)
 {
     if (Convert.ToInt64(button.upgrade.basePrice) <= gameStats.cookies && !button.upgrade.enabled && quantityMet(button.upgrade))
     {
         button.upgrade.enabled = true;
         gameStats.cookies     -= Convert.ToInt64(button.upgrade.basePrice);
         if (!(button.upgrade.upgradeType == "cursor" || button.upgrade.upgradeType == "clicking upgrades") || button.upgrade.name == "Reinforced index finger" || button.upgrade.name == "Carpal tunnel prevention cream" || button.upgrade.name == "Ambidextrous")
         {
             if (button.upgrade.upgradeType == "flavored cookies")
             {
                 string description        = button.upgrade.description;
                 string multiplierIncrease = new Regex("(?<=\\+)\\d+(?=%)").Match(description).Groups [0].ToString();
                 print(multiplierIncrease);
                 gameStats.cookiesPerSecondMultiplier *= 1.0m + decimal.Parse(multiplierIncrease) / 100.0m;
             }
             else
             {
                 buildingButtonHandler.findButtonWithName(button.upgrade.upgradeType == "grandma types" ? "grandma" : button.upgrade.upgradeType).cookiesPerSecondMultiplier *= 2;
             }
             if (button.upgrade.upgradeType == "cursor")
             {
                 gameStats.cookiesPerClickMultiplier *= 2;
             }
         }
     }
 }
Beispiel #6
0
 public void SetHoveredButton(UpgradeButton button, float cost)
 {
     if (currentlyHoveredButton != button)
     {
         currentlyHoveredButton = button;
         hoveredButtonCost      = cost;
     }
 }
Beispiel #7
0
    public void SaveUpgradeButton(UpgradeButton upgradeButton)
    {
        string key = upgradeButton.upgradeName;

        PlayerPrefs.SetInt(key + "_level", upgradeButton.level);
        PlayerPrefs.SetInt(key + "_moneyByUpgrade", upgradeButton.moneyByUpgrade);
        PlayerPrefs.SetInt(key + "_cost", upgradeButton.currentCost);
    }
Beispiel #8
0
        private static void UpdateThumbnail(UpgradeButton upgradeButton, UpgradeConfig upgradeConfig)
        {
            var thumbnail = upgradeConfig.IsAdded.Value
                ? upgradeConfig.ActiveThumbnail
                : upgradeConfig.InactiveThumbnail;

            upgradeButton.SetThumbnail(thumbnail);
        }
Beispiel #9
0
 private void FindComponents()
 {
     upgradeButton = GetComponentInChildren <UpgradeButton>();
     numShipsText  = GetComponentInChildren <TextMeshPro>();
     transform.Find(GameTags.outerBaseColliderName).GetComponent <MeshRenderer>().material = baseMaterial;
     baseSections = new List <Transform> (transform.Find(GameTags.outerBaseColliderName).GetComponentsInChildren <Transform>());
     UnityEngine.Debug.Log(baseSections);
 }
Beispiel #10
0
    public void LoadUpgradeButton(UpgradeButton upgradeButton)
    {
        string key = upgradeButton.upgradeName;

        upgradeButton.level         = PlayerPrefs.GetInt(key + "_level", 1);
        upgradeButton.goldByUpgrade = PlayerPrefs.GetInt(key + "_goldByUpgrade", upgradeButton.startGoldByUpgrade);
        upgradeButton.currentCost   = PlayerPrefs.GetInt(key + "_cost", upgradeButton.startCurrentCost);
    }
Beispiel #11
0
    public void LoadUpgradeButton(UpgradeButton upgradeButton)
    {
        string key = upgradeButton.upgradeName;



        upgradeButton.goldByUpgrade = PlayerPrefs.GetInt(key + "_goldByUpgrade", upgradeButton.startGoldByUpgrade);
    }
Beispiel #12
0
 public void FillUpgrades()
 {
     foreach (Upgrade upgrade in GameLogic.instance.upgrades)
     {
         UpgradeButton upgradeButton = Instantiate(upgradeUIPrefab, upgradeGridParent).GetComponent <UpgradeButton>();
         upgradeButton.Initiate(upgrade);
     }
 }
Beispiel #13
0
 /// <summary>
 /// Only clears the hovered button if the button specified matches the currently hovered button
 /// Wasn't sure if there were going to be race conditions, so I set this up.
 /// </summary>
 /// <param name="button"></param>
 public void ClearHoveredButton(UpgradeButton button)
 {
     if (button == currentlyHoveredButton)
     {
         currentlyHoveredButton = null;
         hoveredButtonCost      = -1f;
     }
 }
Beispiel #14
0
    public void SaveUpgradeButton(UpgradeButton upgradeButton)
    {
        string key = upgradeButton.upgradeName;

        PlayerPrefs.SetInt(key + "_level", upgradeButton.level);
        PlayerPrefs.SetInt(key + "_goldByUpgrade", upgradeButton.startGoldByUpgrade);
        PlayerPrefs.SetInt(key + "_cost", upgradeButton.startCurrentCost);
    }
    // UpgradeButton들을 Save하는 함수
    public void SaveUpgradeButton(UpgradeButton upgradeButton)
    {
        string key = upgradeButton.upgradeName;

        // Level, GoldPerClick, Cost를 저장한다.
        PlayerPrefs.SetInt(key + "_level", upgradeButton.level);
        PlayerPrefs.SetInt(key + "_goldByUpgrade", upgradeButton.goldByUpgrade);
        PlayerPrefs.SetInt(key + "_cost", upgradeButton.currentCost);
    }
Beispiel #16
0
    UpgradeButton GetButtonScript(Button btn)
    {
        UpgradeButton result = null;

        if (btn != null)
        {
            result = btn.GetComponentInParent <UpgradeButton>();
        }

        return(result);
    }
Beispiel #17
0
    /// <summary>
    ///     This function increase gain generate by tap
    /// </summary>
    /// <param name="button">Button who call function</param>
    public void IncreaseTapGain(UpgradeButton button)
    {
        if (money >= (ulong)button.currentPrice)
        {
            money -= (ulong)button.currentPrice;
            button.upgradeLevel += 1;

            currentTapGain = (ulong)(defaultTapGain + (defaultTapGain * (ulong)button.upgradeLevel) * 0.4f);

            button.UpdatePrice();
        }
    }
        public void LoadStartMenu(GraphicsDevice graphicsDevice, ContentManager content, int screenWidth, Texture2D startMenuBackgroundSprite, Texture2D startButtonSprite, Texture2D upgradeButtonSprite, Texture2D exitButtonSprite)
        {
            //Load Background
            backgroundSprite   = startMenuBackgroundSprite;
            backgroundPosition = new Vector2(0, 0);

            //Load Buttons

            startButton   = new StartButton(startButtonSprite, screenWidth, graphicsDevice);
            upgradeButton = new UpgradeButton(upgradeButtonSprite, screenWidth, graphicsDevice);
            exitButton    = new ExitButton(exitButtonSprite, screenWidth, graphicsDevice);
        }
Beispiel #19
0
 /// <summary>
 /// Metoda ukrywa lub wyświetla przycisku w zależności od ilości gotówki
 /// </summary>
 void DisplayAvailableBuildingButtons(BigInteger money)
 {
     Button[] upgradeButtons = BuildingButtonPanel.GetComponentsInChildren <Button>(true);
     foreach (Button upgradeButton in upgradeButtons)
     {
         UpgradeButton script = GetButtonScript(upgradeButton);
         if (script != null)
         {
             upgradeButton.gameObject.SetActive(script.GetBuildingCost() > money ? false : true);
         }
     }
 }
Beispiel #20
0
 public void ActivateTowerControl(Tower tower)
 {
     RightPanel.SetActive(true);
     TowerToEdit = tower;
     if (TowerToEdit.Level == TowerToEdit.Damage.Length - 1)
     {
         UpgradeButton.SetActive(false);
     }
     else
     {
         UpgradeButton.SetActive(true);
     }
     UpdateTowerInfo();
 }
    protected void Start()
    {
        position           = new Vector2Int((int)Mathf.Floor(transform.position.x), (int)Mathf.Floor(transform.position.y));
        transform.position = new Vector2(position.x + .5f, position.y + .5f);

        monsterManager  = FindObjectOfType <MonsterManager>();
        turretManager   = FindObjectOfType <TurretManager>();
        cameraManager   = FindObjectOfType <CameraManager>();
        upgradeButton   = turretMenu.transform.Find("UpgradeButton").GetComponent <UpgradeButton>();
        upgradeCostText = upgradeButton.transform.Find("UpgradeCost").GetComponent <Text>();
        sellButton      = turretMenu.transform.Find("SellButton").GetComponent <SellButton>();
        sellPriceText   = sellButton.transform.Find("SellPrice").GetComponent <Text>();
        UpdateButtons();
    }
Beispiel #22
0
 public void TryToBuyUpgrade(UpgradeButton upgradeButton)
 {
     if (upgradeButton.linkedUpgrade.cost <= money)
     {
         money -= upgradeButton.linkedUpgrade.cost;
         FmodAudioTriggerManager.instance.PlayCashSound();
         UpdateMoneyUI();
         ApplyUpgrade(upgradeButton.linkedUpgrade);
         upgradeButton.UpgradeBought();
     }
     else
     {
         FmodAudioTriggerManager.instance.PlayNegativeSound();
     }
 }
Beispiel #23
0
    /// <summary>
    ///     This function add one level to the player and calculates new xp objective and new max trader number
    /// </summary>
    /// <param name="button">Button who call function</param>
    public void AddTrader(UpgradeButton button)
    {
        if (money >= (ulong)button.currentPrice)
        {
            money               -= (ulong)button.currentPrice;
            numberOfTrader      += 1;
            button.upgradeLevel += 1;
            TraderUI trader = Instantiate(traderPrefab, traderParent).GetComponent <TraderUI>();
            trader.InitUI(numberOfTrader);
            button.UpdatePrice();
        }

        if (numberOfTrader == _maxTrader)
        {
            button.GetComponent <Button>().interactable = false;
        }
    }
        void IComponentConnector.Connect(int connectionId, object target)
        {
            switch (connectionId)
            {
            case 1:
                this.BrowserStartOption = (ComboBox)target;
                return;

            case 2:
                this.No = (ComboBoxItem)target;
                return;

            case 3:
                this.Yes = (ComboBoxItem)target;
                return;

            case 4:
                this.yesIncognito = (ComboBoxItem)target;
                return;

            case 5:
                this.CountryComboBox = (ComboBox)target;
                this.CountryComboBox.AddHandler(UserSelectionChangedBehavior.UserSelectionChangedEvent, new UserSelectionChangedEventHandler(this.OnCountrySelectionChanged));
                return;

            case 6:
                this.FeatureGroup = (FeatureGroup)target;
                return;

            case 7:
                this.InfoFooter = (ProfileInfoFooter)target;
                return;

            case 8:
                this.ConnectBtn = (Button)target;
                return;

            case 9:
                this.UpgradeBtn = (UpgradeButton)target;
                return;

            default:
                this._contentLoaded = true;
                return;
            }
        }
    public void UpgradeBuy()
    {
        if (PlayerStats.Gold >= UpgradeData.UpgradeCost)
        {
            SoundManager.instance.PlaySound(SoundsDatabase.AudioClips["BuySound"], volume: 0.05f);
            UpgradeButton currentUpgradeScript = UpgradeData.UpgradedScript.GetComponent <UpgradeButton>();

            currentUpgradeScript.Bought = true;


            if (UpgradeData.UpgradeType == UpgradeTypes.Drill)
            {
                PlayerStats.DrillLevel    = UpgradeData.UpgradeLevel;
                PlayerStats.MaxDrillLevel = UpgradeData.UpgradeLevel;
                _drillLevel.ChangeDrillLevelIndication();
            }
            else if (UpgradeData.UpgradeType == UpgradeTypes.FuelTank)
            {
                PlayerStats.MaxFuel = (UpgradeData.UpgradeLevel + _oneOffset) * _upgradeOffset * _upgradeOffset;
                _fuelBar.MutateResource(PlayerStats.MaxFuel - PlayerStats.Fuel);
            }
            else if (UpgradeData.UpgradeType == UpgradeTypes.Health)
            {
                PlayerStats.MaxHealth = (UpgradeData.UpgradeLevel + _oneOffset) * _upgradeOffset;
                _healthBar.MutateResource(PlayerStats.MaxHealth - PlayerStats.Health);
            }

            if (OnUpgradeBought != null)
            {
                OnUpgradeBought();
            }

            currentUpgradeScript.SetButtons();

            _gold.MutateGold(-UpgradeData.UpgradeCost);

            _purchaseScreen.SetActive(true);
            _upgradeText.text = "Upgraded " + UpgradeData.UpgradeType + " for $" + UpgradeData.UpgradeCost + ".";
        }
        else
        {
            SoundManager.instance.PlaySound(SoundsDatabase.AudioClips["BuyErrorSound"], volume: 0.05f);
            _purchaseScreen.SetActive(true);
            _upgradeText.text = "Purchase failed, you don't have enough money.";
        }
    }
Beispiel #26
0
    void UpdateUpgrades()
    {
        while (UpgradeRoot.childCount > 0)
        {
            GameObject child = UpgradeRoot.GetChild(0).gameObject;
            child.transform.SetParent(null);
            GameObject.Destroy(child);
        }
        UserData userData = CookieGameManager.Instance.UserData;

        for (int i = 0; i < (int)ProcessType.COUNT; ++i)
        {
            ProcessType    processType = (ProcessType)i;
            BuildingConfig config      = CookieGameManager.Instance.ConfigData.configData[i];
            if (config)
            {
                int currentLevel = userData.processData[i].level;
                if (currentLevel < config.levels.Length - 1)
                {
                    if (userData.processData[i].count >= config.levels[currentLevel + 1].minCount)
                    {
                        GameObject upgradeObj = GameObject.Instantiate(UpgradePrefab);
                        upgradeObj.transform.SetParent(UpgradeRoot);
                        upgradeObj.SetActive(true);
                        Button button = upgradeObj.GetComponent <Button>();
                        if (button)
                        {
                            button.onClick.AddListener(() =>
                            {
                                if (userData.cookieCount > config.levels[currentLevel + 1].cost && purchaseTask == null)
                                {
                                    purchaseTask = CookieServer.Instance.PurchaseUpgrade(CookieGameManager.Instance.UserId, processType);
                                }
                            });
                        }
                        UpgradeButton upgradeButton = upgradeObj.GetComponent <UpgradeButton>();
                        if (upgradeButton)
                        {
                            upgradeButton.Init(config.levels[currentLevel + 1].displayName, config.levels[currentLevel + 1].cost);
                        }
                    }
                }
            }
        }
    }
Beispiel #27
0
    void InitButtons()
    {
        upgradeButtons     = new UpgradeButton[5];
        upgradeButtons [0] = new UpgradeButton("Increase maximum health", healthButton, 10);
        upgradeButtons [0].button.GetComponent <Button> ().onClick.AddListener(UpgradeHealth);

        upgradeButtons [1] = new UpgradeButton("Increase ship speed", speedButton, 5);
        upgradeButtons [1].button.GetComponent <Button> ().onClick.AddListener(UpgradeSpeed);

        upgradeButtons [2] = new UpgradeButton("Increase gun power", damageButton, 20);
        upgradeButtons [2].button.GetComponent <Button> ().onClick.AddListener(UpgradeDamage);

        upgradeButtons [3] = new UpgradeButton("Increase gun fire rate", fireRateButton, 5);
        upgradeButtons [3].button.GetComponent <Button> ().onClick.AddListener(UpgradeFireRate);

        upgradeButtons [4] = new UpgradeButton("Restore health", restoreButton, 1);
        upgradeButtons [4].button.GetComponent <Button> ().onClick.AddListener(RestoreHealth);
    }
Beispiel #28
0
        void IComponentConnector.Connect(int connectionId, object target)
        {
            switch (connectionId)
            {
            case 1:
                this.SecurStatus = (Label)target;
                return;

            case 2:
                this.SignalStatus = (Label)target;
                return;

            case 3:
                this.WifiLabel = (Label)target;
                return;

            case 4:
                this.HotspotComboBox = (ComboBox)target;
                this.HotspotComboBox.SelectionChanged += new SelectionChangedEventHandler(this.HotspotComboBox_OnSelectionChanged);
                return;

            case 5:
                this.FeatureGroup = (FeatureGroup)target;
                return;

            case 6:
                this.InfoFooter = (ProfileInfoFooter)target;
                return;

            case 7:
                this.ConnectBtn = (Button)target;
                return;

            case 8:
                this.UpgradeBtn = (UpgradeButton)target;
                return;

            default:
                this._contentLoaded = true;
                return;
            }
        }
Beispiel #29
0
    /// <summary>
    ///     This function reduce the time between each trader's gain
    /// </summary>
    /// <param name="button">Button who call function</param>
    public void LowerSpeed(UpgradeButton button)
    {
        if (money >= (ulong)button.currentPrice)
        {
            money -= (ulong)button.currentPrice;
            button.upgradeLevel += 1;

            if (currentSpeed <= 0.25f)
            {
                currentSpeed = 0.1f;
                button.GetComponent <Button>().interactable = false;
            }
            else
            {
                currentSpeed = (defaultSpeed - (defaultSpeed * button.upgradeLevel) * 0.02f);
            }

            button.UpdatePrice();
        }
    }
Beispiel #30
0
        public void UpgradeTower()
        {
            if (TowerToEdit.UpgradeCost > Money)
            {
                ThrowMoneyMessage();
                return;
            }

            TowerToEdit.Upgrade();
            SpendMoney(TowerToEdit.UpgradeCost);
            if (TowerToEdit.Level == TowerToEdit.Damage.Length - 1)
            {
                UpgradeButton.SetActive(false);
            }
            else
            {
                UpgradeButton.SetActive(true);
            }
            LevelUpSound.Play();
            UpdateTowerInfo();
        }