コード例 #1
0
    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();
    }
コード例 #2
0
    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();
    }
コード例 #3
0
    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();
    }
コード例 #4
0
 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;
         }
     }
 }
コード例 #5
0
 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;
         }
     }
 }
コード例 #6
0
    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();
    }
コード例 #7
0
    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;
        }
    }
コード例 #8
0
    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);
                }
            }
        }
    }
コード例 #9
0
    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;
        }
    }