فهرست منبع

修改装备的所有已知bug

lcn 4 ماه پیش
والد
کامیت
18c7f0d7dc

+ 8 - 0
Assets/Res/UI/EqRecyclePanel.prefab

@@ -126,6 +126,14 @@ MonoBehaviour:
     - gameObject: {fileID: 0}
     - gameObject: {fileID: 0}
     - gameObject: {fileID: 0}
+  - key: rewardRoot
+    gameObject: {fileID: 1377245231049526165}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas:
+    - gameObject: {fileID: 0}
+    - gameObject: {fileID: 0}
+    - gameObject: {fileID: 0}
   isAssetBundle: 1
 --- !u!1 &597804199663922683
 GameObject:

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 144 - 589
Assets/Scenes/UIBuild.scene


+ 34 - 3
Assets/Scripts/GameLogic/Bag/BagController.cs

@@ -20,7 +20,7 @@ namespace GameLogic.Bag
         /// <summary>
         /// 外部访问用
         /// </summary>
-        // public List<ItemInfo> BagList => m_bagList;
+        public Dictionary<string, ItemInfo>  allBagDic => m_allBagDic;
 
 
         public void Init()
@@ -128,9 +128,11 @@ namespace GameLogic.Bag
 
         #endregion
 
-        public bool AddItem(int itemId, long count)
+        public bool AddItem(int itemId, long count, string guid = "")
         {
-            ItemInfo item = GetItemInfo(itemId);
+            string guidStr = string.IsNullOrEmpty(guid) ? itemId.ToString() : guid;
+            
+            ItemInfo item = GetItemInfo(itemId, guidStr);
             return AddItem(item, count);
         }
 
@@ -200,6 +202,35 @@ namespace GameLogic.Bag
             AddItem(eqItemInfo, count);
         }
 
+        /// <summary>
+        /// 重新加载一次所有装备
+        /// 一般用于,分解装备之后
+        /// </summary>
+        public void ReInitAllEqItem()
+        {
+            PlayerManager.Instance.eqController.allZyEqDic.Clear();
+            foreach (KeyValuePair<string,ItemInfo> keyValuePair in m_allBagDic)
+            {
+                PlayerManager.Instance.eqController.AddEquipment(keyValuePair.Value);
+            }
+        }
+
+        public void RemoveItem(ItemInfo itemInfo, bool saveNow, bool zeroDel)
+        {
+            itemInfo.count.Value = 0;
+            if (zeroDel)
+            {
+                m_allBagDic.Remove(itemInfo.guid);
+            }
+            AccountFileInfo.Instance.SaveItemData(itemInfo, saveNow);
+        }
+
+        public void ModifyItem(ItemInfo itemInfo, bool saveNow)
+        {
+            itemInfo.count.Value -= itemInfo.count.Value;
+            AccountFileInfo.Instance.SaveItemData(itemInfo, saveNow);
+        }
+
         /// <summary>
         /// 一般是掉了(随机)一个东西(ItemInfo),然后来背包找,是否之前掉过一样的
         /// 一般用于有guid的item

+ 5 - 0
Assets/Scripts/GameLogic/Bag/ItemInfo.cs

@@ -45,6 +45,11 @@ namespace GameLogic.Bag
             if (itemData.eqData != null && itemData.eqData.zyEqId != 0)
             {
                 eqInfo = new EquipmentInfo(itemData.eqData, this);
+                //TODO 如果数量=0,且是穿了的装备,设置数量=1(仅初始化生效),感觉不是很好,看后面有新思路没
+                if (count.Value == 0 && eqInfo.isWear)
+                {
+                    count.Value = 1;
+                }
             }
             
         }

+ 2 - 16
Assets/Scripts/GameLogic/Equipment/EquipmentController.cs

@@ -71,7 +71,7 @@ namespace GameLogic.Equipment
         public void Init(ItemInfo itemInfo)
         {
             AddEquipment(itemInfo);
-            if (itemInfo.eqInfo != null && itemInfo.eqInfo.isEquip)
+            if (itemInfo.eqInfo != null && itemInfo.eqInfo.isWear)
             {
                 AddToCurEquip(itemInfo, true);
             }
@@ -99,18 +99,6 @@ namespace GameLogic.Equipment
             zyEqAddAttributeDic[zy].hp = 0;
         }
 
-        /// <summary>
-        /// 生成装备的GUID
-        /// </summary>
-        /// <returns></returns>
-        // public long GenerateGUID()
-        // {
-        //     curGUID++;
-        //     AccountFileInfo.Instance.playerData.eqGUID = curGUID;
-        //     AccountFileInfo.Instance.SavePlayerData();
-        //     return curGUID;
-        // }
-
         /// <summary>
         /// 通过品质获取装备的额外参数,装备属性会叠加这个值
         /// </summary>
@@ -233,9 +221,7 @@ namespace GameLogic.Equipment
                             {
                                 AccountFileInfo.Instance.SaveItemData(itemInfo);
                             }
-                                
                         }
-                                    
                         break;
                     }
                 }
