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.

97 lines
3.6 KiB

using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using EGFramework.UI;
using Godot;
using LiteDB;
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()
{
container = this.GetNode<TabContainer>("TabContainer");
Tree newTree = container.CreateNode<Tree>("treeTest");
TreeItem root = newTree.CreateItem();
TreeItem child1 = newTree.CreateItem(root);
TreeItem child2 = newTree.CreateItem(root);
TreeItem subchild1 = newTree.CreateItem(child1);
subchild1.SetText(0, "Subchild1");
child1.SetText(0, "child1");
child2.SetText(0, "child2");
Image image = Image.LoadFromFile("icon.svg");
ImageTexture texture = ImageTexture.CreateFromImage(image);
child2.AddButton(0, texture);
child2.SetButtonColor(0, 0, Colors.AliceBlue);
child2.SetIcon(0, texture);
child2.SetCellMode(0, TreeItem.TreeCellMode.String);
subchild1.SetIndeterminate(0, false);
child1.SetEditable(0,true);
}
public override void _ExitTree()
{
}
public void TestTable()
{
List<DataStudent> dataStudents = new List<DataStudent>();
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<EGodotTable>("Default");
table.InitData<DataStudent>(dataStudents);
EGSqliteSave SqliteTest = this.EGSave().Load<EGSqliteSave>("SaveData/test.db");
// IEnumerable<string> dataBaseKey = SqliteTest.GetKeys();
// GD.Print(dataBaseKey);
// foreach (string data in dataBaseKey)
// {
// GD.Print(data);
// }
EGodotSaveTable PersonTable = container.CreateNode<EGodotSaveTable>("SQLite");
PersonTable.InitSaveData<EGSqliteSave>(SqliteTest);
PersonTable.InitData<DataPerson>("person");
// EGodotTableRowData rowData = container.CreateNode<EGodotTableRowData>("RowData");
// rowData.Init(new Dictionary<string, object>() { { "Name", "Tom" }, { "Age", 18 } });
// EGodotRowData rowData2 = container.CreateNode<EGodotRowData>("RowData2");
// rowData2.Init(new Dictionary<string, object>() { { "Name", "Z" }, { "Age", 1 } });
// EGodotEditParam editParam = container.CreateNode<EGodotEditParam>("editParam");
// editParam.Init(new KeyValuePair<string, object>("数量",1));
}
}
public struct DataStudent
{
public string Name { get; set; }
public int Age;
public int ID;
public EGPathSelect Path { set; get; }
public DataStudent(string name, int age)
{
Name = name;
Age = age;
ID = 0;
Path = new EGPathSelect();
}
}
public struct DataPerson{
public string id { get; set; }
public string namee { set; get; }
public string workPlace { set; get; }
public string policeNum { set; get; }
}
}