public static void UseSkillArt(SkillUnit.SkillArt oart) { SkillArt art = EditorDataContainer.currentskillAssetData.skillArt; DataConvert.ConvertSkillArt(art, oart); string effectName = EditorDataContainer.GetStringById(oart.unitEffect.effect); if (art.unitEffect == null) { art.unitEffect = new List <SkillEffectUnit>(); } if (art.unitEffect.Count == 0) { art.unitEffect.Add(new SkillEffectUnit()); } art.unitEffect[0].artEffect.effectObj = AssetUtility.GetSkillEffect(art.modelType, art.modelName, effectName); string hitEffectName = EditorDataContainer.GetStringById(oart.hitEffect.effect); if (art.hitEffect == null) { art.hitEffect = new List <SkillEffectUnit>(); } if (art.hitEffect.Count == 0) { art.hitEffect.Add(new SkillEffectUnit()); } art.hitEffect[0].artEffect.effectObj = AssetUtility.GetSkillEffect(art.modelType, art.modelName, hitEffectName); if (art.tipEffect == null) { art.tipEffect = new List <SkillEffectUnit>(); } if (art.tipEffect.Count == 0) { art.tipEffect.Add(new SkillEffectUnit()); } art.tipEffect[0].artEffect.effectObj = AssetUtility.GetSkillEffect(art.modelType, art.modelName, hitEffectName); for (int i = 0; i < oart.beginEffect.Count; i++) { string beginEffectName = EditorDataContainer.GetStringById(oart.beginEffect[i].effect); art.beginEffect[i].artEffect.effectObj = AssetUtility.GetSkillEffect(art.modelType, art.modelName, beginEffectName); } }
public static void SaveCurrentSkillUnitToList() { int id = currentskillAssetData.skillUnit.id; for (int i = 0; i < allSkillUnits.units.Count; i++) { if (allSkillUnits.units[i].id == id) { DataConvert.ConvertSkillUnit(allSkillUnits.units[i], currentskillAssetData.skillUnit); for (int j = 0; j < allSkillUnits.arts.Count; j++) { if (allSkillUnits.units[i].artId == allSkillUnits.arts[j].id) { allSkillUnits.arts[j] = DataConvert.ConvertSkillArt(EditorDataContainer.currentskillAssetData.skillArt); return; } } return; } } }
private void OnGUI() { EditorGUILayout.BeginVertical(); EditorGUILayout.LabelField("输入技能id数字或id名称搜索"); id = EditorGUILayout.IntField("id数字:", id); idName = EditorGUILayout.TextField("id名称:", idName); if (GUILayout.Button("id数字搜索并应用", GUILayout.Height(40))) { if (id > 0 && EditorDataContainer.allSkillUnits.units.Count > id) { idName = EditorDataContainer.GetSkillStringById(id); DataConvert.ConvertSkillUnit(EditorDataContainer.currentskillAssetData.skillUnit, EditorDataContainer.allSkillUnits.units[id]); int curart = EditorDataContainer.currentskillAssetData.skillUnit.artId; SkillUnit.SkillArt oart = EditorDataContainer.allSkillUnits.arts[curart]; DataConvert.ConvertSkillArt(EditorDataContainer.currentskillAssetData.skillArt, oart); EditorDataContainer.UseSkillArt(oart); } } if (GUILayout.Button("id名字搜索并应用", GUILayout.Height(40))) { id = EditorDataContainer.GetSkillIdByString(idName); if (id > 0 && EditorDataContainer.allSkillUnits.units.Count > id) { DataConvert.ConvertSkillUnit(EditorDataContainer.currentskillAssetData.skillUnit, EditorDataContainer.allSkillUnits.units[id]); int curart = EditorDataContainer.currentskillAssetData.skillUnit.artId; SkillUnit.SkillArt oart = EditorDataContainer.allSkillUnits.arts[curart]; DataConvert.ConvertSkillArt(EditorDataContainer.currentskillAssetData.skillArt, oart); EditorDataContainer.UseSkillArt(oart); } } if (GUILayout.Button("Close", GUILayout.Height(40))) { Close(); } EditorGUILayout.EndVertical(); }
private void DrawButtons() { //使用选择的技能参数 if (GUILayout.Button(new GUIContent("Use Choose Unit\n加载选择的技能数据", "使用选择的技能Unit"), GUILayout.Height(40))) { DataConvert.ConvertSkillUnit(EditorDataContainer.currentskillAssetData.skillUnit, EditorDataContainer.allSkillUnits.units[SelectSkillUnit]); int curart = EditorDataContainer.currentskillAssetData.skillUnit.artId; SkillUnit.SkillArt oart = EditorDataContainer.allSkillUnits.arts[curart]; DataConvert.ConvertSkillArt(EditorDataContainer.currentskillAssetData.skillArt, oart); EditorDataContainer.UseSkillArt(oart); } //使用选择的技能参数 if (GUILayout.Button(new GUIContent("Use Choose Skill Art\n加载选择的特效数据", "使用选择的技能数据填充当前技能数据"), GUILayout.Height(40))) { SkillUnit.SkillArt oart = EditorDataContainer.allSkillUnits.arts[SelectSkillArt]; EditorDataContainer.UseSkillArt(oart); } if (GUILayout.Button(new GUIContent("Generate Sequence\n生成序列", "生成序列"), GUILayout.Height(40))) { EditorDataContainer.GenerateSequence(EditorDataContainer.currentskillAssetData); Close(); } if (GUILayout.Button(new GUIContent("Generate SkillData\n生成技能数据", "由当前序列生成技能数据对象"), GUILayout.Height(40))) { if (CurrentSequence != null) { EditorDataContainer.currentskillAssetData = EditorDataContainer.MakeSkillAssetData(CurrentSequence); Debug.Log(EditorDataContainer.currentskillAssetData.skillArt.beginEffect.Count); Reset(); } } if (GUILayout.Button("Search\n搜索技能", GUILayout.Height(40))) { var window = GetWindow <SearchWindow>(); window.Show(); } if (GUILayout.Button("Save Asset\n保存技能为Asset", GUILayout.Height(40))) { EditorDataContainer.SaveSkillAssetData(); } if (GUILayout.Button("Load Asset\n加载Asset技能文件", GUILayout.Height(40))) { EditorDataContainer.LoadSkillAssetData(); Reset(); Repaint(); } if (GUILayout.Button("Save SystemTables\n保存技能到系统表", GUILayout.Height(40))) { EditorDataContainer.SaveSystemTables(); EditorDataContainer.LoadSystemTables(); Reset(); Repaint(); } if (GUILayout.Button(showUnitList ? "HideSkillUnitList\n隐藏系统技能表" : "ShowSkillUnitList\n显示系统技能表", GUILayout.Height(40))) { showUnitList = !showUnitList; } if (GUILayout.Button(showArtList ? "HideSkillArtList\n隐藏系统特效表" : "ShowSkillArtList\n显示系统特效表", GUILayout.Height(40))) { showArtList = !showArtList; } if (GUILayout.Button("Close\n关闭窗口", GUILayout.Height(40))) { Close(); } }