Exemplo n.º 1
0
    void Save()
    {
        if (actor.Skill != null)
        {
            string       skillFileName = getCurrentSkillName();
            string       fullFilePath  = AssertBundleCreator.SkillAssetbundlePath + skillFileName + ".txt";
            StreamWriter skillWrite    = new StreamWriter(fullFilePath);
            skillWrite.Flush();
            skillWrite.WriteLine("skill " + skillFileName);
            skillWrite.WriteLine("{");
            skillWrite.WriteLine("\t\tAnimation " + actor.Skill.getAnimateName());
            skillWrite.WriteLine("\t\tBreakTime " + actor.Skill.getParameter("BreakTime"));
            skillWrite.WriteLine("\t\tHitTime " + actor.Skill.getParameter("HitTime"));
            skillWrite.WriteLine("\t\tShakeTime " + actor.Skill.getParameter("ShakeTime"));
            skillWrite.WriteLine("\t\tRepeatEffect " + actor.Skill.getParameter("RepeatEffect"));
            skillWrite.WriteLine("\t\tEnableRibbon " + actor.Skill.getParameter("EnableRibbon"));
            for (int i = 0; i < actor.Skill.getSkillEffectCount(); i++)
            {
                skillWrite.WriteLine("\t\tAnimEffect");
                GFX.GfxSkillEffect skillEffect = actor.Skill.getSkillEffect(i);
                skillWrite.WriteLine("\t\t{");
                skillWrite.WriteLine("\t\t\tAttachTime " + skillEffect.getParameter("AttachTime"));
                skillWrite.WriteLine("\t\t\tAttachPoint " + skillEffect.getParameter("AttachPoint"));
                skillWrite.WriteLine("\t\t\tEffectTemplateName " + skillEffect.getParameter("EffectTemplateName"));
                skillWrite.WriteLine("\t\t\tOffsetPos " + skillEffect.getParameter("OffsetPos"));
                skillWrite.WriteLine("\t\t\tOffsetRotation " + skillEffect.getParameter("OffsetRotation"));
                skillWrite.WriteLine("\t\t\tOffsetScale " + skillEffect.getParameter("OffsetScale"));
                skillWrite.WriteLine("\t\t\tAttach " + skillEffect.getParameter("Attach"));
                skillWrite.WriteLine("\t\t}");
            }

            if (actor.Skill.isHitGroundEffectExist())
            {
                skillWrite.WriteLine("\t\tHitGroundEffect");
                skillWrite.WriteLine("\t\t{");
                skillWrite.WriteLine("\t\t\tAttachTime " + actor.Skill.HitGroundEffect.getParameter("AttachTime"));
                skillWrite.WriteLine("\t\t\tShakeTime " + actor.Skill.HitGroundEffect.getParameter("ShakeTime"));
                skillWrite.WriteLine("\t\t\tAnimation " + actor.Skill.HitGroundEffect.getParameter("Animation"));
                skillWrite.WriteLine("\t\t\tAttachPoint " + actor.Skill.HitGroundEffect.getParameter("AttachPoint"));
                skillWrite.WriteLine("\t\t\tEffectTemplateName " + actor.Skill.HitGroundEffect.getParameter("EffectTemplateName"));
                skillWrite.WriteLine("\t\t\tOffsetPos " + actor.Skill.HitGroundEffect.getParameter("OffsetPos"));
                skillWrite.WriteLine("\t\t\tOffsetRotation " + actor.Skill.HitGroundEffect.getParameter("OffsetRotation"));
                skillWrite.WriteLine("\t\t\tOffsetScale " + actor.Skill.HitGroundEffect.getParameter("OffsetScale"));
                skillWrite.WriteLine("\t\t\tAttach " + actor.Skill.HitGroundEffect.getParameter("Attach"));
                skillWrite.WriteLine("\t\t}");
            }

            skillWrite.WriteLine("}");

            skillWrite.Close();
            EditorUtility.DisplayDialog("Save Skill File", "Success!", "Ok");
        }
        else
        {
            Debug.LogError("skill instance is none");
        }
    }
