Ejemplo n.º 1
0
 void RemoveFrameData(ZtEdFrameData framedata)
 {
     if (null != frameList)
     {
         frameList.Remove(framedata);
     }
 }
Ejemplo n.º 2
0
 public void GetSkillTable(LuaTable skillTab, List <ZtEdFrameData> frameList)
 {
     skillTab.ForEach <int, LuaTable>((int key, LuaTable value) =>
     {
         ZtEdFrameData framedata = new ZtEdFrameData();
         framedata.frame         = key;
         frameList.Add(framedata);
         GetSkillParam(value, framedata);
     });
 }
Ejemplo n.º 3
0
    void DrawFrameData(ZtEdFrameData framedata)
    {
        #region 垂直窗口
        GUILayout.BeginVertical("Frame" + framedata.frame, "window", GUILayout.Width(1180), GUILayout.MinHeight(50));

        #region 水平标题
        GUILayout.BeginHorizontal();
        if (GUILayout.Button("—", GUILayout.Width(25), GUILayout.Height(15)))
        {
            RemoveFrameData(framedata);
            return;
        }
        GUILayout.Label("触发帧:", GUILayout.Width(50));
        framedata.frame = EditorGUILayout.IntField(framedata.frame, GUILayout.Width(50));

        GUILayout.FlexibleSpace();
        framedata.editorSel = GUILayout.Toolbar(framedata.editorSel, ZTSkillEditorDefine.TypeDes);
        //framedata.editorSel = EditorGUILayout.Popup(framedata.editorSel, ZTSkillEditorDefine.TypeDes,GUILayout.Width(100),GUILayout.Height(20));

        if (GUILayout.Button("添加action", GUILayout.Width(100), GUILayout.Height(20)))
        {
            ZtEdSkillAction actoin = new ZtEdSkillAction();
            actoin.actionType = framedata.editorSel;
            int count = 1;
            if (ZTSkillEditorDefine.TypeList != null && ZTSkillEditorDefine.TypeList.ContainsKey(actoin.actionType))
            {
                count = ZTSkillEditorDefine.TypeList[actoin.actionType].Length;
            }
            for (int i = 0; i < count; i++)
            {
                actoin.param.Add("-1");
            }
            framedata.actoinList.Add(actoin);
        }
        GUILayout.Space(30);

        GUILayout.EndHorizontal();
        #endregion

        for (int i = 0; i < framedata.actoinList.Count; i++)
        {
            bool isRemove = DrawActoin(framedata.actoinList[i], framedata);
            if (isRemove)
            {
                break;
            }
        }

        GUILayout.EndVertical();
        GUILayout.Space(10);

        #endregion
    }
Ejemplo n.º 4
0
    bool DrawActoin(ZtEdSkillAction action, ZtEdFrameData framedata)
    {
        GUILayout.BeginVertical("HelpBox");

        GUILayout.BeginHorizontal();
        GUILayout.Space(5);
        if (GUILayout.Button("—", GUILayout.Width(25), GUILayout.Height(15)))
        {
            framedata.actoinList.Remove(action);
            return(true);
        }

        GUILayout.Label(ZTSkillEditorDefine.TypeDes[action.actionType] + ":");
        for (int i = 0; i < action.param.Count; i++)
        {
            if (i == 6)
            {
                GUILayout.EndHorizontal();
                GUILayout.BeginHorizontal();
            }
            if (ZTSkillEditorDefine.TypeList.ContainsKey(action.actionType))
            {
                string labelName = ZTSkillEditorDefine.TypeList[action.actionType][i];
                GUILayout.Label(labelName);
                switch (labelName)
                {
                case "方向":
                    action.param[i] = DrawFacePop(action.param[i] as string);
                    break;

                case "层次":
                    action.param[i] = DrawLayerPop(action.param[i] as string);
                    break;

                case "目标类型":
                    action.param[i] = DrawTargetPop(action.param[i] as string);
                    break;

                default:
                    action.param[i] = (string)EditorGUILayout.TextField(action.param[i] as string);
                    break;
                }
            }
        }
        GUILayout.FlexibleSpace();
        GUILayout.EndHorizontal();
        GUILayout.EndVertical();

        return(false);
    }
Ejemplo n.º 5
0
 public void GetSkillParam(LuaTable actiontable, ZtEdFrameData framedata)
 {
     actiontable.ForEach <int, LuaTable>((int key, LuaTable value) =>
     {
         LuaTable paramTab           = value.Get <LuaTable>("param");
         int actionType              = value.Get <int>("actionType");
         ZtEdSkillAction skillAction = new ZtEdSkillAction();
         skillAction.actionType      = actionType;
         paramTab.ForEach <int, string>((int paramKey, string paramVal) =>
         {
             skillAction.param.Add(paramVal);
         });
         framedata.actoinList.Add(skillAction);
     });
 }
Ejemplo n.º 6
0
    void DrawZtEdFrameDataList()
    {
        if (null == frameList)
        {
            return;
        }

        GUILayout.BeginVertical("HelpBox");
        GUILayout.Label("当前编辑id: " + luaEditor.CurLuaKey, styleLabelLeft);
        scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.Width(1200), GUILayout.Height(620));

        for (int i = 0; i < frameList.Count; i++)
        {
            ZtEdFrameData framedata = frameList[i];
            DrawFrameData(framedata);
        }

        EditorGUILayout.EndScrollView();

        GUILayout.EndVertical();
    }
Ejemplo n.º 7
0
    private string GetFrameStr(string key, List <ZtEdFrameData> frameList)
    {
        string scriptStr = string.Empty;

        scriptStr += "\t" + key + " = {\n";
        for (int index = 0; index < frameList.Count; index++)
        {
            ZtEdFrameData framedata = frameList[index];
            scriptStr += string.Format("\t\t[ {0} ] = ", framedata.frame) + "{\n";
            for (int i = 0; i < framedata.actoinList.Count; i++)
            {
                scriptStr += GetActcionStr(framedata.actoinList[i]);
            }
            scriptStr += "\t\t},\n";
        }
        //for (int i = 0; i < moduleList.Count; i++)
        //{
        //    scriptStr += moduleList[i].GetDefine();
        //}
        scriptStr += "\t},\n\n";
        return(scriptStr);
    }