@@ -275,7 +261,7 @@ namespace GameLogic.Equipment
         /// <param name="eqItemInfo">装备item</param>
         public void EquipLogic(bool equip, ItemInfo eqItemInfo)
         {
-            eqItemInfo.eqInfo.isEquip = equip;
+            eqItemInfo.eqInfo.isWear = equip;
             if (equip)
             {
                 eqItemInfo.count.Value--;

+ 3 - 3
Assets/Scripts/GameLogic/Equipment/EquipmentInfo.cs

@@ -26,7 +26,7 @@ namespace GameLogic.Equipment
 
         public int dropLv;
         
-        public bool isEquip;
+        public bool isWear;
         
         public int Attack => m_Attack;
         public int Defense => m_Defense;
@@ -42,7 +42,7 @@ namespace GameLogic.Equipment
         public EquipmentInfo(AccountFileInfo.EqData eqData, ItemInfo itemInfo)
         {
             myItemInfo = itemInfo;
-            isEquip = eqData.isEquip;
+            isWear = eqData.isEquip;
             
             basicEquipConfig = ConfigComponent.Instance.Get<HeroBasicEquipConfig>(eqData.zyEqId);
             level = basicEquipConfig.lv;
@@ -145,7 +145,7 @@ namespace GameLogic.Equipment
                 zyEqId = basicEquipConfig.ID,
                 quality = quality,
                 // zy = zy,
-                isEquip = isEquip,
+                isEquip = isWear,
             };
             return eqData;
         }

+ 64 - 6
Assets/Scripts/GameLogic/Player/AccountFileInfo.cs

@@ -59,10 +59,10 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 
     
     /// <summary>
-    /// 初始化索引表
+    /// 重建索引表
     /// 主要给道具用,比较多,调用频繁
     /// </summary>
-    private void InitializeIndexMap()
+    private void RestoreIndexMap()
     {
         itemIndexMap.Clear();
         for (int i = 0; i < playerData.ItemListData.Count; i++)
@@ -108,7 +108,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
         JsonUtility.FromJsonOverwrite(data, playerData);
 #endif
         //初始化索引
-        InitializeIndexMap();
+        RestoreIndexMap();
     }
 
 
@@ -149,11 +149,25 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
     /// 保存item数据
     /// </summary>
     /// <param name="itemInfo"></param>
-    public void SaveItemData(ItemInfo itemInfo)
+    /// <param name="now">是否立即保存</param>
+    /// <param name="zeroDel">count为0时,是否删除</param>
+    public void SaveItemData(ItemInfo itemInfo, bool now = true)
     {
         
         if (itemIndexMap.TryGetValue(itemInfo.guid, out int index))
         {
+            // //count为零且需要立即删除时,移除Data并移除索引(也有count为0,不删除的情况,就走else的逻辑)
+            // if (itemInfo.count.Value == 0 && zeroDel)
+            // {
+            //     playerData.ItemListData.RemoveAt(index);
+            //     itemIndexMap.Remove(itemInfo.guid);
+            // }
+            // else
+            // {
+            //     // 快速找到索引,直接修改
+            //     playerData.ItemListData[index] = itemInfo.ToItemData();
+            // }
+            
             // 快速找到索引,直接修改
             playerData.ItemListData[index] = itemInfo.ToItemData();
         }
@@ -163,8 +177,12 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
             playerData.ItemListData.Add(itemInfo.ToItemData());
             itemIndexMap[itemInfo.guid] = playerData.ItemListData.Count - 1;
         }
+
+        if (now)
+        {
+            SavePlayerData();    
+        }
         
-        SavePlayerData();
         
         // if (itemInfo.guid == playerData.ItemListData[lastItemIdx].guid)
         // {
@@ -195,8 +213,45 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
     //     SavePlayerData();
     // }
 
-    public void SavePlayerData()
+
+
+
+    /// <summary>
+    /// 清除空数据,重建索引
+    /// </summary>
+    private void CleanEmptyData()
+    {
+        // 从后往前遍历,这样删除元素,可以一般循环,一遍删除
+        for (int i = playerData.ItemListData.Count - 1; i >= 0; i--)
+        {
+            ItemData itemData = playerData.ItemListData[i];
+            if (itemData.itemCount == 0)
+            {
+                //不是装备,删除
+                if (itemData.eqData == null || itemData.eqData.zyEqId == 0)
+                {
+                    playerData.ItemListData.RemoveAt(i);
+                    return;
+                }
+
+                //是装备,但是没有穿,删除
+                if (itemData.eqData != null && itemData.eqData.zyEqId != 0 && !itemData.eqData.isEquip)
+                {
+                    playerData.ItemListData.RemoveAt(i);
+                }
+            }
+        }
+        
+        RestoreIndexMap();
+    }
+    
+    public void SavePlayerData(bool clean = false)
     {
+        if (clean)
+        {
+            CleanEmptyData();
+        }
+        
         if (!string.IsNullOrEmpty(persistentDataPath))
         {
             string playerSettingJson = JsonManager.ToJson(playerData);
@@ -317,6 +372,9 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
     {
         // public string guid;
         // public int count;
+        /// <summary>
+        /// HeroBasicEquipConfig ID
+        /// </summary>
         public int zyEqId;
         // public int dropLv;
         public int quality;

+ 115 - 21
Assets/Scripts/GameUI/UI/Hero/EqRecyclePanel.cs

@@ -8,7 +8,10 @@ namespace Fort23.Mono
     public partial class EqRecyclePanel : UIPanel
     {
         
-        private string poolName = "eqItem";
+        private string eqItemPolPoolName = "eqItem";
+        private string awardItemPoolName = "awardItem";
+
+        private List<WidgetItem> pendingEqs = new List<WidgetItem>();
         private void Init()
         {
         }
@@ -21,17 +24,66 @@ namespace Fort23.Mono
         public override void AddButtonEvent()
         {
             btnBack.onClick.AddListener(OnclickClose);
+            btnRec.onClick.AddListener(OnClickRecycle);
+        }
+
+        private void OnClickRecycle()
+        {
+            foreach (WidgetItem widgetItem in pendingEqs)
+            {
+                ItemInfo itemInfo = BagController.Instance.allBagDic[widgetItem.itemInfo.guid];
+                if(itemInfo.count.Value - widgetItem.itemInfo.count.Value <= 0)
+                {
+                    //删除到0后,如果装备被穿了,不移除背包。
+                    if (itemInfo.eqInfo.isWear)
+                    {
+                        itemInfo.count.Value = 0;
+                        BagController.Instance.RemoveItem(itemInfo, false, false);
+                    }
+                    else{
+                        // BagController.Instance.allBagDic.Remove(widgetItem.itemInfo.guid);
+                        BagController.Instance.RemoveItem(itemInfo, false, true);
+                    }
+                }
+                else {
+                    // itemInfo.count.Value -= widgetItem.itemInfo.count.Value;
+                    BagController.Instance.ModifyItem(itemInfo, false);
+                }
+            }
+            
+            BagController.Instance.ReInitAllEqItem();
+
+            foreach (KeyValuePair<string,ItemInfo> keyValuePair in awardDic)
+            {
+                BagController.Instance.AddItem(keyValuePair.Value.itemID, keyValuePair.Value.count.Value, keyValuePair.Value.guid);
+            }
+            
+            AccountFileInfo.Instance.SavePlayerData(true);
+            
+            pendingEqs.Clear();
+            awardDic.Clear();
+            
         }
 
         private void OnclickClose()
         {
             UIManager.Instance.HideUIUIPanel(this);
-            UIManager.Instance.DormancyAllGComponent<WidgetItem>(poolName);
+            UIManager.Instance.DormancyAllGComponent<WidgetItem>(eqItemPolPoolName);
+            UIManager.Instance.DormancyAllGComponent<WidgetItem>(awardItemPoolName);
         }
 
+
+
+        /// <summary>
+        /// 回收奖励
+        /// </summary>
+        private Dictionary<string, ItemInfo> awardDic = new Dictionary<string, ItemInfo>();
+
         public async void InitEqRecyclePanel()
         {
             // GameObject eqGo = eqsUIObj[0] as GameObject;
+            pendingEqs.Clear();
+            awardDic.Clear();
 
             foreach (KeyValuePair<int,Dictionary<int,List<ItemInfo>>> keyValuePair in PlayerManager.Instance.eqController.allZyEqDic)
             {
@@ -39,35 +91,77 @@ namespace Fort23.Mono
                 {
                     foreach (ItemInfo itemInfo in valuePair.Value)
                     {
-                        if (itemInfo.eqInfo == null)
+                        if (!ValidityCheck(itemInfo))
                         {
                             continue;
                         }
-                        if (itemInfo.count.Value == 0)
-                        {
-                            LogTool.Log("装备只有1个,而且被穿了:" + itemInfo.eqInfo.isEquip);
-
-                            if (!itemInfo.eqInfo.isEquip)
-                            {
-                                LogTool.Log("不应该出现,数量为0的装备还未穿戴?需要检查:eqConfigID" 
-                                            + itemInfo.eqInfo.basicEquipConfig.ID
-                                            + "| itemID:" + itemInfo.itemID 
-                                            + "| guid:" + itemInfo.guid);
-                            }
-                            
-                            continue;     
-                        }
                         WidgetItem widgetItem = await UIManager.Instance.
                             CreateGComponentForObject<WidgetItem>(eqItem, null, isInstance : true, 
-                                poolName:poolName, root:itemRoot);
+                                poolName:eqItemPolPoolName, root:itemRoot);
                         widgetItem.InitWidget(itemInfo);
+                        
+                        pendingEqs.Add(widgetItem);
+
+                        for (int i = 0; i < itemInfo.eqInfo.basicEquipConfig.disItems.Length; i++)
+                        {
+                            AddToRecycleDic(itemInfo.eqInfo.basicEquipConfig.disItems[i], itemInfo.eqInfo.basicEquipConfig.disItems[i]);
+                        }
+                        
                     }
                 }
             }
+
+
+            foreach (KeyValuePair<string,ItemInfo> keyValuePair in awardDic)
+            {
+                WidgetItem awardItem = await UIManager.Instance.
+                    CreateGComponentForObject<WidgetItem>(recItem, null, isInstance : true, 
+                        poolName:awardItemPoolName, root:rewardRoot);
+                awardItem.InitWidget(keyValuePair.Value);
+            }
             
-            
-            
-            
+        }
+
+
+        private void AddToRecycleDic(int itemID, int count)
+        {
+            ItemInfo itemInfo = new ItemInfo(itemID, count);
+            if (awardDic.ContainsKey(itemInfo.guid))
+            {
+                awardDic[itemInfo.guid].count += count;
+            }
+            else {
+                awardDic.Add(itemInfo.guid, itemInfo);
+            }
+        }
+
+        /// <summary>
+        /// 装备有效性检查
+        /// </summary>
+        /// <param name="itemInfo"></param>
+        /// <returns></returns>
+        private bool ValidityCheck(ItemInfo itemInfo)
+        {
+            if (itemInfo.eqInfo == null)
+            {
+                return false;
+            }
+            if (itemInfo.count.Value <= 0)
+            {
+                LogTool.Log(itemInfo.count.Value +"装备只有1个,而且被穿了:" + itemInfo.eqInfo.isWear);
+
+                if (!itemInfo.eqInfo.isWear)
+                {
+                    LogTool.Log("不应该出现,数量为0的装备还未穿戴?需要检查:eqConfigID" 
+                                + itemInfo.eqInfo.basicEquipConfig.ID
+                                + "| itemID:" + itemInfo.itemID 
+                                + "| guid:" + itemInfo.guid);
+                }
+                            
+                return false;
+            }
+
+            return true;
         }
     }
 }

+ 11 - 0
Assets/Scripts/GameUI/UI/Hero/EqRecyclePanelData.cs

@@ -96,6 +96,17 @@ namespace Fort23.Mono
 	      return _btnRec;
 	     }
 	   }