Exemplo n.º 2
0
    void Update()
    {
        if (mObject != null)
        {
            GFX.GfxSystem.Instance.Tick();
            AnimNames = mObject.getAnimationName();
            AnimNames.Sort();
            AnimNames.Insert(0, "none");



            if (isReadyUpdateLocater)
            {
                GameObject go = mObject.getGameObject();
                if (go != null)
                {
                    Transform[] actorBones = go.GetComponentsInChildren <Transform>();
                    foreach (Transform t in actorBones)
                    {
                        if (t.name.IndexOf("Locator") != -1)
                        {
                            LocatorNames.Add(t.name);
                        }
                    }
                }
                isReadyUpdateLocater = false;

                if (mEffects.Count != 0 && mEffects[effectIndex] != "none" && mSkill != null)
                {
                    GFX.GfxSkillEffect curSkillEffect = mSkill.getSkillEffect(effectIndex - 1);
                    if (curSkillEffect != null)
                    {
                        string attachPoint = curSkillEffect.getParameter("AttachPoint");
                        mLocatorNameIndex = LocatorNames.IndexOf(attachPoint);

                        if (mLocatorNameIndex == -1)
                        {
                            mLocatorNameIndex = 0;
                        }
                    }
                }

                if (mSkill != null)
                {
                    string curAnimateName = mSkill.getParameter("Animation");
                    mSkillAnimateNameIndex = AnimNames.IndexOf(curAnimateName);
                    if (mSkillAnimateNameIndex == -1)
                    {
                        mSkillAnimateNameIndex = 0;
                    }
                }
            }
        }
    }
Exemplo n.º 3
0
 void Save()
 {
     if (mSkill != null)
     {
         string     skillFileName = SkillNames[skillIndex];
         string     fullFilePath  = AssertBundleCreator.SkillAssetbundlePath + skillFileName + ".txt";
         FileStream skillData     = new FileStream(fullFilePath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Write);
         skillData.Flush();
         StreamWriter skillWrite = new StreamWriter(skillData);
         skillWrite.WriteLine("skill " + skillFileName);
         skillWrite.WriteLine("{");
         skillWrite.WriteLine("\t\tAnimation " + mSkill.getAnimateName());
         skillWrite.WriteLine("\t\tBreakTime " + mSkill.getParameter("BreakTime"));
         skillWrite.WriteLine("\t\tHitTime " + mSkill.getParameter("HitTime"));
         skillWrite.WriteLine("\t\tShakeTime " + mSkill.getParameter("ShakeTime"));
         skillWrite.WriteLine("\t\tRepeatEffect " + mSkill.getParameter("RepeatEffect"));
         skillWrite.WriteLine("\t\tEnableRibbon " + mSkill.getParameter("EnableRibbon"));
         for (int i = 0; i < mSkill.getSkillEffectCount(); i++)
         {
             skillWrite.WriteLine("\t\tAnimEffect");
             GFX.GfxSkillEffect skillEffect = mSkill.getSkillEffect(i);
             skillWrite.WriteLine("\t\t{");
             skillWrite.WriteLine("\t\t\tAttachTime " + skillEffect.getParameter("AttachTime"));
             skillWrite.WriteLine("\t\t\tAttachPoint " + skillEffect.getParameter("AttachPoint"));
             skillWrite.WriteLine("\t\t\tEffectTemplateName " + skillEffect.getParameter("EffectTemplateName"));
             skillWrite.WriteLine("\t\t\tOffsetPos " + skillEffect.getParameter("OffsetPos"));
             skillWrite.WriteLine("\t\t\tOffsetRotation " + skillEffect.getParameter("OffsetRotation"));
             skillWrite.WriteLine("\t\t\tOffsetScale " + skillEffect.getParameter("OffsetScale"));
             skillWrite.WriteLine("\t\t\tAttach " + skillEffect.getParameter("Attach"));
             skillWrite.WriteLine("\t\t}");
         }
         skillWrite.WriteLine("}");
         skillWrite.Close();
         skillData.Close();
     }
 }
Exemplo n.º 4
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();
    }