private void LoadEditedSkills(int targetId)
{
PlayerPrefs.SetInt("TargetId", targetId);
PlayerPrefs.Save();
SaveEditedSkills(HomePath.GetAbsolutePath("../../../edit_skills_bak.txt"));
CopyTableAndDslFiles();
PluginFramework.LoadTableConfig();
PredefinedSkill.Instance.ReBuild();
GfxSkillSystem.Instance.Reset();
GfxSkillSystem.Instance.ClearSkillInstancePool();
SkillSystem.SkillConfigManager.Instance.Clear();
GameObject actor = GameObject.Find("Editor_ActorRecord");
GameObject skills = GameObject.Find("Editor_SkillRecords");
if (null != actor && null != skills)
{
ActorRecord actorRecord = actor.GetComponent <ActorRecord>();
SkillRecords skillRecords = skills.GetComponent <SkillRecords>();
if (null != actorRecord && null != skillRecords)
{
List <int> args = new List <int>();
int actorId = actorRecord.id;
if (actorRecord.skill0 > 0)
{
args.Add(actorRecord.skill0);
}
if (actorRecord.skill1 > 0)
{
args.Add(actorRecord.skill1);
}
if (actorRecord.skill2 > 0)
{
args.Add(actorRecord.skill2);
}
if (actorRecord.skill3 > 0)
{
args.Add(actorRecord.skill3);
}
if (actorRecord.skill4 > 0)
{
args.Add(actorRecord.skill4);
}
if (actorRecord.skill5 > 0)
{
args.Add(actorRecord.skill5);
}
if (actorRecord.skill6 > 0)
{
args.Add(actorRecord.skill6);
}
if (actorRecord.skill7 > 0)
{
args.Add(actorRecord.skill7);
}
if (actorRecord.skill8 > 0)
{
args.Add(actorRecord.skill8);
}
RebuildVisualSkillInfo(actorId);
bool isValid = true;
if (string.IsNullOrEmpty(actorRecord.avatar))
{
Debug.LogErrorFormat("actor avatar is empty !!!");
isValid = false;
}
foreach (int skillId in args)
{
CheckEditedSkill(skillId, skillRecords.records, ref isValid);
}
if (isValid)
{
TableConfig.Actor actorInfo = TableConfig.ActorProvider.Instance.GetActor(actorId);
if (null == actorInfo)
{
actorInfo = new TableConfig.Actor();
actorInfo.id = actorId;
TableConfig.ActorProvider.Instance.ActorMgr.GetData().Add(actorId, actorInfo);
}
actorRecord.CopyTo(actorInfo);
foreach (SkillRecords.SkillRecord record in skillRecords.records)
{
TableConfig.Skill skillInfo = TableConfig.SkillProvider.Instance.GetSkill(record.id);
if (null == skillInfo)
{
skillInfo = new TableConfig.Skill();
skillInfo.id = record.id;
TableConfig.SkillProvider.Instance.SkillMgr.GetData().Add(record.id, skillInfo);
}
record.CopyTo(skillInfo);
}
if (args.Count > 1)
{
GfxStorySystem.Instance.SendMessage("reload", actorId, targetId, BoxedValue.From(args));
}
}
}
UnityEditor.EditorUtility.DisplayDialog("提示", "编辑英雄与技能加载完毕", "ok");
}
}