+	  private RectTransform _rewardRoot;
+	  public RectTransform rewardRoot
+	   {
+	   get{
+	      if (_rewardRoot == null)
+	       {
+	         _rewardRoot  = GetUIUnit<RectTransform>("rewardRoot"); 
+	       }
+	      return _rewardRoot;
+	     }
+	   }
 	  #endregion 自定义数据结束 
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	{

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
Assets/StreamingAssets/assetConfig.txt


+ 11 - 11
UserSettings/EditorUserSettings.asset

@@ -21,31 +21,31 @@ EditorUserSettings:
       value: 184c
       flags: 0
     RecentlyUsedSceneGuid-0:
-      value: 5007050006035d0254085b7647700e44174e197c7c2c7668752f4436e1b3676c
+      value: 0009555e5400515f590b097412770f1140161d2b7d2977642e2b4a63b1e5636d
       flags: 0
     RecentlyUsedSceneGuid-1:
-      value: 5452000707020a0a0c0f092143220844144e402c2f2c71662e711836e0b2306a
+      value: 0509560200060a0c5908552040750b44444f1a7a2a7827327c2a1e63b3b4603c
       flags: 0
     RecentlyUsedSceneGuid-2:
-      value: 5a05505551515d03555a0d2316745d44444e412e2f712235292d1960b6b3663c
+      value: 020600005157590b5e595b7313215b44424e4b7f7b2b70337479486be6b46d39
       flags: 0
     RecentlyUsedSceneGuid-3:
-      value: 5701025003000c090c0c0d2643225b444015407c7d7074627b7c1c66e3b4613a
+      value: 5455050750515e025d5f5b2342770f4212164878792d2462282a4a62b1e5603d
       flags: 0
     RecentlyUsedSceneGuid-4:
-      value: 530404525401510d5f0b097b45200f4444154f297b2b7134787c4432b5b16d60
+      value: 0600055050050c595f0c097146200b44464f4c2f7c2c24627b2a4d35e6e4366c
       flags: 0
     RecentlyUsedSceneGuid-5:
-      value: 5b520d0503545b0d0c0c0a2715770748154f4d2c7d7d7e627a7d4a35b4e1646a
+      value: 0052555e0156080d0b0c097b4726594443154b287c7f76617b2b1830e1b5613b
       flags: 0
     RecentlyUsedSceneGuid-6:
-      value: 5a50500553530b595d0f597343770941474e4c722e2a20367e794861e1b86c68
+      value: 055303045d535e5d54080e721672094412154e7b757c71342e794b65b2e4616f
       flags: 0
     RecentlyUsedSceneGuid-7:
-      value: 5a500c0357030b0f0858097a44770f40154f4f2e2a2c743229794b64e0b56c6a
+      value: 5a50500553530b595d0f597343770941474e4c722e2a20367e794861e1b86c68
       flags: 0
     RecentlyUsedSceneGuid-8:
-      value: 055303045d535e5d54080e721672094412154e7b757c71342e794b65b2e4616f
+      value: 5a500c0357030b0f0858097a44770f40154f4f2e2a2c743229794b64e0b56c6a
       flags: 0
     RecentlyUsedSceneGuid-9:
       value: 5753045f5d005b5f0b0a082315715d44464e4b7b797125622e284430bbe66d68
@@ -57,10 +57,10 @@ EditorUserSettings:
       value: 18135939215a0a5004000b0e15254b524c030a3f2964643d120d1230e9e93a3fd6e826abbd2e2d293c4ead313b08042de6030a0afa240c0d020be94c4ba75e435d8715fa32c70d15d11612dacc11fee5d3c5d1fe9ab1bf968e93e2ffcbc3e7e2f0b3ffe0e8b0be9af8ffaeffff8e85dd8390e3949c8899daa7
       flags: 0
     UnityEditor.ShaderGraph.FloatingWindowsLayout2:
-      value: 181344140043005e1a220d3b1f364b524c0c5a27130c293326201334cee5322ca0bd30e8eb293a707b0fd0180b3d0a36fc0d3d04e649500d1002ee0b5dbd1d2c27c00ad113cb1e10e41f1addc80993b982988db381b2b4808789f4aaa0a3b9adb9b3a8c482a7eec9b0a0f0a5aecee8c2c7d9b2d08e9c9189ea9e93de81e0dbc9dc94dfcd9b9f9a8188dff4c3fac0f7f4c2f9f7c7c5f0cdfdc5c6d0f079f1f531343226ecece8e6d3ebef3fd22229d7df276a9b64
+      value: 181344140043005e1a220d3b1f364b524c0c5a27130c293326201334cee5322ca0bd30e8eb293a707b0fd0180b3d0a36fc0d3d04e649500d1002ee0b5dbd1d2c27c00ad113cb1e10e41f1addc80993b98d9884a69ae6d8f0d1cda9e8fbfefaf9f9dea3fdb9ade882f0f7b0e1e380cafbf2c3adc18e9cd285a2908b82ec869c8395949c9483d68a8d97ddbd90bf
       flags: 0
     UnityEditor.ShaderGraph.InspectorWindow:
-      value: 18135939215a0a5004000b0e15254b524c1119263f2d6a722016393ce1eb3d36e5d339f9a5602b2e2c07a37e0901373ae01e0008f707250d171df81a53a5485d41895ac825e0100ec20313c0d91cddccd3d0c7efcca9bd80908ff0a2a4a1bbaaa0a9f2a3f3f8aa93e6edf38e9ccbddc18390ac86d4849394ea829f83f291cb918384d28397d5888b89dcf2dff2c7f7f7c2f3f38b88
+      value: 18135939215a0a5004000b0e15254b524c1119263f2d6a722016393ce1eb3d36e5d339f9a5602b2e2c07a37e0901373ae01e0008f707250d171df81a53a5485d41895ac825e0100ec20313c0d91cddccd3d0c7efcca9bd81908fecb0f9cfddf1eff4e7a1b1eae482f0fcaee1e1928b86d888ed9195908797a7cf
       flags: 0
     vcSharedLogLevel:
       value: 0d5e400f0650

+ 181 - 181
UserSettings/Layouts/CurrentMaximizeLayout.dwlt

@@ -26,162 +26,9 @@ MonoBehaviour:
   m_MinSize: {x: 400, y: 100}
   m_MaxSize: {x: 32384, y: 16192}
   vertical: 0
-  controlID: 102929
+  controlID: 103088
   draggingID: 0
 --- !u!114 &2
-MonoBehaviour:
-  m_ObjectHideFlags: 52
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 0}
-  m_Enabled: 1
-  m_EditorHideFlags: 1
-  m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_MinSize: {x: 200, y: 200}
-  m_MaxSize: {x: 4000, y: 4000}
-  m_TitleContent:
-    m_Text: Game
-    m_Image: {fileID: 4621777727084837110, guid: 0000000000000000d000000000000000, type: 0}
-    m_Tooltip: 
-  m_Pos:
-    serializedVersion: 2
-    x: 118
-    y: 96
-    width: 428
-    height: 527.5
-  m_SerializedDataModeController:
-    m_DataMode: 0
-    m_PreferredDataMode: 0
-    m_SupportedDataModes: 
-    isAutomatic: 1
-  m_ViewDataDictionary: {fileID: 0}
-  m_OverlayCanvas:
-    m_LastAppliedPresetName: Default
-    m_SaveData: []
-    m_OverlaysVisible: 1
-  m_SerializedViewNames: []
-  m_SerializedViewValues: []
-  m_PlayModeViewName: GameView
-  m_ShowGizmos: 0
-  m_TargetDisplay: 0
-  m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
-  m_TargetSize: {x: 750, y: 1334}
-  m_TextureFilterMode: 0
-  m_TextureHideFlags: 61
-  m_RenderIMGUI: 1
-  m_EnterPlayModeBehavior: 0
-  m_UseMipMap: 0
-  m_VSyncEnabled: 0
-  m_Gizmos: 0
-  m_Stats: 0
-  m_SelectedSizes: 07000000000000000000000000000000000000000000000000000000000000000000000000000000
-  m_ZoomArea:
-    m_HRangeLocked: 0
-    m_VRangeLocked: 0
-    hZoomLockedByDefault: 0
-    vZoomLockedByDefault: 0
-    m_HBaseRangeMin: -187.5
-    m_HBaseRangeMax: 187.5
-    m_VBaseRangeMin: -333.5
-    m_VBaseRangeMax: 333.5
-    m_HAllowExceedBaseRangeMin: 1
-    m_HAllowExceedBaseRangeMax: 1
-    m_VAllowExceedBaseRangeMin: 1
-    m_VAllowExceedBaseRangeMax: 1
-    m_ScaleWithWindow: 0
-    m_HSlider: 0
-    m_VSlider: 0
-    m_IgnoreScrollWheelUntilClicked: 0
-    m_EnableMouseInput: 1
-    m_EnableSliderZoomHorizontal: 0
-    m_EnableSliderZoomVertical: 0
-    m_UniformScale: 1
-    m_UpDirection: 1
-    m_DrawArea:
-      serializedVersion: 2
-      x: 0
-      y: 21
-      width: 428
-      height: 506.5
-    m_Scale: {x: 0.7593703, y: 0.7593703}
-    m_Translation: {x: 214, y: 253.25}
-    m_MarginLeft: 0
-    m_MarginRight: 0
-    m_MarginTop: 0
-    m_MarginBottom: 0
-    m_LastShownAreaInsideMargins:
-      serializedVersion: 2
-      x: -281.81244
-      y: -333.5
-      width: 563.6249
-      height: 667
-    m_MinimalGUI: 1
-  m_defaultScale: 0.7593703
-  m_LastWindowPixelSize: {x: 856, y: 1055}
-  m_ClearInEditMode: 1
-  m_NoCameraWarning: 1
-  m_LowResolutionForAspectRatios: 01000000000000000000
-  m_XRRenderMode: 0
-  m_RenderTexture: {fileID: 0}
---- !u!114 &3
-MonoBehaviour:
-  m_ObjectHideFlags: 52
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 0}
-  m_Enabled: 1
-  m_EditorHideFlags: 1
-  m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_Children:
-  - {fileID: 4}
-  - {fileID: 8}
-  m_Position:
-    serializedVersion: 2
-    x: 0
-    y: 0
-    width: 429
-    height: 929
-  m_MinSize: {x: 100, y: 100}
-  m_MaxSize: {x: 8096, y: 16192}
-  vertical: 1
-  controlID: 102930
-  draggingID: 0
---- !u!114 &4
-MonoBehaviour:
-  m_ObjectHideFlags: 52
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 0}
-  m_Enabled: 1
-  m_EditorHideFlags: 1
-  m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: GameView
-  m_EditorClassIdentifier: 
-  m_Children: []
-  m_Position:
-    serializedVersion: 2
-    x: 0
-    y: 0
-    width: 429
-    height: 548.5
-  m_MinSize: {x: 201, y: 221}
-  m_MaxSize: {x: 4001, y: 4021}
-  m_ActualView: {fileID: 2}
-  m_Panes:
-  - {fileID: 5}
-  - {fileID: 2}
-  - {fileID: 6}
-  - {fileID: 7}
-  m_Selected: 1
-  m_LastSelected: 0
---- !u!114 &5
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -201,10 +48,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 118
-    y: 96
+    x: 0
+    y: 19
     width: 428
