|  | @@ -10,12 +10,13 @@ using Utility;
 | 
	
		
			
				|  |  |  #if UNITY_WEIXINMINIGAME
 | 
	
		
			
				|  |  |  using WeChatWASM;
 | 
	
		
			
				|  |  |  #endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |      public string persistentDataPath = Application.persistentDataPath + "/playerData.txt";
 | 
	
		
			
				|  |  |      public PlayerData playerData = new PlayerData();
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      /// <summary>
 | 
	
		
			
				|  |  |      /// 索引,用于快速查找
 | 
	
		
			
				|  |  |      /// </summary>
 | 
	
	
		
			
				|  | @@ -42,7 +43,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |          /// 是否全部阵亡一次
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          public bool isAllHeroDie;
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  |          /// 装备的GUID
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
	
		
			
				|  | @@ -58,7 +59,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |          // public List<HeroData> HeroListInBackDatas = new List<HeroData>();
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      /// <summary>
 | 
	
		
			
				|  |  |      /// 重建索引表
 | 
	
		
			
				|  |  |      /// 主要给道具用,比较多,调用频繁
 | 
	
	
		
			
				|  | @@ -72,7 +73,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      /// <summary>
 | 
	
		
			
				|  |  |      /// 加载玩家数据,一切数据:从这里开始
 | 
	
		
			
				|  |  |      /// </summary>
 | 
	
	
		
			
				|  | @@ -94,7 +95,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |              SavePlayerData();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  #else
 | 
	
		
			
				|  |  | - if (!File.Exists(persistentDataPath))
 | 
	
		
			
				|  |  | +        if (!File.Exists(persistentDataPath))
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              LogTool.Log("没有文件: " + persistentDataPath);
 | 
	
		
			
				|  |  |              ClearInitPlayerData();
 | 
	
	
		
			
				|  | @@ -154,7 +155,6 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |      /// <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的逻辑)
 | 
	
	
		
			
				|  | @@ -168,7 +168,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |              //     // 快速找到索引,直接修改
 | 
	
		
			
				|  |  |              //     playerData.ItemListData[index] = itemInfo.ToItemData();
 | 
	
		
			
				|  |  |              // }
 | 
	
		
			
				|  |  | -            
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              // 快速找到索引,直接修改
 | 
	
		
			
				|  |  |              playerData.ItemListData[index] = itemInfo.ToItemData();
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -181,7 +181,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |                      LogTool.Error("??? guid重复了" + itemInfo.itemID + "-" + itemData.guid);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              // 添加新数据并更新索引表
 | 
	
		
			
				|  |  |              playerData.ItemListData.Add(itemInfo.ToItemData());
 | 
	
		
			
				|  |  |              itemIndexMap[itemInfo.guid] = playerData.ItemListData.Count - 1;
 | 
	
	
		
			
				|  | @@ -189,10 +189,10 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          if (now)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            SavePlayerData();    
 | 
	
		
			
				|  |  | +            SavePlayerData();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          // if (itemInfo.guid == playerData.ItemListData[lastItemIdx].guid)
 | 
	
		
			
				|  |  |          // {
 | 
	
		
			
				|  |  |          //     playerData.ItemListData[lastItemIdx] = itemInfo.ToItemData();
 | 
	
	
		
			
				|  | @@ -212,7 +212,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |          //         return;
 | 
	
		
			
				|  |  |          //     }
 | 
	
		
			
				|  |  |          // }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          // playerData.ItemListData.Add(itemInfo.ToItemData());
 | 
	
		
			
				|  |  |          // SavePlayerData();
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -223,8 +223,6 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |      // }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      /// <summary>
 | 
	
		
			
				|  |  |      /// 清除空数据,重建索引
 | 
	
		
			
				|  |  |      /// </summary>
 | 
	
	
		
			
				|  | @@ -233,7 +231,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |          // 从后往前遍历,这样删除元素,可以一般循环,一遍删除
 | 
	
		
			
				|  |  |          for (int i = playerData.ItemListData.Count - 1; i >= 0; i--)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            string ss = "";
 | 
	
		
			
				|  |  | +            // string ss = "";
 | 
	
		
			
				|  |  |              ItemData itemData = playerData.ItemListData[i];
 | 
	
		
			
				|  |  |              if (itemData.itemCount == 0)
 | 
	
		
			
				|  |  |              {
 | 
	
	
		
			
				|  | @@ -241,31 +239,28 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |                  if (itemData.eqData == null || itemData.eqData.zyEqId == 0)
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  |                      playerData.ItemListData.RemoveAt(i);
 | 
	
		
			
				|  |  | -                    ss = "删除道具:" + itemData.guid;
 | 
	
		
			
				|  |  | -                    return;
 | 
	
		
			
				|  |  | +                    // ss = "删除道具:" + itemData.guid;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                //是装备,但是没有穿,删除
 | 
	
		
			
				|  |  | -                if (itemData.eqData != null && itemData.eqData.zyEqId != 0 && !itemData.eqData.isEquip)
 | 
	
		
			
				|  |  | +                else if (itemData.eqData != null && itemData.eqData.zyEqId != 0 && !itemData.eqData.isEquip)
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  | -                    ss = "删除装备:" + itemData.guid;
 | 
	
		
			
				|  |  | +                    // ss = "删除装备:" + itemData.guid;
 | 
	
		
			
				|  |  |                      playerData.ItemListData.RemoveAt(i);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                
 | 
	
		
			
				|  |  | -                LogTool.Log(ss);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                // LogTool.Log(ss);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          RestoreIndexMap();
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      public void SavePlayerData(bool clean = false)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |          if (clean)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              CleanEmptyData();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          if (!string.IsNullOrEmpty(persistentDataPath))
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              string playerSettingJson = JsonManager.ToJson(playerData);
 | 
	
	
		
			
				|  | @@ -273,7 +268,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |              WXFileSystemManager wxFileSystemManager = WX.GetFileSystemManager();
 | 
	
		
			
				|  |  |              wxFileSystemManager.WriteFileSync(persistentDataPath, playerSettingJson, "utf8");
 | 
	
		
			
				|  |  |  #else
 | 
	
		
			
				|  |  | - File.WriteAllText(persistentDataPath, playerSettingJson);
 | 
	
		
			
				|  |  | +            File.WriteAllText(persistentDataPath, playerSettingJson);
 | 
	
		
			
				|  |  |  #endif
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -285,7 +280,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |          SavePlayerData();
 | 
	
		
			
				|  |  |          ClearInitPlayerData();
 | 
	
		
			
				|  |  |  #else
 | 
	
		
			
				|  |  | - if (File.Exists(filePath))
 | 
	
		
			
				|  |  | +        if (File.Exists(filePath))
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              File.Delete(filePath); // 删除文件
 | 
	
		
			
				|  |  |              LogTool.Log($"文件已删除:{filePath}");
 | 
	
	
		
			
				|  | @@ -320,7 +315,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |              isLead = true,
 | 
	
		
			
				|  |  |          };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          playerData.HeroListData.Add(heroData1);
 | 
	
		
			
				|  |  |          // playerData.HeroListData.Add(heroData2);
 | 
	
		
			
				|  |  |          // playerData.HeroListData.Add(heroData3);
 | 
	
	
		
			
				|  | @@ -377,7 +372,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |              // eqData = null;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      /// <summary>
 | 
	
		
			
				|  |  |      /// 装备数据
 | 
	
		
			
				|  |  |      /// </summary>
 | 
	
	
		
			
				|  | @@ -390,6 +385,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |          /// HeroBasicEquipConfig ID
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          public int zyEqId;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          // public int dropLv;
 | 
	
		
			
				|  |  |          public int quality;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -397,7 +393,7 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 | 
	
		
			
				|  |  |          /// 是否穿了(职业装备)
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          public bool isEquip;
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          // /// <summary>
 | 
	
		
			
				|  |  |          // /// 穿在哪个职业身上
 | 
	
		
			
				|  |  |          // /// </summary>
 |