| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using Core.Language;
 
- using Excel2Json;
 
- using Fort23.Core;
 
- using Fort23.UTool;
 
- using GameLogic.Hero;
 
- using GameLogic.Player;
 
- using UnityEngine;
 
- using UnityEngine.UI;
 
- using Utility;
 
- namespace Fort23.Mono
 
- {
 
-     [UIBinding(prefab = "GongFaUpgradePanel")]
 
-     public partial class GongFaUpgradePanel : UIPanel
 
-     {
 
-         private SkillInfo _skillInfo;
 
-         private List<SkillConfig> configs;
 
-         List<GongFaUpgradeInfoWidget> _gongFaUpgradeInfoWidgets = new List<GongFaUpgradeInfoWidget>();
 
-         private List<SkillPowerupConfig> _skillPowerupConfigs;
 
-         // private SkillConstant skillConstant;
 
-         List<ItemWidgetType1> _itemWidgetType1 = new List<ItemWidgetType1>();
 
-         // List<EnergyWidget> _energyWidgets = new List<EnergyWidget>();
 
-         bool isUpStar = false;
 
-         bool isUpGrad = false;
 
-         private void Init()
 
-         {
 
-             isAddStack = true;
 
-             IsShowAppBar = false;
 
-         }
 
-         public async override CTask GetFocus()
 
-         {
 
-             // await AppBarPanel.OpenPanel(this);
 
-             base.GetFocus();
 
-         }
 
-         protected override void AddEvent()
 
-         {
 
-         }
 
-         protected override void DelEvent()
 
-         {
 
-         }
 
-         public override void AddButtonEvent()
 
-         {
 
-             Btn_Back.onClick.AddListener(() =>
 
-             {
 
-                 if (isUpStar || isUpGrad)
 
-                 {
 
-                     isUpStar = false;
 
-                     isUpGrad = false;
 
-                     UpdateStarBtn();
 
-                     return;
 
-                 }
 
-                 UIManager.Instance.HideUIUIPanel<GongFaUpgradePanel>();
 
-             });
 
-             Btn_UpGradeOk.onClick.AddListener(() => { UpgradeClick(); });
 
-             Btn_UpGrade.onClick.AddListener(() => { UpgradeClick(); });
 
-             Btn_UpStar.onClick.AddListener(() => { UpStarClick(); });
 
-             Btn_UpStarOk.onClick.AddListener(() => { UpStarClick(); });
 
-         }
 
-         private void UpStarClick()
 
-         {
 
-             if (!isUpStar)
 
-             {
 
-                 isUpStar = true;
 
-                 UpdateStarBtn();
 
-                 return;
 
-             }
 
-             if (_skillInfo.SkillData == null)
 
-             {
 
-                 return;
 
-             }
 
-             if (_skillInfo.SkillData.star > _gongFaUpgradeInfoWidgets.Count)
 
-             {
 
-                 TipMessagePanel.OpenTipMessagePanel("已经满星!");
 
-                 return;
 
-             }
 
-             ItemConfig itemConfig = ConfigComponent.Instance.Get<ItemConfig>(_skillInfo.skillConfig.PieceID);
 
-             SkillConstant skillConstant = ConfigComponent.Instance.Get<SkillConstant>(itemConfig.quality);
 
-             int count = skillConstant.SkillPromoteNeedPieceNum[_skillInfo.skillConfig.level - 1];
 
-             if (!PlayerManager.Instance.BagController.DeductItem(_skillInfo.skillConfig.PieceID, count))
 
-             {
 
-                 ItemSourcePanel.OpenPanel(_skillInfo.skillConfig.PieceID);
 
-                 TipMessagePanel.OpenTipMessagePanel("道具不足!");
 
-                 return;
 
-             }
 
-             _skillInfo.SkillData.star++;
 
-             _skillInfo.CustomInt(_skillInfo.SkillData);
 
-             CustomInit(_skillInfo);
 
-             foreach (var gongFaUpgradeInfoWidget in _gongFaUpgradeInfoWidgets)
 
-             {
 
-                 if (gongFaUpgradeInfoWidget._skillInfo.skillConfig.level == _skillInfo.skillConfig.level)
 
-                 {
 
-                     gongFaUpgradeInfoWidget.fx_ui_gongfa_tiaomu.gameObject.SetActive(true);
 
-                     gongFaUpgradeInfoWidget.fx_ui_gongfa_tiaomu.Play();
 
-                     break;
 
-                 }
 
-             }
 
-             AccountFileInfo.Instance.SavePlayerData();
 
-         }
 
-         private void UpgradeClick()
 
-         {
 
-             if (_skillInfo.SkillData == null)
 
-             {
 
-                 return;
 
-             }
 
-             if (!isUpGrad)
 
-             {
 
-                 isUpGrad = true;
 
-                 UpdateStarBtn();
 
-                 return;
 
-             }
 
-             if (_skillInfo.SkillData.level >= _skillPowerupConfigs.Count)
 
-             {
 
-                 TipMessagePanel.OpenTipMessagePanel("已经满级!");
 
-                 return;
 
-             }
 
-             if (PlayerManager.Instance.myHero.level.Value < _skillInfo.SkillPowerupConfig.PlayerLevelLimit)
 
-             {
 
-                 HeroPowerUpConfig heroPowerUpConfig =
 
-                     ConfigComponent.Instance.Get<HeroPowerUpConfig>(_skillInfo.SkillPowerupConfig.PlayerLevelLimit);
 
-                 TipMessagePanel.OpenTipMessagePanel(
 
-                     $"需境界达到{LanguageManager.Instance.Text(heroPowerUpConfig.jingjieLanIDs[0]) + LanguageManager.Instance.Text(heroPowerUpConfig.jingjieLanIDs[1]) + LanguageManager.Instance.Text(heroPowerUpConfig.jingjieLanIDs[2])}");
 
-                 return;
 
-             }
 
-             for (var i = 0; i < _skillInfo.SkillPowerupConfig.LevelupItem.Length; i++)
 
-             {
 
-                 if (!PlayerManager.Instance.BagController.IsEnough(_skillInfo.SkillPowerupConfig.LevelupItem[i],
 
-                         _skillInfo.SkillPowerupConfig.LevelupItemNum[i]))
 
-                 {
 
-                     ItemSourcePanel.OpenPanel(_skillInfo.SkillPowerupConfig.LevelupItem[i]);
 
-                     TipMessagePanel.OpenTipMessagePanel("道具不足!");
 
-                     return;
 
-                 }
 
-             }
 
-             //扣除道具
 
-             for (var i = 0; i < _skillInfo.SkillPowerupConfig.LevelupItem.Length; i++)
 
-             {
 
-                 PlayerManager.Instance.BagController.DeductItem(_skillInfo.SkillPowerupConfig.LevelupItem[i],
 
-                     _skillInfo.SkillPowerupConfig.LevelupItemNum[i]);
 
-             }
 
-             fx_ui_gongfa_shengji.gameObject.SetActive(true);
 
-             fx_ui_gongfa_shengji.Play();
 
-             _skillInfo.SkillData.level++;
 
-             _skillInfo.CustomInt(_skillInfo.SkillData);
 
-             CustomInit(_skillInfo);
 
-             AccountFileInfo.Instance.SavePlayerData();
 
-         }
 
-         public async void CustomInit(SkillInfo skillInfo)
 
-         {
 
-             foreach (var gongFaUpgradeInfoWidget in _gongFaUpgradeInfoWidgets)
 
-             {
 
-                 UIManager.Instance.DormancyGComponent(gongFaUpgradeInfoWidget);
 
-             }
 
-             _gongFaUpgradeInfoWidgets.Clear();
 
-             _skillInfo = skillInfo;
 
-             RedDotComType01.CustomInit(2, _skillInfo);
 
-             _skillPowerupConfigs = ConfigComponent.Instance.GetAll<SkillPowerupConfig>().ToList();
 
-             SkillConfig skillConfig = _skillInfo.skillConfig;
 
-             Icon_GongFaIcon.icon_name = skillConfig.icon;
 
-             Text_Level1.text = LanguageManager.Instance.Text(10222, _skillInfo.SkillPowerupConfig.ID.ToString());
 
-             Text_Level.text = LanguageManager.Instance.Text(10222, _skillInfo.SkillPowerupConfig.ID.ToString());
 
-             Text_SkillCd.text = LanguageManager.Instance.Text(10208, skillConfig.addcd);
 
-             // skillConstant = ConfigComponent.Instance.Get<SkillConstant>(1);
 
-             UpdateStarBtn();
 
-             // Text_GongFaDesc.text =
 
-             //     UtilTools.GetString(LanguageManager.Instance.Text(skillConfig.dec), _skillInfo.effectValue);
 
-             Text_GongFaName.text = LanguageManager.Instance.Text(skillConfig.name) + " ";
 
-             LayoutRebuilder.ForceRebuildLayoutImmediate(Text_GongFaName.GetComponent<RectTransform>());
 
-             LayoutRebuilder.ForceRebuildLayoutImmediate(Text_Level.GetComponent<RectTransform>());
 
-             LayoutRebuilder.ForceRebuildLayoutImmediate(Text_GongFaName.transform.parent.GetComponent<RectTransform>());
 
-             switch (skillConfig.attribute)
 
-             {
 
-                 case 1:
 
-                     csc.ChangeState(0);
 
-                     Icon_Attribute.icon_name = "dec_jin2";
 
-                     break;
 
-                 case 2:
 
-                     csc.ChangeState(1);
 
-                     Icon_Attribute.icon_name = "dec_mu2";
 
-                     break;
 
-                 case 4:
 
-                     csc.ChangeState(2);
 
-                     Icon_Attribute.icon_name = "dec_shui2";
 
-                     break;
 
-                 case 8:
 
-                     csc.ChangeState(3);
 
-                     Icon_Attribute.icon_name = "dec_huo2";
 
-                     break;
 
-                 case 16:
 
-                     csc.ChangeState(4);
 
-                     Icon_Attribute.icon_name = "dec_tu2";
 
-                     break;
 
-             }
 
-             for (var i = 0; i < StarRoot.Count; i++)
 
-             {
 
-                 MyImage icon = StarRoot[i] as MyImage;
 
-                 if (i < skillInfo.skillConfig.level - 1)
 
-                 {
 
-                     icon.gameObject.SetActive(true);
 
-                 }
 
-                 else
 
-                 {
 
-                     icon.gameObject.SetActive(false);
 
-                 }
 
-             }
 
-             List<SkillConfig> allSkillConfigs = ConfigComponent.Instance.GetAll<SkillConfig>().ToList();
 
-             configs = allSkillConfigs.Where(s => s.IDGroup == skillConfig.IDGroup).ToList();
 
-             for (var i = 0; i < configs.Count; i++)
 
-             {
 
-                 if (configs[i].level == 1)
 
-                     continue;
 
-                 SkillInfo skillInfo1 =
 
-                     new SkillInfo(configs[i].IDGroup, _skillInfo.SkillPowerupConfig.ID, configs[i].level);
 
-                 GongFaUpgradeInfoWidget gongFaUpgradeInfoWidget =
 
-                     await UIManager.Instance.CreateGComponent<GongFaUpgradeInfoWidget>(null, Content);
 
-                 gongFaUpgradeInfoWidget.CustomInit(_skillInfo, skillInfo1, false);
 
-                 _gongFaUpgradeInfoWidgets.Add(gongFaUpgradeInfoWidget);
 
-             }
 
-         }
 
-         private async CTask UpdateStarBtn()
 
-         {
 
-             foreach (var itemWidgetType1 in _itemWidgetType1)
 
-             {
 
-                 UIManager.Instance.DormancyGComponent(itemWidgetType1);
 
-             }
 
-             _itemWidgetType1.Clear();
 
-             // foreach (var energyWidget in _energyWidgets)
 
-             // {
 
-             //     UIManager.Instance.DormancyGComponent(energyWidget);
 
-             // }
 
-             //
 
-             // _energyWidgets.Clear();
 
-             if (isUpGrad)
 
-             {
 
-                 Btn_UpStar.gameObject.SetActive(false);
 
-                 Btn_UpGrade.gameObject.SetActive(false);
 
-                 Btn_UpStarOk.gameObject.SetActive(false);
 
-                 Btn_UpGradeOk.gameObject.SetActive(true);
 
-                 if (_skillInfo.SkillData.level < _skillPowerupConfigs.Count)
 
-                 {
 
-                     AccountFileInfo.SkillData skillData = new AccountFileInfo.SkillData();
 
-                     skillData.id = _skillInfo.SkillData.id;
 
-                     skillData.level = _skillInfo.SkillData.level + 1;
 
-                     skillData.star = _skillInfo.SkillData.star;
 
-                     SkillInfo nextSkillInfo = new SkillInfo(skillData);
 
-                     string[] effs = new string[_skillInfo.effectValue.Length];
 
-                     for (var i = 0; i < _skillInfo.effectValue.Length; i++)
 
-                     {
 
-                         if (_skillInfo.effectValue[i] == nextSkillInfo.effectValue[i])
 
-                         {
 
-                             effs[i] = FormatNumber(_skillInfo.effectValue[i]);
 
-                         }
 
-                         else
 
-                         {
 
-                             effs[i] =
 
-                                 $"{FormatNumber(_skillInfo.effectValue[i])}<color=green>→({FormatNumber(nextSkillInfo.effectValue[i])})</color>";
 
-                         }
 
-                     }
 
-                     Text_NextLevel.transform.parent.gameObject.SetActive(true);
 
-                     Text_NextLevel.text = LanguageManager.Instance.Text(10221, _skillInfo.SkillPowerupConfig.ID,
 
-                         nextSkillInfo.SkillPowerupConfig.ID);
 
-                     LayoutRebuilder.ForceRebuildLayoutImmediate(Text_NextLevel.GetComponent<RectTransform>());
 
-                     LayoutRebuilder.ForceRebuildLayoutImmediate(Text_NextLevel.transform.parent
 
-                         .GetComponent<RectTransform>());
 
-                     Text_GongFaDesc.text =
 
-                         UtilTools.GetString(LanguageManager.Instance.Text(_skillInfo.skillConfig.dec), effs);
 
-                     // Btn_UpGrade.GetComponent<RectTransform>().sizeDelta = new Vector2(481, 80);
 
-                     if (PlayerManager.Instance.myHero.level.Value < _skillInfo.SkillPowerupConfig.PlayerLevelLimit)
 
-                     {
 
-                         HeroPowerUpConfig heroPowerUpConfig =
 
-                             ConfigComponent.Instance.Get<HeroPowerUpConfig>(_skillInfo.SkillPowerupConfig
 
-                                 .PlayerLevelLimit);
 
-                         Text_UpGrade.text =
 
-                             $"需境界达到{LanguageManager.Instance.Text(heroPowerUpConfig.jingjieLanIDs[0]) + LanguageManager.Instance.Text(heroPowerUpConfig.jingjieLanIDs[1]) + LanguageManager.Instance.Text(heroPowerUpConfig.jingjieLanIDs[2])}";
 
-                         Btn_UpGradeOk.gameObject.transform.Gray(true);
 
-                         UpGradeItemRoot.SetActive(false);
 
-                     }
 
-                     else
 
-                     {
 
-                         Btn_UpGradeOk.gameObject.transform.RecoverColor();
 
-                         Text_UpGrade.text = LanguageManager.Instance.Text(10220);
 
-                         UpGradeItemRoot.SetActive(true);
 
-                         for (var i = 0; i < _skillInfo.SkillPowerupConfig.LevelupItem.Length; i++)
 
-                         {
 
-                             ItemWidgetType1 itemWidgetType1 =
 
-                                 await UIManager.Instance.CreateGComponentForObject<ItemWidgetType1>(ItemWidgetType1Gam,
 
-                                     null, UpGradeItemRoot.GetComponent<RectTransform>(), isInstance: true);
 
-                             itemWidgetType1.CustomInit(_skillInfo.SkillPowerupConfig.LevelupItem[i],
 
-                                 _skillInfo.SkillPowerupConfig.LevelupItemNum[i]);
 
-                             _itemWidgetType1.Add(itemWidgetType1);
 
-                             // EnergyWidget energyWidget =
 
-                             //     await UIManager.Instance.CreateGComponent<EnergyWidget>(null, EnergyRoot);
 
-                             // energyWidget.CustomInit(_skillInfo.SkillPowerupConfig.LevelupItem[i]);
 
-                             // _energyWidgets.Add(energyWidget);
 
-                         }
 
-                         // Text_GongFaDesc.text = UtilTools.GetString(LanguageManager.Instance.Text(_skillInfo.skillConfig.dec), _skillInfo.effectValue);
 
-                     }
 
-                 }
 
-                 else
 
-                 {
 
-                     Text_NextLevel.transform.parent.gameObject.SetActive(true);
 
-                     Text_NextLevel.text = LanguageManager.Instance.Text(10221, _skillInfo.skillConfig.level,
 
-                         "Max");
 
-                     Text_UpGrade.text = LanguageManager.Instance.Text(10264);
 
-                     // Btn_UpStarOk.gameObject.SetActive(false);
 
-                     UpGradeItemRoot.SetActive(false);
 
-                 }
 
-             }
 
-             if (isUpStar)
 
-             {
 
-                 foreach (var gongFaUpgradeInfoWidget in _gongFaUpgradeInfoWidgets)
 
-                 {
 
-                     gongFaUpgradeInfoWidget.SelectWidget(true);
 
-                 }
 
-                 Btn_UpStar.gameObject.SetActive(false);
 
-                 Btn_UpGrade.gameObject.SetActive(false);
 
-                 Btn_UpGradeOk.gameObject.SetActive(false);
 
-                 Btn_UpStarOk.gameObject.SetActive(true);
 
-                 if (_skillInfo.skillConfig.level < 6)
 
-                 {
 
-                     Btn_UpStarOk.gameObject.transform.RecoverColor();
 
-                     Text_UpStar.text = LanguageManager.Instance.Text(10219);
 
-                     UpStarItemRoot.SetActive(true);
 
-                     ItemConfig itemConfig = ConfigComponent.Instance.Get<ItemConfig>(_skillInfo.skillConfig.PieceID);
 
-                     SkillConstant skillConstant = ConfigComponent.Instance.Get<SkillConstant>(itemConfig.quality);
 
-                     int count = skillConstant.SkillPromoteNeedPieceNum[_skillInfo.skillConfig.level - 1];
 
-                     ItemWidgetType1 itemWidgetType1 =
 
-                         await UIManager.Instance.CreateGComponentForObject<ItemWidgetType1>(ItemWidgetType1Gam, null,
 
-                             UpStarItemRoot.GetComponent<RectTransform>(), isInstance: true);
 
-                     itemWidgetType1.CustomInit(_skillInfo.skillConfig.PieceID, count);
 
-                     _itemWidgetType1.Add(itemWidgetType1);
 
-                 }
 
-                 else
 
-                 {
 
-                     Btn_UpStarOk.transform.Gray(true);
 
-                     Text_UpStar.text = LanguageManager.Instance.Text(10265);
 
-                     // Btn_UpStarOk.gameObject.SetActive(false);
 
-                     UpStarItemRoot.SetActive(false);
 
-                 }
 
-             }
 
-             if (!isUpGrad && !isUpStar)
 
-             {
 
-                 Btn_UpGrade.gameObject.SetActive(true);
 
-                 Btn_UpStar.gameObject.SetActive(true);
 
-                 Btn_UpGradeOk.gameObject.SetActive(false);
 
-                 Btn_UpStarOk.gameObject.SetActive(false);
 
-                 UpStarItemRoot.SetActive(false);
 
-                 UpGradeItemRoot.SetActive(false);
 
-                 Text_UpStar.text = LanguageManager.Instance.Text(10219);
 
-                 Text_UpGrade.text = LanguageManager.Instance.Text(10220);
 
-                 Btn_UpGradeOk.gameObject.transform.RecoverColor();
 
-                 foreach (var gongFaUpgradeInfoWidget in _gongFaUpgradeInfoWidgets)
 
-                 {
 
-                     gongFaUpgradeInfoWidget.SelectWidget(false);
 
-                 }
 
-                 Text_NextLevel.transform.parent.gameObject.SetActive(false);
 
-                 string[] effs = new string[_skillInfo.effectValue.Length];
 
-                 for (var i = 0; i < _skillInfo.effectValue.Length; i++)
 
-                 {
 
-                     effs[i] = FormatNumber(_skillInfo.effectValue[i]);
 
-                 }
 
-                 Text_GongFaDesc.text = UtilTools.GetString(LanguageManager.Instance.Text(_skillInfo.skillConfig.dec),
 
-                     effs);
 
-             }
 
-             LayoutRebuilder.ForceRebuildLayoutImmediate(UpStarItemRoot.GetComponent<RectTransform>());
 
-             LayoutRebuilder.ForceRebuildLayoutImmediate(UpGradeItemRoot.GetComponent<RectTransform>());
 
-             LayoutRebuilder.ForceRebuildLayoutImmediate(Text_UpStar.GetComponent<RectTransform>());
 
-             LayoutRebuilder.ForceRebuildLayoutImmediate(Text_UpGrade.GetComponent<RectTransform>());
 
-             LayoutRebuilder.ForceRebuildLayoutImmediate(UpGradeItemRoot.transform.parent.GetComponent<RectTransform>());
 
-             LayoutRebuilder.ForceRebuildLayoutImmediate(UpStarItemRoot.transform.parent.GetComponent<RectTransform>());
 
-             LayoutRebuilder.ForceRebuildLayoutImmediate(Btn_UpGrade.GetComponent<RectTransform>());
 
-         }
 
-         public async static CTask<GongFaUpgradePanel> Open(SkillInfo skillInfo)
 
-         {
 
-             GongFaUpgradePanel gongFaUpgradePanel = await UIManager.Instance.LoadAndOpenPanel<GongFaUpgradePanel>(null);
 
-             gongFaUpgradePanel.CustomInit(skillInfo);
 
-             return gongFaUpgradePanel;
 
-         }
 
-         public async override CTask Close()
 
-         {
 
-             foreach (var gongFaUpgradeInfoWidget in _gongFaUpgradeInfoWidgets)
 
-             {
 
-                 UIManager.Instance.DormancyGComponent(gongFaUpgradeInfoWidget);
 
-             }
 
-             foreach (var itemWidgetType1 in _itemWidgetType1)
 
-             {
 
-                 UIManager.Instance.DormancyGComponent(itemWidgetType1);
 
-             }
 
-             //
 
-             // foreach (var energyWidget in _energyWidgets)
 
-             // {
 
-             //     UIManager.Instance.DormancyGComponent(energyWidget);
 
-             // }
 
-             //
 
-             // _energyWidgets.Clear();
 
-             fx_ui_gongfa_shengji.gameObject.SetActive(false);
 
-             _itemWidgetType1.Clear();
 
-             _gongFaUpgradeInfoWidgets.Clear();
 
-             isUpStar = false;
 
-             isUpGrad = false;
 
-             _skillInfo = null;
 
-             await base.Close();
 
-         }
 
-         public static string FormatNumber(double number)
 
-         {
 
-             const double tolerance = 1e-10;
 
-             // 判断是否接近整数
 
-             if (Math.Abs(number - Math.Round(number)) < tolerance)
 
-             {
 
-                 return Math.Round(number).ToString();
 
-             }
 
-             double integerPart = Math.Truncate(number);
 
-             double fraction = number - integerPart;
 
-             // 检查小数部分是否超过一位
 
-             double firstDigit = Math.Truncate(fraction * 10);
 
-             double remainder = fraction * 10 - firstDigit;
 
-             if (Math.Abs(remainder) > tolerance)
 
-             {
 
-                 return Math.Round(number, 1).ToString("0.0");
 
-             }
 
-             else
 
-             {
 
-                 return integerPart.ToString();
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |