Пример #1
0
 /// <summary>
 /// 预览临时坦克
 /// </summary>
 /// <param name="hideCurrentTank">是否隐藏当前坦克</param>
 private void PreviewTemporaryTank(bool hideCurrentTank = true)
 {
     CleanTemTankObj(false);
     if (hideCurrentTank)
     {
         CurrentTank.SetActive(false);
     }
     temTankObject = TemporaryAssemble.CreateTank(transform);
     SetupTankPos(temTankObject.transform, currentIndex);
     ResetExhibitionTank(temTankObject.transform);
 }
Пример #2
0
 /// <summary>
 /// 重置当前坦克
 /// </summary>
 /// <param name="cleanTemTank">是否清除临时坦克</param>
 public void ResetCurrentTank(bool cleanTemTank = true)
 {
     if (cleanTemTank)
     {
         CleanTemTankObj();
     }
     if (CurrentTank != null)
     {
         CurrentTank.SetActive(true);
         ResetTemTankAssemble();
     }
 }
Пример #3
0
 /// <summary>
 /// 选择当前坦克
 /// </summary>
 /// <param name="index">坦克索引值</param>
 public void SelectCurrentTank(int index)
 {
     if (CurrentTank != null)     // 重置上一个选中的坦克位置
     {
         CurrentTank.transform.SetParent(transform);
         CurrentTank.SetActive(true);
     }
     currentIndex = index;
     if (CurrentTank != null)
     {
         ResetCurrentTank();
         ResetExhibitionTank(CurrentTank.transform);
     }
 }
Пример #4
0
    private void UpdateUpgradeData(bool flashUpgradeText = false)
    {
        tankNameText.text = ScriptLocalization.Get(CurrentTank.name);
        //  Debug.Log("当前坦克是:"+ScriptLocalization.Get(CurrentTank.name));
        bool flag  = PlayerDataManager.IsTankLocked(CurrentTank);
        bool flag2 = PlayerDataManager.GetTankCardCount(CurrentTank) >= PlayerDataManager.GetCardsNeededForLevelUpCumulative(CurrentTank) && PlayerDataManager.GetTankUpgradeLevel(CurrentTank) < Variables.instance.tankLevelMinMax.max;
        int  coinsNeededForLevelUp = PlayerDataManager.GetCoinsNeededForLevelUp(CurrentTank);

        levelUpText.text = ScriptLocalization.Get("LevelUp");
        if (flag)
        {
            int num = Variables.instance.GetTankGemValue(CurrentTank);
            if (PlayerDataManager.HasActiveDailyOffer())
            {
                for (int i = 0; i != dailyOffers.Length; i++)
                {
                    if (dailyOffers[i] != null && dailyOffers[i].id.Equals(CurrentTank.id) && dailyOffers[i].discount > 0 && dailyOffers[i].currency == CurrencyType.Gems)
                    {
                        num = dailyOffers[i].price;
                        break;
                    }
                }
            }
            unlockPriceText.text = num.ToString();
        }
        upgradeButton.interactable = flag2;
        upgradeButton.gameObject.SetActive(!flag);
        upgradeHelperContainer.SetActive(!flag2 && !flag && PlayerDataManager.GetTankUpgradeLevel(CurrentTank) < Variables.instance.tankLevelMinMax.max);
        levelUpText.gameObject.SetActive(!flag);
        unlockButton.gameObject.SetActive(flag);
        unlockHelperContainer.SetActive(flag);
        upgradePriceText.text = ((coinsNeededForLevelUp > 0) ? "<size=50%>" + coinsNeededForLevelUp.ToString() : ScriptLocalization.Max);
        tankCard.SetValues(CurrentTank, PlayerDataManager.GetTankCardCount(CurrentTank), useNew: false, useStackSize: false, deductCount: false, useTankName: false);
        maxProgression  = Variables.instance.GetMaxProgression().maxStep;
        tankProgression = CurrentTank.GetProgression(PlayerDataManager.GetTankUpgradeLevel(CurrentTank));
        if (!MenuController.GetMenu <RewardCalendarPopup>().isActiveAndEnabled)
        {
            MenuController.UpdateTopMenu();
        }
    }