Pārlūkot izejas kodu

功法升级 大道选择

lzx 2 dienas atpakaļ
vecāks
revīzija
e9a64fa677

+ 2 - 0
Assets/Scripts/GameLogic/Player/AccountFileInfo.cs

@@ -395,6 +395,8 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
         public long upTime;
 
         public bool isCombat;
+
+        public int TaoismSkillId;
     }
 
     [System.Serializable]

+ 6 - 3
Assets/Scripts/GameUI/UI/CombatPanel/SkillSelectPanel.cs

@@ -46,6 +46,8 @@ namespace Fort23.Mono
 
         public override void AddButtonEvent()
         {
+            Btn_ChangeRoad.onClick.AddListener(() => { SkillRoadSelecPanel.OpenPanel(); });
+
             Btn_Setting.onClick.AddListener(() =>
             {
                 GongFaSettingRoot.SetActive(true);
@@ -421,7 +423,7 @@ namespace Fort23.Mono
 
             for (var i = 0; i < PlayerManager.Instance.GongFaControl.allUseSkill.Length; i++)
             {
-                if (PlayerManager.Instance.GongFaControl.allUseSkill != null)
+                if (PlayerManager.Instance.GongFaControl.allUseSkill[i] != null)
                 {
                     count++;
                 }
@@ -443,12 +445,13 @@ namespace Fort23.Mono
                 int count = 0;
                 for (var i = 0; i < PlayerManager.Instance.GongFaControl.allUseSkill.Length; i++)
                 {
-                    if (PlayerManager.Instance.GongFaControl.allUseSkill != null)
+                    if (PlayerManager.Instance.GongFaControl.allUseSkill[i] != null)
                     {
                         count++;
                     }
                 }
-                if(count >= 4)
+
+                if (count >= 4)
                     return;
                 if (PlayerManager.Instance.GongFaControl.allUseSkill.Contains(skillWidget.skillConfigId))
                 {

+ 79 - 17
Assets/Scripts/GameUI/UI/GongFaUpgradePanel/SkillRoadSelecPanel.cs

@@ -1,24 +1,86 @@
+using System.Collections.Generic;
+using System.Linq;
+using Core.Language;
+using Excel2Json;
+using Fort23.UTool;
+
 namespace Fort23.Mono
 {
-	[UIBinding(prefab = "SkillRoadSelecPanel"  )]
-	public partial class SkillRoadSelecPanel : UIPanel
-	{
-		private void Init()
-		{
+    [UIBinding(prefab = "SkillRoadSelecPanel")]
+    public partial class SkillRoadSelecPanel : UIPanel
+    {
+        List<SkillRoadWidget> _skillRoadWidgets = new List<SkillRoadWidget>();
+
+        private void Init()
+        {
+        }
+
+        protected override void AddEvent()
+        {
+        }
+
+        protected override void DelEvent()
+        {
+        }
+
+        public override void AddButtonEvent()
+        {
+            Btn_Close.onClick.AddListener(() =>
+            {
+                UIManager.Instance.HideUIUIPanel(this );
+            });
+        }
+
+        public async void CustomInit()
+        {
+            List<SkillConfig> skillConfigs = ConfigComponent.Instance.GetAll<SkillConfig>().ToList();
+
+            List<SkillConfig> configs = skillConfigs.Where(s => s.SkillType == 4).ToList();
+            foreach (var skillConfig in configs)
+            {
+                SkillRoadWidget skillRoadWidget = await UIManager.Instance.CreateGComponent<SkillRoadWidget>(null, Content);
+                skillRoadWidget.CustomInti(skillConfig.ID);
+                skillRoadWidget.onClick = OnClick;
+                _skillRoadWidgets.Add(skillRoadWidget);
+            }
+
+            if (PlayerManager.Instance.myHero.TaoismSkillId == 0)
+            {
+                Text_SkillName.text = "未选择";
+            }
+            else
+            {
+                SkillConfig skillConfig = ConfigComponent.Instance.Get<SkillConfig>(PlayerManager.Instance.myHero.TaoismSkillId);
+                Text_SkillName.text = LanguageManager.Instance.Text(skillConfig.name);
+                Icon_SkillIcon.icon_name = skillConfig.icon;
+            }
+        }
 
-		}
-		protected override void AddEvent()
-		{
+        private void OnClick(ItemWidgetBasic obj)
+        {
+            SkillRoadWidget skillRoadWidget = obj as SkillRoadWidget;
+            PlayerManager.Instance.GongFaControl.SetTaoismSkillIndex(skillRoadWidget.SkillConfig.ID);
+            PlayerManager.Instance.myHero.heroData.TaoismSkillId = skillRoadWidget.SkillConfig.ID;
+            AccountFileInfo.Instance.SavePlayerData();
+            UIManager.Instance.HideUIUIPanel(this);
+        }
 
-		}
-		protected override void DelEvent()
-		{
+        public async static void OpenPanel()
+        {
+            SkillRoadSelecPanel skillRoadSelecPanel = await UIManager.Instance.LoadAndOpenPanel<SkillRoadSelecPanel>(null);
+            skillRoadSelecPanel.CustomInit();
+        }
 
-		}
-		public override void AddButtonEvent()
-		{
+        public override void Close()
+        {
+            foreach (var skillRoadWidget in _skillRoadWidgets)
+            {
+                UIManager.Instance.DormancyGComponent(skillRoadWidget);
+            }
 
-		}
+            _skillRoadWidgets.Clear();
 
-	}
-}
+            base.Close();
+        }
+    }
+}

+ 62 - 0
Assets/Scripts/GameUI/UI/GongFaUpgradePanel/SkillRoadSelecPanelData.cs

@@ -0,0 +1,62 @@
+using Fort23.Core;
+using Fort23.UTool;
+using UnityEngine.UI;
+using UnityEngine;
+using System.Collections.Generic;
+namespace Fort23.Mono
+{
+	public partial class SkillRoadSelecPanel 
+	{
+	  #region 自定义数据 
+	  private Button _Btn_Close;
+	  public Button Btn_Close
+	   {
+	   get{
+	      if (_Btn_Close == null)
+	       {
+	         _Btn_Close  = GetUIUnit<Button>("Btn_Close"); 
+	       }
+	      return _Btn_Close;
+	     }
+	   }
+	  private Text _Text_SkillName;
+	  public Text Text_SkillName
+	   {
+	   get{
+	      if (_Text_SkillName == null)
+	       {
+	         _Text_SkillName  = GetUIUnit<Text>("Text_SkillName"); 
+	       }
+	      return _Text_SkillName;
+	     }
+	   }
+	  private MyImage _Icon_SkillIcon;
+	  public MyImage Icon_SkillIcon
+	   {
+	   get{
+	      if (_Icon_SkillIcon == null)
+	       {
+	         _Icon_SkillIcon  = GetUIUnit<MyImage>("Icon_SkillIcon"); 
+	       }
+	      return _Icon_SkillIcon;
+	     }
+	   }
+	  private RectTransform _Content;
+	  public RectTransform Content
+	   {
+	   get{
+	      if (_Content == null)
+	       {
+	         _Content  = GetUIUnit<RectTransform>("Content"); 
+	       }
+	      return _Content;
+	     }
+	   }
+	  #endregion 自定义数据结束 
+	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
+	{
+	 await base.SetUIGameObject(gObjectPoolInterface);
+	 Init();
+	}
+	}
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/GongFaUpgradePanel/SkillRoadSelecPanelData.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: DX4Z53uoAi3Qcee6dJjawo3jurQb5k8xMSDZqHFjRvAUZ6+0Y94QZGODGwnd
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Scripts/GameUI/UI/GongFaUpgradePanel/SkillRoadWidget.cs

@@ -1,5 +1,7 @@
+using Core.Language;
 using Excel2Json;
 using Fort23.UTool;
+using Utility;
 
 namespace Fort23.Mono
 {
@@ -27,6 +29,12 @@ namespace Fort23.Mono
         public void CustomInti(int id)
         {
             SkillConfig = ConfigComponent.Instance.Get<SkillConfig>(id);
+
+            Text_SkillName.text = LanguageManager.Instance.Text(SkillConfig.name);
+            Icon_SkillIcon.icon_name = SkillConfig.icon;
+            Text_Desc.text = UtilTools.GetString(LanguageManager.Instance.Text(SkillConfig.PromoteLan),SkillConfig.effectValue);
+            
+            ActiveRoot.SetActive(PlayerManager.Instance.myHero.TaoismSkillId == SkillConfig.ID);
         }
     }
 }

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
Assets/StreamingAssets/assetConfig.txt


Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels