A lot of work, beginning client UI, adding lesson and page handling, etc

This commit is contained in:
2025-02-16 00:57:45 -06:00
parent 119609f38c
commit 4d0e64ed87
22 changed files with 444 additions and 35 deletions

View File

@@ -1,6 +1,17 @@
using System.Collections.Generic;
namespace ADEPT.Core.Lesson;
public interface ILesson
{
public string Title { get; set; }
public string Description { get; set; }
public List<IPage> Pages { get; set; }
public object LessonStateMachine { get; set; } // TODO: Implement an ILessonStateMachine
public void StartLesson();
public void EndLesson();
public void AddPage(IPage page);
public void RemovePage(IPage page);
}

View File

@@ -1,7 +1,20 @@
using System;
namespace ADEPT.Core.Lesson;
public interface ILessonHandler
{
public ILesson loadLesson(string lessonName);
public void saveLesson(ILesson lesson, string lessonName);
public event EventHandler LessonLoaded;
public event EventHandler PageChanged;
public ILesson CurrentLesson { get; }
public IPage CurrentPage { get; }
public void LoadLesson(string lessonName);
public void SaveLesson(ILesson lesson, string lessonName);
public void LoadNextPage();
public void LoadPreviousPage();
public void LoadPageToIndex(int index);
}

View File

@@ -1,6 +1,17 @@
using System.Collections.Generic;
namespace ADEPT.Core.Lesson;
public interface IPage
{
public string Title { get; set; }
public string Description { get; set; }
public ILesson Lesson { get; }
public PageContext PageContext { get; set; }
public List<IPageComponent> Components { get; set; }
public void Start();
public void End();
}