-    height: 527.5
+    height: 686.5
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -576,9 +423,9 @@ MonoBehaviour:
   m_PlayAudio: 0
   m_AudioPlay: 0
   m_Position:
-    m_Target: {x: -0.20259318, y: 0.32272974, z: 0.040965054}
+    m_Target: {x: 2.9949558, y: 2.7020545, z: -0.01349929}
     speed: 2
-    m_Value: {x: -0.20259318, y: 0.32272974, z: 0.040965054}
+    m_Value: {x: 2.9949558, y: 2.7020545, z: -0.01349929}
   m_RenderMode: 0
   m_CameraMode:
     drawMode: 0
@@ -628,9 +475,9 @@ MonoBehaviour:
     speed: 2
     m_Value: {x: 0, y: 0, z: 0, w: 1}
   m_Size:
-    m_Target: 1.387346
+    m_Target: 6.8337603
     speed: 2
-    m_Value: 1.387346
+    m_Value: 6.8337603
   m_Ortho:
     m_Target: 1
     speed: 2
@@ -657,6 +504,159 @@ MonoBehaviour:
   m_SceneVisActive: 1
   m_LastLockedObject: {fileID: 0}
   m_ViewIsLockedToObject: 0
+--- !u!114 &3
+MonoBehaviour:
+  m_ObjectHideFlags: 52
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 1
+  m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Children:
+  - {fileID: 4}
+  - {fileID: 8}
+  m_Position:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 429
+    height: 929
+  m_MinSize: {x: 100, y: 100}
+  m_MaxSize: {x: 8096, y: 16192}
+  vertical: 1
+  controlID: 103089
+  draggingID: 0
+--- !u!114 &4
+MonoBehaviour:
+  m_ObjectHideFlags: 52
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 1
+  m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: SceneView
+  m_EditorClassIdentifier: 
+  m_Children: []
+  m_Position:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 429
+    height: 707.5
+  m_MinSize: {x: 200, y: 200}
+  m_MaxSize: {x: 4000, y: 4000}
+  m_ActualView: {fileID: 2}
+  m_Panes:
+  - {fileID: 2}
+  - {fileID: 5}
+  - {fileID: 6}
+  - {fileID: 7}
+  m_Selected: 0
+  m_LastSelected: 1
+--- !u!114 &5
+MonoBehaviour:
+  m_ObjectHideFlags: 52
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 1
+  m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_MinSize: {x: 200, y: 200}
+  m_MaxSize: {x: 4000, y: 4000}
+  m_TitleContent:
+    m_Text: Game
+    m_Image: {fileID: 4621777727084837110, guid: 0000000000000000d000000000000000, type: 0}
+    m_Tooltip: 
+  m_Pos:
+    serializedVersion: 2
+    x: 116
+    y: 96
+    width: 428
+    height: 686.5
+  m_SerializedDataModeController:
+    m_DataMode: 0
+    m_PreferredDataMode: 0
+    m_SupportedDataModes: 
+    isAutomatic: 1
+  m_ViewDataDictionary: {fileID: 0}
+  m_OverlayCanvas:
+    m_LastAppliedPresetName: Default
+    m_SaveData: []
+    m_OverlaysVisible: 1
+  m_SerializedViewNames: []
+  m_SerializedViewValues: []
+  m_PlayModeViewName: GameView
+  m_ShowGizmos: 0
+  m_TargetDisplay: 0
+  m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
+  m_TargetSize: {x: 750, y: 1624}
+  m_TextureFilterMode: 0
+  m_TextureHideFlags: 61
+  m_RenderIMGUI: 1
+  m_EnterPlayModeBehavior: 0
+  m_UseMipMap: 0
+  m_VSyncEnabled: 0
+  m_Gizmos: 0
+  m_Stats: 0
+  m_SelectedSizes: 08000000000000000000000000000000000000000000000000000000000000000000000000000000
+  m_ZoomArea:
+    m_HRangeLocked: 0
+    m_VRangeLocked: 0
+    hZoomLockedByDefault: 0
+    vZoomLockedByDefault: 0
+    m_HBaseRangeMin: -187.5
+    m_HBaseRangeMax: 187.5
+    m_VBaseRangeMin: -406
+    m_VBaseRangeMax: 406
+    m_HAllowExceedBaseRangeMin: 1
+    m_HAllowExceedBaseRangeMax: 1
+    m_VAllowExceedBaseRangeMin: 1
+    m_VAllowExceedBaseRangeMax: 1
+    m_ScaleWithWindow: 0
+    m_HSlider: 0
+    m_VSlider: 0
+    m_IgnoreScrollWheelUntilClicked: 0
+    m_EnableMouseInput: 0
+    m_EnableSliderZoomHorizontal: 0
+    m_EnableSliderZoomVertical: 0
+    m_UniformScale: 1
+    m_UpDirection: 1
+    m_DrawArea:
+      serializedVersion: 2
+      x: 0
+      y: 21
+      width: 428
+      height: 665.5
+    m_Scale: {x: 0.8195813, y: 0.8195813}
+    m_Translation: {x: 214, y: 332.75}
+    m_MarginLeft: 0
+    m_MarginRight: 0
+    m_MarginTop: 0
+    m_MarginBottom: 0
+    m_LastShownAreaInsideMargins:
+      serializedVersion: 2
+      x: -261.10895
+      y: -406
+      width: 522.2179
+      height: 812
+    m_MinimalGUI: 1
+  m_defaultScale: 0.8195813
+  m_LastWindowPixelSize: {x: 856, y: 1373}
+  m_ClearInEditMode: 1
+  m_NoCameraWarning: 1
+  m_LowResolutionForAspectRatios: 01000000000000000000
+  m_XRRenderMode: 0
+  m_RenderTexture: {fileID: 0}
 --- !u!114 &6
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -941,11 +941,11 @@ MonoBehaviour:
   m_Position:
     serializedVersion: 2
     x: 0
