using Godot; using System; using BITKit; namespace BITFactory; public partial class CourseElement : Node { private static Node CurrentScene; [Export] public PackedScene CourseScene; [Export] private Label courseLabel; [Export] private Button entryButton; [Export] public string CourseName { get => _courseName; set { if (courseLabel is not null) courseLabel.Text = _courseName = value; } } private string _courseName; public override void _Ready() { //entryButton.Connect(nameof(Button.press)) entryButton.Pressed += EntryCourse; } private void EntryCourse() { if (CourseScene is null) { return; } if (CurrentScene is not null) { BIT4Log.Log($"正在释放课程:\t{CurrentScene.Name}"); CurrentScene.QueueFree(); BIT4Log.Log($"已释放当前课程:\t{CurrentScene.Name}"); } CurrentScene = CourseScene.Instantiate(); GetTree().Root.AddChild(CurrentScene); UXService.Open(CurrentScene as Control); BIT4Log.Log($"已加载新的课程:\t{CurrentScene.Name}"); } }