Browse Source

修改bug

lzx 1 day ago
parent
commit
fb4352ccba

+ 13 - 7
Assets/Scripts/GameLogic/Player/AccountFileInfo.cs

@@ -59,7 +59,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
         /// 英雄信息
         /// </summary>
         public HeroData heroData;
-        
+
         public List<DaoYouData> daoYouDatas = new List<DaoYouData>();
 
 
@@ -104,8 +104,8 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
         /// </summary>
         public List<EventList> eventList = new List<EventList>();
     }
-    
-    
+
+
     /// <summary>
     ///  道友数据
     /// </summary>
@@ -113,6 +113,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
     public class DaoYouData
     {
         public int id;
+
         /// <summary>
         /// 喜爱礼物
         /// </summary>
@@ -122,11 +123,12 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
         /// 好感等级
         /// </summary>
         public int favorabilityLv;
+
         /// <summary>
         /// 经验
         /// </summary>
         public int exp;
-        
+
         /// <summary>
         /// 已经领取奖励的好感等级
         /// </summary>
@@ -141,6 +143,9 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
         /// 心情刷新时间
         /// </summary>
         public long emotionTime;
+
+        //心情值
+        public int emotionValue;
     }
 
     //地图区域数据
@@ -438,7 +443,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
         playerData.ItemListData.Add(coin);
         playerData.ItemListData.Add(diamond);
         playerData.ItemListData.Add(heroExp);
-        
+
         // DaoYouData daoYouData = new DaoYouData();
         // daoYouData.id = 1;
         // daoYouData.favorabilityLv = 1;
@@ -448,7 +453,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
         //测试道具
         playerData.ItemListData.Add(new ItemData(1201, 10));
         playerData.ItemListData.Add(new ItemData(1202, 10));
-        
+
         playerData.ItemListData.Add(new ItemData(1301, 10));
         playerData.ItemListData.Add(new ItemData(1302, 10));
         playerData.ItemListData.Add(new ItemData(1303, 10));
@@ -458,6 +463,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
         playerData.ItemListData.Add(new ItemData(1402, 10));
         playerData.ItemListData.Add(new ItemData(1403, 10));
         playerData.ItemListData.Add(new ItemData(1404, 10));
+        playerData.ItemListData.Add(new ItemData(1601, 10));
 
         // var allSkill = new[] { 1101};
         // foreach (var i in allSkill)
@@ -533,7 +539,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
         public bool isCombat;
 
         public int TaoismSkillId;
-        
+
         public List<int> ImmortalBond = new List<int>();
     }
 

+ 1 - 0
Assets/Scripts/GameUI/EventManager/DialogueManager.cs

@@ -87,6 +87,7 @@ public class DialogueManager : Singleton<DialogueManager>
                     daoYouData.favorabilityLv = 1;
                     daoYouData.emotion = Random.Range(1, 4);
                     daoYouData.emotionTime = TimeHelper.ClientNow();
+                    daoYouData.emotionValue = (int)(100 / (float)daoYouData.emotion);
                     AccountFileInfo.Instance.playerData.daoYouDatas.Add(daoYouData);
                     AccountFileInfo.Instance.SavePlayerData();
                 }

+ 55 - 17
Assets/Scripts/GameUI/UI/DaoYouPanel/DaoYouInfoPanel.cs

@@ -129,33 +129,55 @@ namespace Fort23.Mono
                     return;
                 }
 