-    y: 548.5
+    y: 707.5
     width: 429
-    height: 380.5
-  m_MinSize: {x: 101, y: 121}
-  m_MaxSize: {x: 4001, y: 4021}
+    height: 221.5
+  m_MinSize: {x: 100, y: 100}
+  m_MaxSize: {x: 4000, y: 4000}
   m_ActualView: {fileID: 9}
   m_Panes:
   - {fileID: 9}
@@ -971,10 +971,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 118
-    y: 644.5
+    x: 0
+    y: 726.5
     width: 428
-    height: 359.5
+    height: 200.5
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -1004,8 +1004,8 @@ MonoBehaviour:
     y: 0
     width: 294.5
     height: 929
-  m_MinSize: {x: 202, y: 221}
-  m_MaxSize: {x: 4002, y: 4021}
+  m_MinSize: {x: 200, y: 200}
+  m_MaxSize: {x: 4000, y: 4000}
   m_ActualView: {fileID: 11}
   m_Panes:
   - {fileID: 11}
@@ -1031,8 +1031,8 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 547
-    y: 96
+    x: 430
+    y: 19
     width: 292.5
     height: 908
   m_SerializedDataModeController:
@@ -1050,7 +1050,7 @@ MonoBehaviour:
       scrollPos: {x: 0, y: 0}
       m_SelectedIDs: 
       m_LastClickedID: 0
