using System.Collections; using System.Collections.Generic; using Excel2Json; using Fort23.UTool; using GameLogic.Bag; using GameLogic.Hero; using UnityEngine; using Utility; public class PlayerManager : Singleton { public List heroList = new List(); /// /// 上阵的英雄,也可以叫主力,替补英雄等级=主力英雄的最低等级(和afk一样的) /// public List heroListInLead = new List(); public GameConstantConfig gameConstantConfig; public long coin; public long diamond; public long heroExp; /// /// 上一个强化的英雄 /// public HeroInfo lastHeroInfo; public void Init() { gameConstantConfig = ConfigComponent.Instance.Get(1); AccountFileInfo.Instance.LoadPlayerData(); InitGameData(); } private void InitGameData() { InitBags(); InitHeroes(); } private void InitBags() { BagController.Instance.Init(); } private void InitHeroes() { for (int i = 0; i < AccountFileInfo.Instance.playerData.HeroListInLeadDatas.Count; i++) { AccountFileInfo.HeroData heroData = AccountFileInfo.Instance.playerData.HeroListInLeadDatas[i]; HeroInfo heroInfo = new HeroInfo(); heroInfo.InitHero(heroData); heroListInLead.Add(heroInfo); } } public void InitTestHero() { heroListInLead.Clear(); // AccountFileInfo.Instance.LoadPlayerData(); AccountFileInfo.HeroData heroData1 = new AccountFileInfo.HeroData { heroModelId = 105, heroPowerId = 1, heroPromoteId = 3 }; AccountFileInfo.HeroData heroData2 = new AccountFileInfo.HeroData { heroModelId = 107, heroPowerId = 1, heroPromoteId = 3 }; AccountFileInfo.HeroData heroData3 = new AccountFileInfo.HeroData { heroModelId = 116, heroPowerId = 1, heroPromoteId = 3 }; AccountFileInfo.HeroData heroData4 = new AccountFileInfo.HeroData { heroModelId = 113, heroPowerId = 1, heroPromoteId = 3 }; AccountFileInfo.Instance.playerData.HeroListInLeadDatas.Clear(); AccountFileInfo.Instance.playerData.HeroListInLeadDatas.Add(heroData1); AccountFileInfo.Instance.playerData.HeroListInLeadDatas.Add(heroData2); AccountFileInfo.Instance.playerData.HeroListInLeadDatas.Add(heroData3); AccountFileInfo.Instance.playerData.HeroListInLeadDatas.Add(heroData4); for (int i = 0; i < AccountFileInfo.Instance.playerData.HeroListInLeadDatas.Count; i++) { AccountFileInfo.HeroData heroData = AccountFileInfo.Instance.playerData.HeroListInLeadDatas[i]; HeroInfo heroInfo = new HeroInfo(); heroInfo.InitHero(heroData); heroListInLead.Add(heroInfo); } } public CombatHeroInfo GetHeroInfo(int modelID) { if (lastHeroInfo != null && lastHeroInfo.modelID == modelID) { return lastHeroInfo; } for (int i = 0; i < heroListInLead.Count; i++) { HeroInfo info = heroListInLead[i]; if (info.modelID == modelID) { return info; } } return null; } /// /// 保存英雄数据 /// /// public void SaveHeroData(HeroInfo heroInfo) { AccountFileInfo.Instance.SaveHeroData(heroInfo); // if (!QuickSaveHeroData(heroInfo)) // { // for (int i = 0; i < AccountFileInfo.Instance.playerData.HeroListInLeadDatas.Count; i++) // { // AccountFileInfo.HeroData heroData = AccountFileInfo.Instance.playerData.HeroListInLeadDatas[i]; // if (heroData.heroModelId == heroInfo.modelID) // { // AccountFileInfo.Instance.playerData.HeroListInLeadDatas[i] = heroInfo.ToHeroData(); // //存下来,用于快速查找 // leadHeroIdx = i; // AccountFileInfo.Instance.SavePlayerData(); // return; // } // } // } } }