using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading.Tasks; using EGFramework.UI; using Godot; using LiteDB; using Newtonsoft.Json; using Renci.SshNet; namespace EGFramework.Examples.Test { public partial class ViewSaveSystem : Node, IEGFramework { public string[][] DataList { get; set; } public string[][] DataList2 { get; set; } Container container{ set; get; } public override void _Ready() { // TestTree(); // TestTable(); // TestJson(); // TestDialog(); TestMySQL(); } public override void _ExitTree() { } public void TestMySQL() { EGDapper mysqlSave = this.EGSave().Load("server=" + "localhost" + ";port=" + "3306" + ";uid=" + "root" + ";pwd=" + "root" + ";database=" + "Test3" + ";"); bool isExist = mysqlSave.ContainsData("DataStudent",3); GD.Print(isExist); // mysqlSave.CreateTable("DataStudent"); // DataStudent stuData = new DataStudent("Bob", 12); // stuData.Path = new EGPathSelect(){Path = "AA"}; // mysqlSave.AddData("DataStudent",stuData); // DataStu stu1 = new DataStu("Anti", 20,"London"); // mysqlSave.AddData("DataStudent",stu1); // DataStu stu2 = new DataStu("CC", 23,"NewYork"){Age = 19}; // DataStu stu3 = new DataStu("Rocket", 24,"Paris"){Age = 26}; // List stuList = new List(); // stuList.Add(stu2); // stuList.Add(stu3); // mysqlSave.AddData("DataStudent",stuList); // mysqlSave.RemoveData("DataStudent",2); // IEnumerable findStudent = mysqlSave.FindData("DataStudent", e => e.Name == "CC"); // IEnumerable findStudent = mysqlSave.FindData("DataStudent","Name","CC"); // GD.Print(findStudent.Count() +" data has been find!"); // int count = 0; // foreach (DataStu stu in findStudent) // { // DataStu NewData = new DataStu("CC_" + count, stu.Age, stu.Path); // mysqlSave.UpdateData("DataStudent", NewData, stu.ID); // count++; // } } public void TestDialog() { DataStudent dataStudent = new DataStudent(); dataStudent.EGenerateDictiontaryByObject(); this.ExecuteAfterSecond(() => { this.EGEditDialog(new DataStudent().EGenerateDictiontaryByObject(), e => { GD.Print("Name:" + e["Name"] + "Age:" + e["Age"]); }, "Edit"); }, 0.2f); } public void TestJson() { string json = @"{ 'CPU': 'Intel', 'PSU': '500W', 'Drives': [ 'DVD read/writer' /*(broken)*/, '500 gigabyte hard drive', '200 gigabyte hard drive' ], 'My' : { 'AA':'BB', 'Date': new Date(123456789) } }"; EGJsonSave jsonManage = this.EGSave().Read("Example", json); GD.Print(jsonManage.GetObject("CPU")); // JsonTextReader reader = new JsonTextReader(new StringReader(json)); // while (reader.Read()) // { // if (reader.Value != null) // { // GD.Print("Token: {"+reader.TokenType+"}, Value: {"+ reader.Value+"}"); // } // else // { // GD.Print("Token: {"+ reader.TokenType+"}"); // } // } } public void TestTree() { string json = @"{ 'CPU': 'Intel', 'PSU': '500W', 'My' : { 'AA':'BB', 'Date': 111 } }"; container = this.GetNode("TabContainer"); EGodotTree eGodotTree = container.CreateNode("TestTree"); eGodotTree.InitByJson(json); } public void TestTable() { container = this.GetNode("TabContainer"); List dataStudents = new List(); for (int stu = 0; stu < 10; stu++) { dataStudents.Add(new DataStudent("stu" + stu, 18)); } for (int stu = 0; stu < 11; stu++) { dataStudents.Add(new DataStudent("A" + stu, 20 + stu)); } EGodotTable table = container.CreateNode("Default"); table.InitData(dataStudents); // EGSqliteSave SqliteTest = this.EGSave().Load("SaveData/test.db"); // EGodotSaveTable PersonTable = container.CreateNode("SQLite"); // PersonTable.InitSaveData(SqliteTest); // PersonTable.InitData("person"); } } public struct DataStudent { public int ID; public string Name { get; set; } public int Age; public EGPathSelect Path { set; get; } public DataStudent(string name, int age) { Name = name; Age = age; ID = 0; Path = new EGPathSelect(); } } public struct DataStu { public int ID; public string Name { get; set; } public int Age { set; get; } public string Path { set; get; } public DataStu(string name, int age,string path) { Name = name; Age = age; ID = 0; Path = path; } } public struct DataPerson { public string id { get; set; } public string namee { set; get; } public string workPlace { set; get; } public string policeNum { set; get; } } }