/// <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); }
/// <summary> /// 重置当前坦克 /// </summary> /// <param name="cleanTemTank">是否清除临时坦克</param> public void ResetCurrentTank(bool cleanTemTank = true) { if (cleanTemTank) { CleanTemTankObj(); } if (CurrentTank != null) { CurrentTank.SetActive(true); ResetTemTankAssemble(); } }
/// <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); } }
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(); } }