-                if (daoyouGiftConfig.ID == 0)
-                    return;
-
+                //加好感
+                if (widgetItem1 != null && daoyouGiftConfig.ID != 0)
+                {
+                    PlayerManager.Instance.BagController.DeductItem(daoyouGiftConfig.ItemID, count);
 
-                PlayerManager.Instance.BagController.DeductItem(daoyouGiftConfig.ItemID, count);
+                    emotionConfig emotionConfig = ConfigComponent.Instance.Get<emotionConfig>(daoYouData.emotion);
 
-                emotionConfig emotionConfig = ConfigComponent.Instance.Get<emotionConfig>(daoYouData.emotion);
+                    for (int i = 0; i < count; i++)
+                    {
+                        int bl = Random.Range(emotionConfig.hanganUpRate[0], emotionConfig.hanganUpRate[1] + 1);
+                        daoYouData.exp += (int)(daoyouGiftConfig.emotionValue * bl * 0.001f);
+                    }
 
-                for (int i = 0; i < count; i++)
-                {
-                    int bl = Random.Range(emotionConfig.hanganUpRate[0], emotionConfig.hanganUpRate[1] + 1);
-                    daoYouData.exp += (int)(daoyouGiftConfig.emotionValue * bl * 0.001f);
-                }
 
+                    DaoyouLevelupConfig[] configs = ConfigComponent.Instance.GetAll<DaoyouLevelupConfig>();
 
-                DaoyouLevelupConfig[] configs = ConfigComponent.Instance.GetAll<DaoyouLevelupConfig>();
+                    for (var i = daoYouData.favorabilityLv; i < configs.Length; i++)
+                    {
+                        if (daoYouData.exp >= configs[i].exp)
+                        {
+                            daoYouData.exp -= configs[i].exp;
+                            daoYouData.favorabilityLv++;
+                        }
+                    }
 
-                for (var i = daoYouData.favorabilityLv; i < configs.Length; i++)
+                    AccountFileInfo.Instance.SavePlayerData();
+                }
+                //加心情
+                else
                 {
-                    if (daoYouData.exp >= configs[i].exp)
+                    if (daoYouData.emotionValue >= 100)
                     {
-                        daoYouData.exp -= configs[i].exp;
-                        daoYouData.favorabilityLv++;
+                        TipMessagePanel.OpenTipMessagePanel("心情已经到最高");
+                        return;
                     }
+
+                    PlayerManager.Instance.BagController.DeductItem(widgetItem1.itemInfo.itemID, count);
+                    daoYouData.emotionValue += widgetItem1.itemInfo.config.associateVlaue[0];
+
+                    int emotionId = 4 - (int)(daoYouData.emotionValue / (100 / (float)3));
+                    if (emotionId > 3)
+                        emotionId = 3;
+                   
+                    daoYouData.emotion = emotionId;
+                    emotionConfig emotionConfig = ConfigComponent.Instance.Get<emotionConfig>(daoYouData.emotion);
+                    Text_message.text = LanguageManager.Instance.Text(emotionConfig.des);
                 }
 
-                AccountFileInfo.Instance.SavePlayerData();
+
                 UpdateUI();
                 UpdateGiveGiftRoot();
             });
@@ -315,6 +337,14 @@ namespace Fort23.Mono
                 }
             }
 
+            foreach (var keyValuePair in PlayerManager.Instance.BagController.allBagDic)
+            {
+                if (keyValuePair.Value.config.itemTag == 7 && !allItems.Contains(keyValuePair.Value))
+                {
+                    allItems.Add(keyValuePair.Value);
+                }
+            }
+
             List<ItemInfo> showItems = SaiXuan(saiXuanType);
             CreatItem(showItems);
         }
@@ -375,6 +405,7 @@ namespace Fort23.Mono
             }
 
             widgetItem1.InitWidget(widgetItem.itemInfo);
+            daoyouGiftConfig = default;
 
             foreach (var giftConfig in daoyouGiftConfigs)
             {
@@ -422,7 +453,14 @@ namespace Fort23.Mono
         {
             emotionConfig emotionConfig = ConfigComponent.Instance.Get<emotionConfig>(daoYouData.emotion);
             Text_Count.text = $"当前选择数量{count}";
-            Text_GiveGiftDesc.text = $"好感度+{daoyouGiftConfig.emotionValue} ({daoyouGiftConfig.emotionValue * emotionConfig.hanganUpRate[0] * 0.001} - {daoyouGiftConfig.emotionValue * emotionConfig.hanganUpRate[1] * 0.001})";
+            if (widgetItem1 != null && daoyouGiftConfig.ID != 0)
+            {
+                Text_GiveGiftDesc.text = $"好感度+{daoyouGiftConfig.emotionValue} ({daoyouGiftConfig.emotionValue * emotionConfig.hanganUpRate[0] * 0.001} - {daoyouGiftConfig.emotionValue * emotionConfig.hanganUpRate[1] * 0.001})";
+            }
+            else if (widgetItem1 != null && daoyouGiftConfig.ID == 0)
+            {
+                Text_GiveGiftDesc.text = $"心情+{widgetItem1.itemInfo.config.associateVlaue[0]} )";
+            }
         }
 
         public override CTask GetFocus()