void addSkill() { GUILayout.BeginHorizontal("box"); GUILayout.Label("AnimateName"); if (mSkillAnimateNameIndex >= getCurrentAnimateList().Count) { EditorGUILayout.Popup(getCurrentAnimateList().Count - 1, getCurrentAnimateList().ToArray()); } else { mSkillAnimateNameIndex = EditorGUILayout.Popup(mSkillAnimateNameIndex, getCurrentAnimateList().ToArray()); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); GUILayout.Label("SkillName"); mSkillName = GUILayout.TextField(mSkillName); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); if (GUILayout.Button("OK")) { GFX.GfxSkill newSkill = actor.createSkill(mSkillName); if (newSkill != null) { if (getCurrentSkillAnimateName() == "none") { newSkill.setAnimateName(""); } else { newSkill.setAnimateName(getCurrentSkillAnimateName()); } addSkill(mSkillName); } lastSkillIndex = 0; if (skillIndex != 0) { stat = GUI_STATUS.CHECKING; } else { stat = GUI_STATUS.NONE; } } if (GUILayout.Button("Cancel")) { lastSkillIndex = 0; if (skillIndex != 0) { stat = GUI_STATUS.CHECKING; } else { stat = GUI_STATUS.NONE; } } GUILayout.EndHorizontal(); }
void addSkillEffect() { showSkill(); GUILayout.BeginHorizontal("box"); GUILayout.Label("EffectName"); mEffectName = EditorGUILayout.TextField(mEffectName); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); GUILayout.Label("AttachPoint"); mLocatorNameIndex = EditorGUILayout.Popup(mLocatorNameIndex, LocatorNames.ToArray()); //mAttachPoint = EditorGUILayout.TextField(mAttachPoint); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); if (GUILayout.Button("OK")) { GFX.GfxSkillEffect newSkillEffect = mSkill.addSkillEffect(); newSkillEffect.setParameter("EffectTemplateName", mEffectName); if (LocatorNames[mLocatorNameIndex] == "none") { newSkillEffect.setParameter("AttachPoint", ""); } else { newSkillEffect.setParameter("AttachPoint", LocatorNames[mLocatorNameIndex]); } refreshSkillEffectList(); lastEffectIndex = 0; if (skillIndex != 0) { stat = GUI_STATUS.CHECKING; } else { stat = GUI_STATUS.NONE; } } if (GUILayout.Button("Cancel")) { lastEffectIndex = 0; if (skillIndex != 0) { stat = GUI_STATUS.CHECKING; } else { stat = GUI_STATUS.NONE; } } GUILayout.EndHorizontal(); }
void addSkill() { GUILayout.BeginHorizontal("box"); GUILayout.Label("AnimateName"); // mAnimateName = GUILayout.TextField(mAnimateName); mSkillAnimateNameIndex = EditorGUILayout.Popup(mSkillAnimateNameIndex, AnimNames.ToArray()); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); GUILayout.Label("SkillName"); mSkillName = GUILayout.TextField(mSkillName); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); if (GUILayout.Button("OK")) { GFX.GfxSkill newSkill = GFX.GfxSkillManager.Instance.createSkillTemplate(mSkillName); if (newSkill != null) { if (AnimNames[mSkillAnimateNameIndex] == "none") { newSkill.setAnimateName(""); } else { newSkill.setAnimateName(AnimNames[mSkillAnimateNameIndex]); } SkillNames.Add(mSkillName); } lastSkillIndex = 0; if (skillIndex != 0) { stat = GUI_STATUS.CHECKING; } else { stat = GUI_STATUS.NONE; } } if (GUILayout.Button("Cancel")) { lastSkillIndex = 0; if (skillIndex != 0) { stat = GUI_STATUS.CHECKING; } else { stat = GUI_STATUS.NONE; } } GUILayout.EndHorizontal(); }
void removeSkill() { if (EditorUtility.DisplayDialog("Remove Skill", "Are you sure to remove current Skill", "OK")) { if (skillIndex > 0) { string skillName = getCurrentSkillName(); actor.destroySkill(skillName); removeSkill(skillName); string fullFilePath = AssertBundleCreator.SkillAssetbundlePath + skillName + ".txt"; File.Delete(fullFilePath); skillIndex = 0; stat = GUI_STATUS.NONE; } } }
void removeSkill() { if (EditorUtility.DisplayDialog("Remove Skill", "Are you sure to remove current Skill", "OK")) { if (skillIndex > 0) { GFX.GfxSkillManager.Instance.destroySkillTemplate(SkillNames[skillIndex]); string skillFile = SkillNames[skillIndex]; SkillNames.RemoveAt(skillIndex); string fullFilePath = AssertBundleCreator.SkillAssetbundlePath + skillFile + ".txt"; File.Delete(fullFilePath); skillIndex = 0; stat = GUI_STATUS.NONE; } } }
void showSkillEffect() { if (mEffects[effectIndex] != "none") { if (effectIndex != lastEffectIndex) { GFX.GfxSkillEffect curSkillEffect = actor.Skill.getSkillEffect(effectIndex - 1); mAtttachTime = curSkillEffect.AttachTime; string attachPoint = curSkillEffect.getParameter("AttachPoint"); mLocatorNameIndex = actor.LocatorNames.IndexOf(attachPoint); if (mLocatorNameIndex == -1) { mLocatorNameIndex = 0; } mEffectName = curSkillEffect.getParameter("EffectTemplateName"); mOffsetPos = curSkillEffect.OffsetPos; mOffsetRotation = new Vector4(curSkillEffect.OffsetRotation.x, curSkillEffect.OffsetRotation.y, curSkillEffect.OffsetRotation.z, curSkillEffect.OffsetRotation.w); mOffsetScale = curSkillEffect.OffsetScale; mAttach = curSkillEffect.Attach; } lastEffectIndex = effectIndex; GUILayout.BeginHorizontal("box"); mAtttachTime = EditorGUILayout.Slider("AttachTime", mAtttachTime, 0f, 10f); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); GUILayout.Label("AttachPoint"); mLocatorNameIndex = EditorGUILayout.Popup(mLocatorNameIndex, actor.LocatorNames.ToArray()); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); GUILayout.Label("EffectTemplateName"); mEffectName = GUILayout.TextField(mEffectName); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); mOffsetPos = EditorGUILayout.Vector3Field("OffsetPos", mOffsetPos); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); mOffsetRotation = EditorGUILayout.Vector4Field("OffsetRotation", mOffsetRotation); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); mOffsetScale = EditorGUILayout.Vector3Field("OffsetScale", mOffsetScale); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); mAttach = EditorGUILayout.Toggle("Attach", mAttach); GUILayout.EndHorizontal(); if (GUILayout.Button("SetSkillEffect")) { GFX.GfxSkillEffect curSkillEffect = actor.Skill.getSkillEffect(effectIndex - 1); curSkillEffect.AttachTime = mAtttachTime; if (actor.LocatorNames[mLocatorNameIndex] == "none") { curSkillEffect.setParameter("AttachPoint", ""); } else { curSkillEffect.setParameter("AttachPoint", actor.LocatorNames[mLocatorNameIndex]); } curSkillEffect.setParameter("EffectTemplateName", mEffectName); curSkillEffect.Attach = mAttach; curSkillEffect.OffsetPos = mOffsetPos; curSkillEffect.OffsetRotation = new Quaternion(mOffsetRotation.x, mOffsetRotation.y, mOffsetRotation.z, mOffsetRotation.w); curSkillEffect.OffsetScale = mOffsetScale; } } GUILayout.BeginHorizontal("box"); GUILayout.BeginHorizontal("box"); if (GUILayout.Button("AddEffect")) { stat = GUI_STATUS.ADDEFFECT; } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); if (GUILayout.Button("RemoveEffect")) { removeSkillEffect(); } GUILayout.EndHorizontal(); GUILayout.EndHorizontal(); }
void DisplaySkillGUI() { List <string> skillList = getCurrrentSkillList(); GUILayout.BeginHorizontal("box"); GUILayout.Label("Skill"); if (skillList.Count <= skillIndex) { skillIndex = 0; } skillIndex = EditorGUILayout.Popup(skillIndex, skillList.ToArray()); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); if (!GUILayout.Button("AddSkill")) { if (skillList[skillIndex] != "none") { if (lastSkillIndex != skillIndex) { string skillName = getCurrentSkillName(); actor.getSkill(skillName); GFX.GfxSkill curSkill = actor.Skill; if (curSkill != null) { stat = GUI_STATUS.CHECKING; refreshSkillEffectList(); string curAnimateName = curSkill.getParameter("Animation"); mSkillAnimateNameIndex = getCurrentAnimateList().IndexOf(curAnimateName); if (mSkillAnimateNameIndex == -1) { mSkillAnimateNameIndex = 0; } mBreakTime = curSkill.getParameter("BreakTime"); mHitTime = curSkill.getParameter("HitTime"); mShakeTime = curSkill.getParameter("ShakeTime"); mRepeatEffect = curSkill.RepeatEffect; mEnableRibbon = curSkill.EnableRibbon; lastEffectIndex = 0; openHitGroundEffect = curSkill.isHitGroundEffectExist(); } } lastSkillIndex = skillIndex; } } else { stat = GUI_STATUS.ADDSKILL; } if (GUILayout.Button("RemoveSkill")) { removeSkill(); } GUILayout.EndHorizontal(); switch (stat) { case GUI_STATUS.ADDEFFECT: addSkillEffect(); break; case GUI_STATUS.ADDSKILL: addSkill(); break; case GUI_STATUS.CHECKING: { showSkill(); showSkillEffect(); ShowHitGroundEffect(); GUILayout.BeginHorizontal("box"); if (GUILayout.Button("SetSkill")) { if (getCurrentSkillAnimateName() == "none") { actor.Skill.setParameter("Animation", ""); } else { actor.Skill.setParameter("Animation", getCurrentSkillAnimateName()); } actor.Skill.setParameter("BreakTime", mBreakTime); actor.Skill.setParameter("HitTime", mHitTime); actor.Skill.setParameter("ShakeTime", mShakeTime); actor.Skill.RepeatEffect = mRepeatEffect; actor.Skill.EnableRibbon = mEnableRibbon; } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); bool changed = EditorGUILayout.Toggle("Play", this.isPlaying); if (changed != this.isPlaying) //if (GUILayout.Button(GetActionName())) { SetAction(); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); if (GUILayout.Button("Save")) { Save(); } GUILayout.EndHorizontal(); } break; } }
void Init() { if (!Directory.Exists(AssertBundleCreator.ActorAssetbundlePath)) { Directory.CreateDirectory(AssertBundleCreator.ActorAssetbundlePath); } DirectoryInfo actorInfo = new DirectoryInfo(AssertBundleCreator.ActorAssetbundlePath); FileInfo[] actorFiles = actorInfo.GetFiles(); string assetBundleExt = ".assetbundle"; AllActors.Add("none"); BodyEquips.Add("none"); HairEquips.Add("none"); FaceEquips.Add("none"); ShoulderEquips.Add("none"); AllWeapons.Add("none"); AllEffects.Add("none"); weapon2Weapons.Add("none"); weapon4Weapons.Add("none"); weapon3Weapons.Add("none"); weapon5Weapons.Add("none"); whBodyEquips.Add("none"); wtBodyEquips.Add("none"); wsBodyEquips.Add("none"); wmBodyEquips.Add("none"); mhBodyEquips.Add("none"); mtBodyEquips.Add("none"); msBodyEquips.Add("none"); mmBodyEquips.Add("none"); w1SkillNames.Add("none"); w2SkillNames.Add("none"); w3SkillNames.Add("none"); w4SkillNames.Add("none"); m1SkillNames.Add("none"); m2SkillNames.Add("none"); m3SkillNames.Add("none"); m4SkillNames.Add("none"); wBodyEquips.Add("none"); mBodyEquips.Add("none"); stat = GUI_STATUS.NONE; AllActors.Add("wplayer"); AllActors.Add("mplayer"); foreach (FileInfo fileInfo in actorFiles) { string actorFileName = fileInfo.Name; if (actorFileName.Contains(assetBundleExt)) { string actorName = actorFileName.Substring(0, actorFileName.Length - assetBundleExt.Length); AllActors.Add(actorName); AllWeapons.Add(actorName); int index2 = actorName.IndexOf(WEAPON2PREFIX); int index4 = actorName.IndexOf(WEAPON4PREFIX); int index3 = actorName.IndexOf(WEAPON3PREFIX); int index5 = actorName.IndexOf(WEAPON5PREFIX); if (index2 == 0) { weapon2Weapons.Add(actorName); } if (index4 == 0) { weapon4Weapons.Add(actorName); } if (index3 == 0) { weapon3Weapons.Add(actorName); } if (index5 == 0) { weapon5Weapons.Add(actorName); } AllEffects.Add(actorName); } } if (!Directory.Exists(AssertBundleCreator.EquipAssetbundlePath)) { Directory.CreateDirectory(AssertBundleCreator.EquipAssetbundlePath); } DirectoryInfo equipInfo = new DirectoryInfo(AssertBundleCreator.EquipAssetbundlePath); FileInfo[] equipFiles = equipInfo.GetFiles(); foreach (FileInfo fileInfo in equipFiles) { string equipFileName = fileInfo.Name; if (equipFileName.Contains(assetBundleExt)) { string equipName = equipFileName.Substring(0, equipFileName.Length - assetBundleExt.Length); BodyEquips.Add(equipName); int wIndex = equipName.IndexOf(WEQUIPTPREFIX); int mIndex = equipName.IndexOf(MEQUIPTPREFIX); if (wIndex == 0) { wBodyEquips.Add(equipName); } if (mIndex == 0) { mBodyEquips.Add(equipName); } int whIndex = equipName.IndexOf(WHEQUIPPREFIX); int wtIndex = equipName.IndexOf(WTEQUIPPREFIX); int wsIndex = equipName.IndexOf(WSEQUIPPREFIX); int wmIndex = equipName.IndexOf(WMEQUIPPREFIX); if (whIndex == 0) { whBodyEquips.Add(equipName); } if (wtIndex == 0) { wtBodyEquips.Add(equipName); } if (wsIndex == 0) { wsBodyEquips.Add(equipName); } if (wmIndex == 0) { wmBodyEquips.Add(equipName); } int mhIndex = equipName.IndexOf(MHEQUIPPREFIX); int msIndex = equipName.IndexOf(MSEQUIPPREFIX); int mtIndex = equipName.IndexOf(MTEQUIPPREFIX); int mmIndex = equipName.IndexOf(MMEQUIPPREFIX); if (mhIndex == 0) { mhBodyEquips.Add(equipName); } if (msIndex == 0) { msBodyEquips.Add(equipName); } if (mtIndex == 0) { mtBodyEquips.Add(equipName); } if (mmIndex == 0) { mmBodyEquips.Add(equipName); } HairEquips.Add(equipName); FaceEquips.Add(equipName); ShoulderEquips.Add(equipName); } } string skillFileExt = ".txt"; if (!Directory.Exists(AssertBundleCreator.SkillAssetbundlePath)) { Directory.CreateDirectory(AssertBundleCreator.SkillAssetbundlePath); } DirectoryInfo skillInfo = new DirectoryInfo(AssertBundleCreator.SkillAssetbundlePath); FileInfo[] skillFiles = skillInfo.GetFiles(); SkillNames.Add("none"); foreach (FileInfo fileInfo in skillFiles) { string skillFileName = fileInfo.Name; if (skillFileName.Contains(skillFileExt)) { string SkillName = skillFileName.Substring(0, skillFileName.Length - skillFileExt.Length); SkillNames.Add(SkillName); int m1Index = SkillName.IndexOf(MPSKILL1PREFIX); int m2Index = SkillName.IndexOf(MPSKILL2PREFIX); int m3Index = SkillName.IndexOf(MPSKILL3PREFIX); int m4Index = SkillName.IndexOf(MPSKILL4PREFIX); if (m1Index == 0) { m1SkillNames.Add(SkillName); } if (m2Index == 0) { m2SkillNames.Add(SkillName); } if (m3Index == 0) { m3SkillNames.Add(SkillName); } if (m4Index == 0) { m4SkillNames.Add(SkillName); } int w1Index = SkillName.IndexOf(WPSKILL1PREFIX); int w2Index = SkillName.IndexOf(WPSKILL2PREFIX); int w3Index = SkillName.IndexOf(WPSKILL3PREFIX); int w4Index = SkillName.IndexOf(WPSKILL4PREFIX); if (w1Index == 0) { w1SkillNames.Add(SkillName); } if (w2Index == 0) { w2SkillNames.Add(SkillName); } if (w3Index == 0) { w3SkillNames.Add(SkillName); } if (w4Index == 0) { w4SkillNames.Add(SkillName); } } } }
void DisplaySkillGUI() { GUILayout.BeginHorizontal("box"); GUILayout.Label("Skill"); skillIndex = EditorGUILayout.Popup(skillIndex, SkillNames.ToArray()); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); if (!GUILayout.Button("AddSkill")) { if (SkillNames[skillIndex] != "none") { if (lastSkillIndex != skillIndex) { GFX.GfxSkill curSkill = GFX.GfxSkillManager.Instance.createAndParseSkillTemplate(SkillNames[skillIndex]); if (curSkill != null) { mSkill = curSkill; stat = GUI_STATUS.CHECKING; refreshSkillEffectList(); string curAnimateName = mSkill.getParameter("Animation"); mSkillAnimateNameIndex = AnimNames.IndexOf(curAnimateName); if (mSkillAnimateNameIndex == -1) { mSkillAnimateNameIndex = 0; } mBreakTime = mSkill.getParameter("BreakTime"); mHitTime = mSkill.getParameter("HitTime"); mShakeTime = mSkill.getParameter("ShakeTime"); mRepeatEffect = mSkill.getParameter("RepeatEffect"); lastEffectIndex = 0; } } lastSkillIndex = skillIndex; } } else { stat = GUI_STATUS.ADDSKILL; } if (GUILayout.Button("RemoveSkill")) { removeSkill(); } GUILayout.EndHorizontal(); switch (stat) { case GUI_STATUS.ADDEFFECT: addSkillEffect(); break; case GUI_STATUS.ADDSKILL: addSkill(); break; case GUI_STATUS.CHECKING: { showSkill(); showSkillEffect(); GUILayout.BeginHorizontal("box"); if (GUILayout.Button("SetSkill")) { if (AnimNames[mSkillAnimateNameIndex] == "none") { mSkill.setParameter("Animation", ""); } else { mSkill.setParameter("Animation", AnimNames[mSkillAnimateNameIndex]); } mSkill.setParameter("BreakTime", mBreakTime); mSkill.setParameter("HitTime", mHitTime); mSkill.setParameter("ShakeTime", mShakeTime); mSkill.setParameter("RepeatEffect", mRepeatEffect); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); if (GUILayout.Button(GetActionName())) { SetAction(); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("box"); if (GUILayout.Button("Save")) { Save(); } GUILayout.EndHorizontal(); } break; } }