You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

117 lines
3.4 KiB

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
{
3 months ago
public string[][] DataList { get; set; }
public string[][] DataList2 { get; set; }
Container container{ set; get; }
public override void _Ready()
{
TestTree();
TestTable();
}
public override void _ExitTree()
{
}
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)
}
}";
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>("TabContainer");
EGodotTree eGodotTree = container.CreateNode<EGodotTree>("TestTree");
eGodotTree.InitByJson(json);
}
public void TestTable()
{
container = this.GetNode<TabContainer>("TabContainer");
3 months ago
List<DataStudent> dataStudents = new List<DataStudent>();
2 months ago
for (int stu = 0; stu < 10; stu++)
{
dataStudents.Add(new DataStudent("stu" + stu, 18));
2 months ago
}
for (int stu = 0; stu < 11; stu++)
2 months ago
{
dataStudents.Add(new DataStudent("A" + stu, 20 + stu));
2 months ago
}
EGodotTable table = container.CreateNode<EGodotTable>("Default");
2 months ago
table.InitData<DataStudent>(dataStudents);
// EGSqliteSave SqliteTest = this.EGSave().Load<EGSqliteSave>("SaveData/test.db");
// EGodotSaveTable PersonTable = container.CreateNode<EGodotSaveTable>("SQLite");
// PersonTable.InitSaveData<EGSqliteSave>(SqliteTest);
// PersonTable.InitData<DataPerson>("person");
}
}
2 months ago
public struct DataStudent
{
public int ID;
3 months ago
public string Name { get; set; }
public int Age;
2 months ago
public EGPathSelect Path { set; get; }
public DataStudent(string name, int age)
{
3 months ago
Name = name;
Age = age;
ID = 0;
2 months ago
Path = new EGPathSelect();
3 months ago
}
}
public struct DataPerson{
public string id { get; set; }
public string namee { set; get; }
public string workPlace { set; get; }
public string policeNum { set; get; }
}
}