Esempio n. 1
0
        private void DrawAnimInfo(AType type, Dictionary <string, UnitAnimInfo> anims)
        {
            string key = EnumTool.Description(type);

            if (!anims.ContainsKey(key))
            {
                anims.Add(key, new UnitAnimInfo(key));
            }
            UnitAnimInfo info = anims[key];

            EditorGUILayout.BeginVertical();
            GUILayout.Toggle(true, string.Format("{0} 数据", info.Title), "dragtab");
            int Count = info.List.Count;

            string[]   names  = AnimNames.ToArray();
            List <int> reduce = new List <int>();

            for (int i = 0; i < Count; i++)
            {
                GUILayout.BeginHorizontal();
                string title = "    ";
                if (i == 0)
                {
                    title = "动作组:";
                }
                GUILayout.Label(title, GUILayout.Width(80));
                GUILayout.Button(info.List[i], "button");
                if (GUILayout.Button("-", GUILayout.Width(24)))
                {
                    reduce.Add(i);
                }
                int index = EditorGUILayout.Popup(title, StrTool.IndexOfToStr(names, info.List[i]), names);
                if (index != -1)
                {
                    info.List[i] = names[index];
                }
                GUILayout.EndHorizontal();
            }
            if (reduce.Count > 0)
            {
                for (int i = 0; i < reduce.Count; i++)
                {
                    info.List.RemoveAt(reduce[i]);
                }
            }
            if (GUILayout.Button("+"))
            {
                info.List.Add(string.Empty);
            }
            EditorGUILayout.EndVertical();
        }