-      m_ExpandedIDs: 32b9efff36b9efffd2b9effff667f0ff0468f0ff2ef8f3ff38f8f3ff40f8f3ff82f8f3ff94f8f3ff7a42f4ff7e42f4ff8842f4ff5c45f4ff8890f4ff9690f4ffe09af4ff88f2f4ffae88f5ffb69ef5ffb0b9f5ff2a03f6ff2c03f6ff2e03f6ff5831f6fffc31f6ff0632f6ff9e32f6ff5435f6ffee41f6ffa242f6ffe244f6ff1847f6ffbe47f6ffb04bf6ff624ff6ff704ff6ff705bf6ff005cf6ffae5cf6ff5e6bf6ff606bf6ff626bf6ff6c6bf6ffaa6cf6ffbc6cf6ff4c8af6ff22c3f6ffe2c3f6ff2e8ff9ff3c8ff9ffb0a9f9ffb6a9f9ffecabf9ff48f4f9ff56f4f9ff08b0fdffdee8fdff02eafdff06eafdff12eafdffb0eafdff36ebfdff08eefdffcc0afeffce0afeffd00afeffda0afeff7216feffacbbffffbeccffffccccffff0ef8ffff4efaffffd28101009e900100f4b80100f0d801004cea0100d8150200f815020002160200
+      m_ExpandedIDs: 84baeaff92baeaffc4baeaffc8baeaff64bbeaff6240ebff7040ebffc24eebff0c4febffea61ebfff261ebff3462ebff4662ebfffaa8ebff08a9ebffd0abebffaec8ebffb2d5ebffb8f5ebffc2f5ebffcaf5ebff0cf6ebff1ef6ebffd83becffe63becff3e25edff32b9efff36b9efffd2b9effff667f0ff0468f0ff2ef8f3ff38f8f3ff40f8f3ff82f8f3ff94f8f3ff7a42f4ff7e42f4ff8842f4ff5c45f4ff8890f4ff9690f4ffe09af4ff88f2f4ffae88f5ffb69ef5ffb0b9f5ff2a03f6ff2c03f6ff2e03f6ff5831f6fffc31f6ff0632f6ff9e32f6ff5435f6ffee41f6ffa242f6ffe244f6ff1847f6ffbe47f6ffb04bf6ff624ff6ff704ff6ff705bf6ff005cf6ffae5cf6ff5e6bf6ff606bf6ff626bf6ff6c6bf6ffaa6cf6ffbc6cf6ff4c8af6ff22c3f6ffe2c3f6ff2e8ff9ff3c8ff9ffb0a9f9ffb6a9f9ffecabf9ff48f4f9ff56f4f9ff08b0fdffdee8fdff02eafdff06eafdff12eafdffb0eafdff36ebfdff08eefdffcc0afeffce0afeffd00afeffda0afeff7216feffacbbffffbeccffffccccffff0ef8ffff4efaffffd28101009e900100f4b80100f0d801004cea0100d8150200f8150200021602009819050064280500ba50050068760500387f050012820500
       m_RenameOverlay:
         m_UserAcceptedRename: 0
         m_Name: 
