174 lines
5.7 KiB
C#
174 lines
5.7 KiB
C#
|
//using Ether;
|
|||
|
//using System;
|
|||
|
//using System.Collections.Generic;
|
|||
|
//using System.Linq;
|
|||
|
//using UnityEditor;
|
|||
|
//using UnityEngine;
|
|||
|
//using UnityEngine.UIElements;
|
|||
|
|
|||
|
//public class InputEditor : EditorWindow
|
|||
|
//{
|
|||
|
// [SerializeField]
|
|||
|
// private VisualTreeAsset m_VisualTreeAsset = default;
|
|||
|
|
|||
|
// [SerializeField]
|
|||
|
// private VisualTreeAsset inputEditorItem = default;
|
|||
|
|
|||
|
// [SerializeField]
|
|||
|
// private StyleSheet styleSheet = default;
|
|||
|
|
|||
|
// [MenuItem("配置/输入系统/输入配置")]
|
|||
|
// public static void ShowExample()
|
|||
|
// {
|
|||
|
// InputEditor wnd = GetWindow<InputEditor>();
|
|||
|
// wnd.titleContent = new GUIContent("输入配置");
|
|||
|
// }
|
|||
|
|
|||
|
// VisualElement root;
|
|||
|
// ListView listView;
|
|||
|
|
|||
|
// public void CreateGUI()
|
|||
|
// {
|
|||
|
// root = rootVisualElement;
|
|||
|
|
|||
|
// m_VisualTreeAsset.CloneTree(root);
|
|||
|
|
|||
|
// root.styleSheets.Add(styleSheet);
|
|||
|
|
|||
|
// listView = root.Q<ListView>("ItemList");
|
|||
|
|
|||
|
// LoadItemListData();
|
|||
|
// SetListViewData();
|
|||
|
|
|||
|
// root.Q<VisualElement>("BtnList").Q<Button>("SaveBtn").clicked += () =>
|
|||
|
// {
|
|||
|
// Debug.Log("点击了确认按钮");
|
|||
|
// ConfirmConfig.tips = "是否确认保存当前设置?";
|
|||
|
// ConfirmConfig.confirmAction = () =>
|
|||
|
// {
|
|||
|
// lastItemList = JsonTools.Clone(itemList);
|
|||
|
// if (!FileTools.WriteFileForJson(PathTools.InputFunctionConfig, new InputFunctionConfig()
|
|||
|
// {
|
|||
|
// functionList = itemList,
|
|||
|
// }))
|
|||
|
// {
|
|||
|
// Debug.LogError("保存当前设置失败!");
|
|||
|
// ShowNotification(new GUIContent("保存当前设置失败!"));
|
|||
|
// return;
|
|||
|
// }
|
|||
|
|
|||
|
// if (GenerateInputScript.Generate())
|
|||
|
// {
|
|||
|
// ShowNotification(new GUIContent("已保存当前设置!"));
|
|||
|
// AssetDatabase.Refresh();
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// Debug.LogError("生成对应输入配置代码出错!");
|
|||
|
// ShowNotification(new GUIContent("生成对应输入配置代码出错!"));
|
|||
|
// }
|
|||
|
// };
|
|||
|
// ConfirmConfig.ShowConfirmWindow();
|
|||
|
|
|||
|
// };
|
|||
|
|
|||
|
// root.Q<VisualElement>("BtnList").Q<Button>("ResetBtn").clicked += () =>
|
|||
|
// {
|
|||
|
// Debug.Log("点击了还原按钮");
|
|||
|
// ConfirmConfig.tips = "是否还原成打开时的设置?";
|
|||
|
// ConfirmConfig.confirmAction = () =>
|
|||
|
// {
|
|||
|
// ShowNotification(new GUIContent("已还原成打开时的设置!"));
|
|||
|
// itemList.Clear();
|
|||
|
// foreach (var item in lastItemList)
|
|||
|
// {
|
|||
|
// List<string> tempList = new List<string>();
|
|||
|
|
|||
|
// itemList.Add(new InputFunctionClass()
|
|||
|
// {
|
|||
|
// inputKeyType = item.inputKeyType,
|
|||
|
// inputKeyName = item.inputKeyName,
|
|||
|
// });
|
|||
|
// }
|
|||
|
|
|||
|
// listView.Rebuild();
|
|||
|
// };
|
|||
|
// ConfirmConfig.ShowConfirmWindow();
|
|||
|
// };
|
|||
|
|
|||
|
// root.Q<VisualElement>("BtnList").Q<Button>("ClearBtn").clicked += () =>
|
|||
|
// {
|
|||
|
// Debug.Log("点击了清空按钮");
|
|||
|
// ConfirmConfig.tips = "是否清空当前设置?";
|
|||
|
// ConfirmConfig.confirmAction = () =>
|
|||
|
// {
|
|||
|
// ShowNotification(new GUIContent("已清空当前设置!"));
|
|||
|
// itemList.Clear();
|
|||
|
// listView.Rebuild();
|
|||
|
// };
|
|||
|
// ConfirmConfig.ShowConfirmWindow();
|
|||
|
// };
|
|||
|
// }
|
|||
|
|
|||
|
// private void LoadItemListData()
|
|||
|
// {
|
|||
|
// string functionCfgPath = PathTools.InputFunctionConfig;
|
|||
|
// if (!FileTools.FileExists(functionCfgPath))
|
|||
|
// {
|
|||
|
// itemList = new List<InputFunctionClass>();
|
|||
|
// lastItemList = new List<InputFunctionClass>();
|
|||
|
// return;
|
|||
|
// }
|
|||
|
|
|||
|
// if (FileTools.ReadFileForJson<InputFunctionConfig>(functionCfgPath, out InputFunctionConfig cfg))
|
|||
|
// {
|
|||
|
// itemList = cfg.functionList;
|
|||
|
// lastItemList = JsonTools.Clone(itemList);
|
|||
|
// }
|
|||
|
|
|||
|
// }
|
|||
|
|
|||
|
// private List<InputFunctionClass> itemList;
|
|||
|
// private List<InputFunctionClass> lastItemList;
|
|||
|
|
|||
|
// /// <summary>
|
|||
|
// /// 设置listview数据
|
|||
|
// /// </summary>
|
|||
|
// private void SetListViewData()
|
|||
|
// {
|
|||
|
// Func<VisualElement> makeItem = () => inputEditorItem.CloneTree();
|
|||
|
|
|||
|
// Action<VisualElement, int> bindItem = (item, index) =>
|
|||
|
// {
|
|||
|
// if (index < itemList.Count)
|
|||
|
// {
|
|||
|
// if (itemList[index] == null)
|
|||
|
// {
|
|||
|
// itemList[index] = new InputFunctionClass();
|
|||
|
// }
|
|||
|
|
|||
|
// EnumField actionType = item.Q<EnumField>("ActionType");
|
|||
|
// TextField actionName = item.Q<TextField>("ActionName");
|
|||
|
// actionType.value = itemList[index].inputKeyType;
|
|||
|
// actionName.value = itemList[index].inputKeyName;
|
|||
|
// actionType.RegisterValueChangedCallback(evt =>
|
|||
|
// {
|
|||
|
// itemList[index].inputKeyType = (InputKeyType)evt.newValue;
|
|||
|
// });
|
|||
|
|
|||
|
// actionName.RegisterValueChangedCallback(evt =>
|
|||
|
// {
|
|||
|
// itemList[index].inputKeyName = evt.newValue;
|
|||
|
// });
|
|||
|
// }
|
|||
|
// };
|
|||
|
|
|||
|
// listView.fixedItemHeight = 90; //根据需要高度调整数值
|
|||
|
// listView.itemsSource = itemList;
|
|||
|
// listView.makeItem = makeItem;
|
|||
|
// listView.bindItem = bindItem;
|
|||
|
|
|||
|
// }
|
|||
|
|
|||
|
//}
|