IndieGame/client/Assets/Ether/Editor/Input/InputEditor.cs

174 lines
5.7 KiB
C#
Raw Normal View History

2024-10-11 10:12:15 +08:00
//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;
// }
//}