@@ -1066,7 +1066,7 @@ MonoBehaviour:
         m_IsRenaming: 0
         m_OriginalEventType: 11
         m_IsRenamingFilename: 0
-        m_ClientGUIView: {fileID: 0}
+        m_ClientGUIView: {fileID: 10}
       m_SearchString: 
     m_ExpandedScenes: []
     m_CurrenRootInstanceID: 0
@@ -1120,8 +1120,8 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 841.5
-    y: 96
+    x: 724.5
+    y: 19
     width: 379
     height: 908
   m_SerializedDataModeController:
@@ -1135,7 +1135,7 @@ MonoBehaviour:
     m_SaveData: []
     m_OverlaysVisible: 1
   m_SearchFilter:
-    m_NameFilter: 
+    m_NameFilter: eqr
     m_ClassNames: []
     m_AssetLabels: []
     m_AssetBundleNames: []
@@ -1147,7 +1147,7 @@ MonoBehaviour:
     m_Folders:
     - Assets/Editor
     m_Globs: []
-    m_OriginalText: 
+    m_OriginalText: eqr
     m_ImportLogFlags: 0
     m_FilterByTypeIntersection: 0
   m_ViewMode: 1
@@ -1217,7 +1217,7 @@ MonoBehaviour:
   m_ListAreaState:
     m_SelectedInstanceIDs: 
     m_LastClickedInstanceID: 0
-    m_HadKeyboardFocusLastEvent: 0
+    m_HadKeyboardFocusLastEvent: 1
     m_ExpandedInstanceIDs: d02e01001ef900002afc000092f80000f0f70000d8fa000046fa0000f0f80000dc5b0100d05b0100c85b0100cc5b01004a0b0100de0b0100de0a01009e0b0100220b01002a4201007a490100aa4401008a4301006a4e010088960000069a00008c8b0000728b000000000000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
@@ -1292,8 +1292,8 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 1222.5
-    y: 96
+    x: 1105.5
+    y: 19
     width: 421.5
     height: 908
   m_SerializedDataModeController:

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است