1020 lines
37 KiB
C#
1020 lines
37 KiB
C#
//using System;
|
||
//using System.Collections.Generic;
|
||
//using System.IO;
|
||
//using System.Linq;
|
||
//using DragonSoul.Shared;
|
||
//using DragonSoul.UI;
|
||
//using FairyGUI;
|
||
//using JetBrains.Annotations;
|
||
//using Newtonsoft.Json.Linq;
|
||
//using SQLite4Unity3d;
|
||
//using TouchSocket.Core;
|
||
//using UnityEngine;
|
||
//using UnityEngine.Android;
|
||
//
|
||
//namespace DragonSoul.Logic
|
||
//{
|
||
// public class Test2 : MonoBehaviour
|
||
// {
|
||
// [Table("data")]
|
||
// private class DataModel
|
||
// {
|
||
// [PrimaryKey()] public string key { get; set; }
|
||
// public string value { get; set; }
|
||
// }
|
||
//
|
||
// private class PageData
|
||
// {
|
||
// public int page;
|
||
// public int maxPage;
|
||
//
|
||
// public PageData(int page, int maxPage)
|
||
// {
|
||
// this.page = page;
|
||
// this.maxPage = maxPage;
|
||
// }
|
||
// }
|
||
//
|
||
// private class JsonNodeData
|
||
// {
|
||
// public JToken jToken;
|
||
// public PageData data;
|
||
//
|
||
// public JsonNodeData(JToken jToken, PageData data)
|
||
// {
|
||
// this.jToken = jToken;
|
||
// this.data = data;
|
||
// }
|
||
// }
|
||
//
|
||
// private class JsonNode
|
||
// {
|
||
// private bool _isLeaf;
|
||
// private JsonNodeData _data;
|
||
// private List<JsonNode> _children;
|
||
//
|
||
// public JsonNode(bool isLeaf, JsonNodeData data)
|
||
// {
|
||
// this._isLeaf = isLeaf;
|
||
// this._data = data;
|
||
// this._children = isLeaf ? null : new List<JsonNode>();
|
||
// }
|
||
//
|
||
// public bool isLeaf => this._isLeaf;
|
||
//
|
||
// public JsonNodeData data => this._data;
|
||
// public IReadOnlyList<JsonNode> children => this._children;
|
||
//
|
||
// public void AddChild(JsonNode dataNode)
|
||
// {
|
||
// _children.Add(dataNode);
|
||
// }
|
||
// }
|
||
//
|
||
// private UI_MainUI _uiMainUI;
|
||
// private List<string> _logItmes;
|
||
// private bool _logDirty;
|
||
// private JObject _jObject;
|
||
// private string _currKey;
|
||
// private JsonNode _root;
|
||
//
|
||
// private const int maxListViewNum = 10;
|
||
//
|
||
// private SQLiteConnection _sqLiteConnection;
|
||
// private TableQuery<DataModel> _dataModels;
|
||
// private DataModel _currModel;
|
||
// private bool _isRoot;
|
||
//
|
||
// private string _dataPath
|
||
// {
|
||
// get
|
||
// {
|
||
// if(this._isRoot)
|
||
// return "storage/emulated/0/Android/data/com.Leiting.Fleet/files/mySaveDatacal";
|
||
// else
|
||
// {
|
||
// var combine = Path.Combine(Application.persistentDataPath, "Fleet.Save");
|
||
// return Path.Combine(combine, "mySaveDatacal");
|
||
// }
|
||
// }
|
||
// }
|
||
//
|
||
// private void Awake()
|
||
// {
|
||
// __Log.SetOutput((Print));
|
||
// ETTask.ExceptionHandler += ExceptionHandler;
|
||
// AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException;
|
||
// Application.targetFrameRate = 60;
|
||
// _logItmes = new List<string>();
|
||
// _logDirty = false;
|
||
// Application.targetFrameRate = 60;
|
||
// __Log.Info("welcome!!!");
|
||
// }
|
||
//
|
||
// private void CurrentDomainOnUnhandledException(object sender, UnhandledExceptionEventArgs e)
|
||
// {
|
||
// Error(e.ExceptionObject.ToString());
|
||
// }
|
||
//
|
||
// private void ExceptionHandler(Exception obj)
|
||
// {
|
||
// Error(obj.ToString());
|
||
// }
|
||
//
|
||
//
|
||
// private void Start()
|
||
// {
|
||
// try
|
||
// {
|
||
//
|
||
// UIPackage.AddPackage(FUIPackage.Package1, LoadFunc);
|
||
// var objectFromURL = UIPackage.CreateObjectFromURL(UI_MainUI.URL);
|
||
// this._uiMainUI = new UI_MainUI(objectFromURL);
|
||
// GRoot.inst.AddChild(objectFromURL);
|
||
// _uiMainUI.m_listLog.RemoveChildrenToPool();
|
||
//
|
||
// _uiMainUI.m_comboxCurrKey.items = new []{"模拟器","手机"};
|
||
// _uiMainUI.m_comboxCurrKey.onChanged.Set(() =>
|
||
// {
|
||
// var selectedIndex = this._uiMainUI.m_comboxCurrKey.selectedIndex;
|
||
// if (selectedIndex == 0)
|
||
// {
|
||
// this._isRoot = true;
|
||
// }
|
||
// else
|
||
// {
|
||
// this._isRoot = false;
|
||
// }
|
||
// if (!this.BeforeUpdateArchive())
|
||
// return;
|
||
//// if (!this.EndUpdateArchive())
|
||
//// return;
|
||
// _currKey = null;
|
||
//// _uiMainUI.m_btnLoad.onClick.Set(OnClickLoad);
|
||
//// _uiMainUI.m_btnSave.onClick.Set(OnClickSave);
|
||
//
|
||
// _uiMainUI.m_btnUpload.onClick.Set(OnClickUpload);
|
||
// _uiMainUI.m_btnDownload.onClick.Set(OnClickDownload);
|
||
// _uiMainUI.m_btnUpload.data = 0;
|
||
// _uiMainUI.m_btnDownload.data = 0;
|
||
// });
|
||
//
|
||
//
|
||
// }
|
||
// catch (Exception e)
|
||
// {
|
||
// Error(e.ToString());
|
||
// }
|
||
// }
|
||
//
|
||
// private bool BeforeUpdateArchive()
|
||
// {
|
||
// try
|
||
// {
|
||
// this.ClearUserAndBackupData();
|
||
// }
|
||
// catch (Exception e)
|
||
// {
|
||
// this.Error(e.ToString());
|
||
// return false;
|
||
// }
|
||
//
|
||
// this.Info("备份成功!!!");
|
||
// return true;
|
||
// }
|
||
//
|
||
//
|
||
// private bool EndUpdateArchive()
|
||
// {
|
||
// try
|
||
// {
|
||
// this._sqLiteConnection = new SQLiteConnection(this.GetDataBasePath(), SQLiteOpenFlags.ReadWrite);
|
||
// this._dataModels = this._sqLiteConnection.Table<DataModel>();
|
||
// }
|
||
// catch (Exception e)
|
||
// {
|
||
// this.Error(e.ToString());
|
||
// return false;
|
||
// }
|
||
//
|
||
// this.RefreshAllKeys();
|
||
// this.Info("加载数据库成功!!!");
|
||
// return true;
|
||
// }
|
||
//
|
||
// private void CheckUserPermission()
|
||
// {
|
||
// if (!Permission.HasUserAuthorizedPermission("android.permission.ACCESS_SUPERUSER"))
|
||
// {
|
||
// Permission.RequestUserPermission("android.permission.ACCESS_SUPERUSER");
|
||
// }
|
||
//
|
||
// if (!Permission.HasUserAuthorizedPermission("android.permission.ACCESS_SUPERUSER"))
|
||
// {
|
||
// this._isRoot = false;
|
||
// }
|
||
// else
|
||
// {
|
||
// this._isRoot = true;
|
||
// }
|
||
// this.Info($"root权限:{this._isRoot}");
|
||
// }
|
||
//
|
||
// private void ClearUserAndBackupData()
|
||
// {
|
||
// string path = Application.persistentDataPath;
|
||
// string name = "fleet_backups";
|
||
// var folder = Path.Combine(path, name);
|
||
// if (!Directory.Exists(folder))
|
||
// Directory.CreateDirectory(folder);
|
||
// var fileInfos = new DirectoryInfo(folder).GetFiles("*.back", SearchOption.TopDirectoryOnly).ToList();
|
||
// fileInfos.Sort((a, b) => a.LastWriteTime.CompareTo(b.LastWriteTime));
|
||
// while (fileInfos.Count > 20)
|
||
// {
|
||
// var fileInfo = fileInfos[0];
|
||
// fileInfos.RemoveAt(0);
|
||
// fileInfo.Delete();
|
||
// }
|
||
//
|
||
// var dataBasePath = this.GetDataBasePath();
|
||
// File.Copy(dataBasePath, Path.Combine(folder, $"mySaveBackDatacal.{DateTime.Now.ToLocalTime():yyyy-MM-dd HH_mm_ss}.back"));
|
||
// }
|
||
//
|
||
// private object LoadFunc(string s, string extension, Type type, out DestroyMethod destroymethod)
|
||
// {
|
||
// destroymethod = DestroyMethod.Unload;
|
||
// var strings = s.Split('_');
|
||
// string path = $"FGUI/{strings[0]}/{s}";
|
||
// var load = Resources.Load(path, type);
|
||
// return (object) load;
|
||
// }
|
||
//
|
||
// private void OnClickLoad()
|
||
// {
|
||
// try
|
||
// {
|
||
// this._currModel = this._dataModels.Where(t => t.key == this._currKey).FirstOrDefault();
|
||
// if (this._currModel == null)
|
||
// {
|
||
// Error($"DataModel查找失败,key:{this._currKey}");
|
||
// return;
|
||
// }
|
||
//
|
||
// this._jObject = Newtonsoft.Json.JsonConvert.DeserializeObject<JObject>(this._currModel.value);
|
||
// RefreshMainDataView(this._jObject, _uiMainUI.m_listMain);
|
||
// }
|
||
// catch (Exception e)
|
||
// {
|
||
// Error(e.ToString());
|
||
// }
|
||
//
|
||
// Info($"加载{_currKey}成功");
|
||
// }
|
||
//
|
||
//
|
||
// private void OnClickSave()
|
||
// {
|
||
// try
|
||
// {
|
||
// if (_currModel != null && _jObject != null)
|
||
// {
|
||
// var s = this._jObject.ToString();
|
||
// _currModel.value = s;
|
||
// _dataModels.Connection.Update(_currModel);
|
||
// this._dataModels = this._sqLiteConnection.Table<DataModel>();
|
||
// RefreshAllKeys();
|
||
// Info("保存成功");
|
||
// return;
|
||
// }
|
||
// }
|
||
// catch (Exception e)
|
||
// {
|
||
// Error(e.ToString());
|
||
// }
|
||
//
|
||
// this.Error("没有加载数据库");
|
||
// }
|
||
//
|
||
// private void OnClickUpload(EventContext context)
|
||
// {
|
||
// try
|
||
// {
|
||
// var btn = context.sender as GButton;
|
||
// var btnData = (int) btn.data;
|
||
// if (btnData == 0)
|
||
// {
|
||
// btn.data = 1;
|
||
// CheckCloudArchive(true).Coroutine();
|
||
// }
|
||
// else
|
||
// {
|
||
// btn.data = 0;
|
||
// UploadArchive().Coroutine();
|
||
// }
|
||
// }
|
||
// catch (Exception e)
|
||
// {
|
||
// Error(e.ToString());
|
||
// return;
|
||
// }
|
||
// }
|
||
//
|
||
// private void OnClickDownload(EventContext context)
|
||
// {
|
||
// try
|
||
// {
|
||
// var btn = context.sender as GButton;
|
||
// var btnData = (int) btn.data;
|
||
// if (btnData == 0)
|
||
// {
|
||
// btn.data = 1;
|
||
// CheckCloudArchive(false).Coroutine();
|
||
// }
|
||
// else
|
||
// {
|
||
// btn.data = 0;
|
||
// if (!this.BeforeUpdateArchive())
|
||
// return;
|
||
// DownloadArchive().Coroutine();
|
||
//// if (!this.EndUpdateArchive())
|
||
//// return;
|
||
// }
|
||
// }
|
||
// catch (Exception e)
|
||
// {
|
||
// Error(e.ToString());
|
||
// return;
|
||
// }
|
||
// }
|
||
//
|
||
// private string GetAccount()
|
||
// {
|
||
// return "198009";
|
||
// }
|
||
//
|
||
// private async ETTask CheckCloudArchive(bool isUp)
|
||
// {
|
||
// try
|
||
// {
|
||
// var versionTxt = $"version_{GetAccount()}.txt";
|
||
// var result = await FileTranslationManager.instance.DownloadFile("game_group_fleet", versionTxt);
|
||
// if (result.ResultCode == ResultCode.Success)
|
||
// {
|
||
// __Log.InfoFile("获取到版本文件");
|
||
// var validPath = MiscUtility.GetValidPath(versionTxt);
|
||
// var str = File.ReadAllText(validPath);
|
||
// var l = long.Parse(str);
|
||
// var localTime = DateTime.FromFileTime(l).ToLocalTime();
|
||
// var s = localTime.ToString("yyyy-MM-dd HH_mm_ss");
|
||
// if (isUp)
|
||
// Info($"是否上传存档?上次存档: {s}");
|
||
// else
|
||
// {
|
||
// Info($"是否下载存档?上次存档: {s}");
|
||
// }
|
||
// }
|
||
// else
|
||
// {
|
||
// //没有就是新的
|
||
// if (isUp)
|
||
// Info("是否上传存档?");
|
||
// else
|
||
// {
|
||
// Error("没有版本文件,无法下载");
|
||
// }
|
||
// }
|
||
// }
|
||
// catch (Exception e)
|
||
// {
|
||
// Error(e.ToString());
|
||
// return;
|
||
// }
|
||
// }
|
||
//
|
||
// private async ETTask UploadArchive()
|
||
// {
|
||
// try
|
||
// {
|
||
// var versionTxt = $"version_{GetAccount()}.txt";
|
||
// var validPath = MiscUtility.GetValidPath(versionTxt);
|
||
// File.WriteAllText(validPath, DateTime.Now.ToLocalTime().ToFileTime().ToString());
|
||
// __Log.InfoFile("创建版本文件");
|
||
// var result = await FileTranslationManager.instance.UploadFile("game_group_fleet", versionTxt);
|
||
// if (!result.IsSuccess())
|
||
// {
|
||
// this.Error($"上传版本文件失败:{result.Message}");
|
||
// return;
|
||
// }
|
||
//
|
||
// __Log.InfoFile("上传版本文件成功");
|
||
//
|
||
// var dataBasePath = this.GetDataBasePath();
|
||
// var jsbSqlite = $"mySaveDatacal";
|
||
// File.Copy(dataBasePath, MiscUtility.GetValidPath(jsbSqlite), true);
|
||
// result = await FileTranslationManager.instance.UploadFile("game_group_fleet", jsbSqlite);
|
||
// if (!result.IsSuccess())
|
||
// {
|
||
// this.Error($"上传存档失败:{result.Message}");
|
||
// return;
|
||
// }
|
||
// else
|
||
// {
|
||
// Info($"上传存档成功!!{dataBasePath}");
|
||
// }
|
||
// }
|
||
// catch (Exception e)
|
||
// {
|
||
// Error(e.ToString());
|
||
// return;
|
||
// }
|
||
// }
|
||
//
|
||
// private async ETTask DownloadArchive()
|
||
// {
|
||
// try
|
||
// {
|
||
// var jsbSqlite = $"mySaveDatacal";
|
||
// var result = await FileTranslationManager.instance.DownloadFile("game_group_fleet", jsbSqlite);
|
||
// if (!result.IsSuccess())
|
||
// {
|
||
// this.Error($"下载存档失败:{result.Message}");
|
||
// return;
|
||
// }
|
||
// else
|
||
// {
|
||
// var dataBasePath = this.GetDataBasePath();
|
||
// var sourceFileName = MiscUtility.GetValidPath(jsbSqlite);
|
||
// File.Copy(sourceFileName, dataBasePath, true);
|
||
// Info($"下载存档成功!! {sourceFileName}=>{dataBasePath}");
|
||
// }
|
||
// }
|
||
// catch (Exception e)
|
||
// {
|
||
// Error(e.ToString());
|
||
// return;
|
||
// }
|
||
// }
|
||
//
|
||
//
|
||
// private void RefreshAllKeys()
|
||
// {
|
||
// List<string> strs = new List<string>();
|
||
// for (var i = 0; i < this._dataModels.Count(); i++)
|
||
// {
|
||
// var elementAt = this._dataModels.ElementAt(i);
|
||
// strs.Add(elementAt.key);
|
||
// }
|
||
//
|
||
// this._uiMainUI.m_comboxCurrKey.items = strs.ToArray();
|
||
// this._uiMainUI.m_comboxCurrKey.onChanged.Set(OnCurrKeyChanged);
|
||
// }
|
||
//
|
||
//
|
||
// private string GetDataBasePath()
|
||
// {
|
||
//#if UNITY_EDITOR
|
||
// return @"C:\Users\Cal\Pictures\逍遥安卓照片\Screenshots\mySaveBackDatacal";
|
||
//#else
|
||
// return this._dataPath;
|
||
//#endif
|
||
// }
|
||
//
|
||
// private void RefreshMainDataView(JObject jObject, GTree gTree)
|
||
// {
|
||
// gTree.RemoveChildrenToPool();
|
||
// gTree.treeNodeRender = TreeNodeRender;
|
||
// gTree.treeNodeWillExpand = TreeNodeWillExpand;
|
||
// var root = gTree.rootNode;
|
||
// var properties = jObject.Properties();
|
||
// List<JToken> list = new List<JToken>(properties);
|
||
// this._root = new JsonNode(false, null);
|
||
// GenNode(_root, list);
|
||
// if (this._root.children != null)
|
||
// {
|
||
// foreach (var child in this._root.children)
|
||
// {
|
||
// var hasChild = !child.isLeaf;
|
||
// var gTreeNode = new GTreeNode(hasChild, UI_InfoItem.URL);
|
||
// gTreeNode.data = child;
|
||
// root.AddChild(gTreeNode);
|
||
// if (hasChild)
|
||
// {
|
||
// var uiInfoItem = new UI_InfoItem(gTreeNode.cell);
|
||
// CheckJArray(child.data.data, uiInfoItem, gTreeNode, child);
|
||
// uiInfoItem.m_btnLastPage.onClick.Set(() => { OnClickLastPage(child, gTreeNode, uiInfoItem); });
|
||
// uiInfoItem.m_btnNextPage.onClick.Set(() => { OnClickNextPage(child, gTreeNode, uiInfoItem); });
|
||
// }
|
||
// }
|
||
// }
|
||
// }
|
||
//
|
||
//
|
||
// private void OnClickLastPage(JsonNode child, GTreeNode gTreeNode, UI_InfoItem uiInfoItem)
|
||
// {
|
||
// try
|
||
// {
|
||
// var pageData = child.data.data;
|
||
// pageData.page--;
|
||
// pageData.page = Mathf.Clamp(pageData.page, 0, pageData.maxPage - 1);
|
||
// gTreeNode.expanded = false;
|
||
// gTreeNode.expanded = true;
|
||
// uiInfoItem.m_txtPage.text = $"{pageData.page + 1}/{pageData.maxPage}";
|
||
// }
|
||
// catch (Exception e)
|
||
// {
|
||
// Error(e.ToString());
|
||
// }
|
||
// }
|
||
//
|
||
// private void OnClickNextPage(JsonNode child, GTreeNode gTreeNode, UI_InfoItem uiInfoItem)
|
||
// {
|
||
// try
|
||
// {
|
||
// var pageData = child.data.data;
|
||
// pageData.page++;
|
||
// pageData.page = Mathf.Clamp(pageData.page, 0, pageData.maxPage - 1);
|
||
// gTreeNode.expanded = false;
|
||
// gTreeNode.expanded = true;
|
||
// uiInfoItem.m_txtPage.text = $"{pageData.page + 1}/{pageData.maxPage}";
|
||
// }
|
||
// catch (Exception e)
|
||
// {
|
||
// Error(e.ToString());
|
||
// }
|
||
// }
|
||
//
|
||
// private static void CheckJArray(PageData pageData, UI_InfoItem uiInfoItem, GTreeNode gTreeNode, JsonNode child)
|
||
// {
|
||
// var data = (JsonNodeData) child.data;
|
||
// NewMethod(pageData, uiInfoItem, data.jToken);
|
||
// }
|
||
//
|
||
// static void NewMethod(PageData pageData, UI_InfoItem uiInfoItem, JToken jToken)
|
||
// {
|
||
// if (jToken is JArray jArray1)
|
||
// {
|
||
// pageData.maxPage = jArray1.Count / maxListViewNum + 1;
|
||
// uiInfoItem.m_groupPage.visible = true;
|
||
// uiInfoItem.m_txtPage.text = $"{pageData.page + 1}/{pageData.maxPage}";
|
||
// }
|
||
// else if (jToken is JProperty jProperty)
|
||
// {
|
||
// NewMethod(pageData, uiInfoItem, jProperty.Value);
|
||
// }
|
||
// else if (jToken is JObject jObject)
|
||
// {
|
||
// pageData.maxPage = jObject.Count / maxListViewNum + 1;
|
||
// uiInfoItem.m_groupPage.visible = true;
|
||
// uiInfoItem.m_txtPage.text = $"{pageData.page + 1}/{pageData.maxPage}";
|
||
// }
|
||
// else
|
||
// {
|
||
// uiInfoItem.m_groupPage.visible = false;
|
||
// }
|
||
// }
|
||
//
|
||
// private void TreeNodeWillExpand(GTreeNode node, bool expand)
|
||
// {
|
||
// var jsonNode = (JsonNode) node.data;
|
||
// if (expand)
|
||
// {
|
||
// var jsonNodeData = jsonNode.data;
|
||
// var _currPage = (int) jsonNodeData.data.page;
|
||
// var start = _currPage * maxListViewNum;
|
||
// var end = start + maxListViewNum;
|
||
// end = Mathf.Min(jsonNode.children.Count, end);
|
||
// for (var i = start; i < end; i++)
|
||
// {
|
||
// var child = jsonNode.children[i];
|
||
// var gTreeNode = new GTreeNode(!child.isLeaf, UI_InfoItem.URL);
|
||
// gTreeNode.data = child;
|
||
// node.AddChild(gTreeNode);
|
||
// if (!child.isLeaf)
|
||
// {
|
||
// var uiInfoItem = new UI_InfoItem(gTreeNode.cell);
|
||
// CheckJArray(child.data.data, uiInfoItem, gTreeNode, child);
|
||
// uiInfoItem.m_btnLastPage.onClick.Set(() => { OnClickLastPage(child, gTreeNode, uiInfoItem); });
|
||
// uiInfoItem.m_btnNextPage.onClick.Set(() => { OnClickNextPage(child, gTreeNode, uiInfoItem); });
|
||
// }
|
||
// }
|
||
// }
|
||
// else
|
||
// {
|
||
// node.RemoveChildren();
|
||
// }
|
||
// }
|
||
//
|
||
// private void GenNode(JsonNode node, IEnumerable<JToken> jProperties)
|
||
// {
|
||
// foreach (var token in jProperties)
|
||
// {
|
||
// bool hasChild = token.HasValues;
|
||
// if (token is JProperty jp)
|
||
// {
|
||
// hasChild = jp.Value.HasValues;
|
||
// }
|
||
// else if (token is JValue)
|
||
// {
|
||
// hasChild = false;
|
||
// }
|
||
// else if (token is JObject)
|
||
// {
|
||
// }
|
||
//
|
||
// var treeNode = new JsonNode(!hasChild, new JsonNodeData(token, new PageData(0, 0)));
|
||
// node.AddChild(treeNode);
|
||
//
|
||
// if (hasChild)
|
||
// {
|
||
// List<JToken> list = null;
|
||
// if (token is JProperty jProperty)
|
||
// {
|
||
// list = new List<JToken>(jProperty.Value.Children());
|
||
// }
|
||
// else if (token is JObject jObject)
|
||
// {
|
||
// list = new List<JToken>(jObject.Properties());
|
||
// }
|
||
// else if (token is JArray jArray)
|
||
// {
|
||
// list = new List<JToken>(jArray.Children());
|
||
// }
|
||
//
|
||
// if (list == null)
|
||
// {
|
||
// Error($"{token.GetType()} is invalid");
|
||
// }
|
||
//
|
||
// GenNode(treeNode, list);
|
||
// }
|
||
// else
|
||
// {
|
||
// }
|
||
// }
|
||
// }
|
||
//
|
||
// private void TreeNodeRender(GTreeNode node, GComponent obj)
|
||
// {
|
||
// try
|
||
// {
|
||
// var nodeData = (JsonNode) node.data;
|
||
// JsonNodeData jsonNodeData = (JsonNodeData) nodeData.data;
|
||
// var token = jsonNodeData.jToken;
|
||
// UI_InfoItem item = new UI_InfoItem(obj);
|
||
// if (token is JProperty jProperty)
|
||
// {
|
||
// this.ShowToken(jProperty.Name, jProperty.Value, item);
|
||
// }
|
||
// else
|
||
// {
|
||
// string name = token.Path;
|
||
// if (token.Parent is JProperty jPropertyParent)
|
||
// {
|
||
// name = jPropertyParent.Name;
|
||
// }
|
||
//
|
||
// this.ShowToken(name, token, item);
|
||
// }
|
||
// }
|
||
// catch (Exception e)
|
||
// {
|
||
// Error(e.ToString());
|
||
// }
|
||
// }
|
||
//
|
||
// private void ShowToken(string name, JToken token, UI_InfoItem item)
|
||
// {
|
||
// if (token is JValue jValue)
|
||
// {
|
||
// this.OnShowValue(name, jValue.Value, jValue, out var isComBox, out var str, out DateTime dateTime);
|
||
// item.m_type.selectedIndex = isComBox ? 1 : 0;
|
||
// item.m_txtValueName.text = name;
|
||
// this.ShowValue(jValue, dateTime, item, isComBox);
|
||
// }
|
||
// else if (token is JObject jObject)
|
||
// {
|
||
// item.m_txtValueName.text = $"{name}:{this.GetPropertyName(this._currKey, name, token)}";
|
||
// }
|
||
// else if (token is JArray jArray)
|
||
// {
|
||
// item.m_txtValueName.text = $"{name}:{this.GetPropertyName(this._currKey, name, token)}";
|
||
// }
|
||
// else
|
||
// {
|
||
// item.m_txtValueName.text = $"{name}:{this.GetPropertyName(this._currKey, name, token)}";
|
||
// }
|
||
// }
|
||
//
|
||
// private class ComBoxData
|
||
// {
|
||
// public UI_LabelDateTimeInput ui;
|
||
// public JValue jValue;
|
||
//
|
||
// public ComBoxData(UI_LabelDateTimeInput ui, JValue jValue)
|
||
// {
|
||
// this.ui = ui;
|
||
// this.jValue = jValue;
|
||
// }
|
||
// }
|
||
//
|
||
// private void ShowValue(JValue jPropertyValue, DateTime dateTime, UI_InfoItem item, bool isComBox)
|
||
// {
|
||
// if (isComBox)
|
||
// {
|
||
// var uiLabelDateTimeInput = new UI_LabelDateTimeInput(item.m_loaderContext.component);
|
||
//
|
||
// uiLabelDateTimeInput.m_boxYear.items = new List<int>() {2021, 2023, 2024}.ConvertAll(t => t.ToString()).ToArray();
|
||
// var list = new List<int>();
|
||
// for (var i = 1; i <= 12; i++)
|
||
// {
|
||
// list.Add(i);
|
||
// }
|
||
//
|
||
// uiLabelDateTimeInput.m_boxMonth.items = list.ConvertAll(t => t.ToString()).ToArray();
|
||
// list = new List<int>();
|
||
// for (var i = 1; i <= 31; i++)
|
||
// {
|
||
// list.Add(i);
|
||
// }
|
||
//
|
||
// uiLabelDateTimeInput.m_boxDay.items = list.ConvertAll(t => t.ToString()).ToArray();
|
||
// list = new List<int>();
|
||
// for (var i = 0; i <= 23; i++)
|
||
// {
|
||
// list.Add(i);
|
||
// }
|
||
//
|
||
// uiLabelDateTimeInput.m_boxHour.items = list.ConvertAll(t => t.ToString()).ToArray();
|
||
// list = new List<int>();
|
||
// for (var i = 0; i <= 59; i++)
|
||
// {
|
||
// list.Add(i);
|
||
// }
|
||
//
|
||
// uiLabelDateTimeInput.m_boxMinute.items = list.ConvertAll(t => t.ToString()).ToArray();
|
||
// list = new List<int>();
|
||
// for (var i = 0; i <= 59; i++)
|
||
// {
|
||
// list.Add(i);
|
||
// }
|
||
//
|
||
// uiLabelDateTimeInput.m_boxSecond.items = list.ConvertAll(t => t.ToString()).ToArray();
|
||
// list = new List<int>();
|
||
// for (var i = 0; i <= 999; i++)
|
||
// {
|
||
// list.Add(i);
|
||
// }
|
||
//
|
||
// uiLabelDateTimeInput.m_boxMillSecond.items = list.ConvertAll(t => t.ToString()).ToArray();
|
||
//
|
||
// uiLabelDateTimeInput.m_boxYear.data = new ComBoxData(uiLabelDateTimeInput, jPropertyValue);
|
||
// uiLabelDateTimeInput.m_boxMonth.data = new ComBoxData(uiLabelDateTimeInput, jPropertyValue);
|
||
// ;
|
||
// uiLabelDateTimeInput.m_boxDay.data = new ComBoxData(uiLabelDateTimeInput, jPropertyValue);
|
||
// ;
|
||
// uiLabelDateTimeInput.m_boxHour.data = new ComBoxData(uiLabelDateTimeInput, jPropertyValue);
|
||
// ;
|
||
// uiLabelDateTimeInput.m_boxMinute.data = new ComBoxData(uiLabelDateTimeInput, jPropertyValue);
|
||
// ;
|
||
// uiLabelDateTimeInput.m_boxSecond.data = new ComBoxData(uiLabelDateTimeInput, jPropertyValue);
|
||
// ;
|
||
// uiLabelDateTimeInput.m_boxMillSecond.data = new ComBoxData(uiLabelDateTimeInput, jPropertyValue);
|
||
// ;
|
||
//
|
||
// ComBoxForeach(uiLabelDateTimeInput, comBox => { comBox.onChanged.Set(OnSelectTimeChanged); });
|
||
// ComBoxForeach(uiLabelDateTimeInput, comBox =>
|
||
// {
|
||
// comBox.dropdown.onAddedToStage.Set(OnShowComBox);
|
||
// comBox.dropdown.data = comBox;
|
||
// });
|
||
//
|
||
//
|
||
// uiLabelDateTimeInput.m_boxYear.text = dateTime.Year.ToString();
|
||
// uiLabelDateTimeInput.m_boxMonth.text = dateTime.Month.ToString();
|
||
// uiLabelDateTimeInput.m_boxDay.text = dateTime.Day.ToString();
|
||
//
|
||
// uiLabelDateTimeInput.m_boxHour.text = dateTime.Hour.ToString();
|
||
// uiLabelDateTimeInput.m_boxMinute.text = dateTime.Minute.ToString();
|
||
// uiLabelDateTimeInput.m_boxSecond.text = dateTime.Second.ToString();
|
||
// uiLabelDateTimeInput.m_boxMillSecond.text = dateTime.Millisecond.ToString();
|
||
// }
|
||
// else
|
||
// {
|
||
// item.m_loaderContext.component.text = jPropertyValue.Value?.ToString();
|
||
// item.m_loaderContext.component.touchable = true;
|
||
// item.m_loaderContext.component.onFocusOut.Set(OnChangeValue);
|
||
// item.m_loaderContext.component.data = jPropertyValue;
|
||
// }
|
||
// }
|
||
//
|
||
// private void ComBoxForeach(UI_LabelDateTimeInput uiLabelDateTimeInput, Action<GComboBox> action)
|
||
// {
|
||
// action?.Invoke(uiLabelDateTimeInput.m_boxYear);
|
||
// action?.Invoke(uiLabelDateTimeInput.m_boxMonth);
|
||
// action?.Invoke(uiLabelDateTimeInput.m_boxDay);
|
||
// action?.Invoke(uiLabelDateTimeInput.m_boxHour);
|
||
// action?.Invoke(uiLabelDateTimeInput.m_boxMinute);
|
||
// action?.Invoke(uiLabelDateTimeInput.m_boxSecond);
|
||
// action?.Invoke(uiLabelDateTimeInput.m_boxMillSecond);
|
||
// }
|
||
//
|
||
// private void OnShowComBox(EventContext context)
|
||
// {
|
||
// try
|
||
// {
|
||
// var contextSender = context.sender as GComponent;
|
||
// var comboBox = contextSender.data as GComboBox;
|
||
// var comboBoxText = comboBox.text;
|
||
// var indexOf = comboBox.itemList.IndexOf(comboBoxText);
|
||
// var gList = contextSender.GetChild("list").asList;
|
||
// var max = Mathf.Min(comboBox.itemList.Count - 1, indexOf + 4);
|
||
// gList.ScrollToView(max);
|
||
// }
|
||
// catch (Exception e)
|
||
// {
|
||
// Error(e.ToString());
|
||
// }
|
||
// }
|
||
//
|
||
//
|
||
// private void OnSelectTimeChanged(EventContext context)
|
||
// {
|
||
// try
|
||
// {
|
||
// var gComboBox = context.sender as GComboBox;
|
||
// var uiLabelDateTimeInput = gComboBox.data as ComBoxData;
|
||
// var t1 = int.Parse(uiLabelDateTimeInput.ui.m_boxYear.text);
|
||
// var t2 = int.Parse(uiLabelDateTimeInput.ui.m_boxMonth.text);
|
||
// var t3 = int.Parse(uiLabelDateTimeInput.ui.m_boxDay.text);
|
||
// var t4 = int.Parse(uiLabelDateTimeInput.ui.m_boxHour.text);
|
||
// var t5 = int.Parse(uiLabelDateTimeInput.ui.m_boxMinute.text);
|
||
// var t6 = int.Parse(uiLabelDateTimeInput.ui.m_boxSecond.text);
|
||
// var t7 = int.Parse(uiLabelDateTimeInput.ui.m_boxMillSecond.text);
|
||
// var dateTime = new DateTime(t1, t2, t3, t4, t5, t6, t7);
|
||
// var unixTimeMilliseconds = new DateTimeOffset(dateTime.ToUniversalTime()).ToUnixTimeMilliseconds();
|
||
// var json = unixTimeMilliseconds.ToString();
|
||
//
|
||
// var jValue = uiLabelDateTimeInput.jValue;
|
||
// var jValueValue = (JValue) JToken.Parse(json);
|
||
// if (jValue.Value?.ToString() != jValueValue.Value?.ToString())
|
||
// Info($"修改[{jValue.Path}] 为{json}");
|
||
// jValue.Value = jValueValue.Value;
|
||
// }
|
||
// catch (Exception e)
|
||
// {
|
||
// Error(e.ToString());
|
||
// }
|
||
// }
|
||
//
|
||
// private void OnCurrKeyChanged(EventContext context)
|
||
// {
|
||
// try
|
||
// {
|
||
// var text = this._uiMainUI.m_comboxCurrKey.text;
|
||
// this._currKey = text;
|
||
// OnClickLoad();
|
||
// }
|
||
// catch (Exception e)
|
||
// {
|
||
// Error(e.ToString());
|
||
// }
|
||
// }
|
||
//
|
||
// private void OnChangeValue(EventContext context)
|
||
// {
|
||
// try
|
||
// {
|
||
// var eventDispatcher = context.sender;
|
||
// var gTextInput = (GLabel) eventDispatcher;
|
||
// var jValue = (JValue) gTextInput.data;
|
||
// var text = gTextInput.text;
|
||
// if (text == "True")
|
||
// {
|
||
// text = "true";
|
||
// }
|
||
//
|
||
// if (text == "False")
|
||
// {
|
||
// text = "false";
|
||
// }
|
||
//
|
||
// if (jValue.Type == JTokenType.String)
|
||
// {
|
||
// text = $"\"{text}\"";
|
||
// }
|
||
//
|
||
// if (text.IsNullOrWhiteSpace() && jValue.Type == JTokenType.Null)
|
||
// {
|
||
// text = "null";
|
||
// }
|
||
//
|
||
// var jValueValue = (JValue) JToken.Parse(text);
|
||
// if (jValue.Value?.ToString() != jValueValue.Value?.ToString())
|
||
// Info($"修改[{jValue.Path}] 为{text}");
|
||
// jValue.Value = jValueValue.Value;
|
||
// }
|
||
// catch (Exception e)
|
||
// {
|
||
// Error(e.ToString());
|
||
// }
|
||
// }
|
||
//
|
||
// private string GetPropertyName(string rowKey, string path, JToken token)
|
||
// {
|
||
// if (rowKey.Equals("Hero"))
|
||
// {
|
||
// if (path.StartsWith("HeroList["))
|
||
// {
|
||
// var heroUid = token["HeroUid"];
|
||
// var heroID = token["HeroID"];
|
||
// var heroLevel = token["HeroLevel"];
|
||
// return $" {heroUid} {heroID} {heroLevel}";
|
||
// }
|
||
// }
|
||
//
|
||
// return null;
|
||
// }
|
||
//
|
||
// private bool OnShowValue(string name, [CanBeNull] object value, JValue jValue, out bool isComBox, out string result, out DateTime dateTime)
|
||
// {
|
||
// isComBox = false;
|
||
// result = null;
|
||
// dateTime = default;
|
||
// if (value == null)
|
||
// return false;
|
||
// result = value.ToString();
|
||
// if (jValue.Type == JTokenType.Integer)
|
||
// {
|
||
// long v = (long) value;
|
||
// result = Result(v, result, out isComBox, ref dateTime);
|
||
// }
|
||
//
|
||
// if (jValue.Type == JTokenType.Float)
|
||
// {
|
||
// float v1 = (float) (double) value;
|
||
// long v = (long) Mathf.Round(v1);
|
||
// result = Result(v, result, out isComBox, ref dateTime);
|
||
// }
|
||
//
|
||
// return true;
|
||
// }
|
||
//
|
||
// private static string Result(long v, string result, out bool isComBox, ref DateTime resultDateTime)
|
||
// {
|
||
// isComBox = false;
|
||
// if (v > 1600000251147)
|
||
// {
|
||
// DateTime dateTime = DateTimeOffset.FromUnixTimeMilliseconds(v).UtcDateTime;
|
||
// if (dateTime.Year > 2000 && dateTime.Year < 2100 && dateTime.Month >= 1 && dateTime.Month <= 12)
|
||
// {
|
||
// resultDateTime = dateTime.ToLocalTime();
|
||
// var s = resultDateTime.ToString("yyyy-MM-dd HH-mm-ss.fff");
|
||
// result = s;
|
||
// isComBox = true;
|
||
// }
|
||
// }
|
||
//
|
||
// return result;
|
||
// }
|
||
//
|
||
//
|
||
// private void Info(string str)
|
||
// {
|
||
// __Log.Info(str);
|
||
// }
|
||
//
|
||
// private void Error(string str)
|
||
// {
|
||
// __Log.Error(str);
|
||
// }
|
||
//
|
||
// private void Print(string msg)
|
||
// {
|
||
// _logItmes.Add(msg);
|
||
// while (this._logItmes.Count > 100)
|
||
// _logItmes.RemoveAt(0);
|
||
// _logDirty = true;
|
||
// }
|
||
//
|
||
// private void Update()
|
||
// {
|
||
// if (_logDirty)
|
||
// {
|
||
// _logDirty = false;
|
||
// this.RefreshLog();
|
||
// }
|
||
// }
|
||
//
|
||
// private void RefreshLog()
|
||
// {
|
||
// this._uiMainUI.m_listLog.RemoveChildrenToPool();
|
||
// foreach (var logItme in this._logItmes)
|
||
// {
|
||
// var asButton = this._uiMainUI.m_listLog.AddItemFromPool().asButton;
|
||
// asButton.title = logItme;
|
||
// }
|
||
//
|
||
// this._uiMainUI.m_listLog.ScrollToView(this._uiMainUI.m_listLog.numItems - 1);
|
||
// }
|
||
// }
|
||
//} |