private void LoadViewedSkills(object[] fargs)
{
if (null != fargs && fargs.Length == 2)
{
int actorId = (int)fargs[0];
int targetId = (int)fargs[1];
PlayerPrefs.SetInt("ActorId", actorId);
PlayerPrefs.SetInt("TargetId", targetId);
PlayerPrefs.Save();
if (UnityEditor.EditorUtility.DisplayDialog("关键信息", "从文件加载数据将同时覆盖正在编辑的数据,继续吗?(如果之前的数据没有保存到表格文件里,请利用剪贴板拷到表格文件!)", "我确定要继续", "不要继续,我还没保存呢"))
{
SaveEditedSkills(HomePath.GetAbsolutePath("../../../edit_skills_bak.txt"));
CopyTableAndDslFiles();
m_CameraController.OnLevelWasLoaded(null);
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)
{
TableConfig.Actor actorInfo = TableConfig.ActorProvider.Instance.GetActor(actorId);
if (null != actorInfo)
{
List <int> args = new List <int>();
if (actorInfo.skill0 > 0)
{
args.Add(actorInfo.skill0);
}
if (actorInfo.skill1 > 0)
{
args.Add(actorInfo.skill1);
}
if (actorInfo.skill2 > 0)
{
args.Add(actorInfo.skill2);
}
if (actorInfo.skill3 > 0)
{
args.Add(actorInfo.skill3);
}
if (actorInfo.skill4 > 0)
{
args.Add(actorInfo.skill4);
}
if (actorInfo.skill5 > 0)
{
args.Add(actorInfo.skill5);
}
if (actorInfo.skill6 > 0)
{
args.Add(actorInfo.skill6);
}
if (actorInfo.skill7 > 0)
{
args.Add(actorInfo.skill7);
}
if (actorInfo.skill8 > 0)
{
args.Add(actorInfo.skill8);
}
RebuildVisualSkillInfo(actorId);
actorRecord.CopyFrom(actorInfo);
skillRecords.records.Clear();
foreach (int skillId in args)
{
AddViewedSkill(skillId, skillRecords.records);
}
GfxStorySystem.Instance.SendMessage("reload", actorId, targetId, BoxedValue.From(args));
}
}
}
UnityEditor.EditorUtility.DisplayDialog("提示", "从文件加载英雄与技能完毕", "ok");
}
}
}