Antura  1.1.0
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 CAntura.Core.AppSettingsDefines settings that must be saved locally.
 CAntura.Database.DatabaseManagerEntry point for the rest of the application to access database entries. This class is responsible for loading all data and provide access to both static (learning) and dynamic (logging) data.
 CAntura.Database.DataInfo< T >Pairs the data related to a specific type T with its score and unlock state.
 CAntura.Database.DataInfo< LearningBlockData >
 CAntura.Database.DataInfo< LetterData >
 CAntura.Database.DataInfo< MiniGameData >
 CAntura.Database.DataInfo< PhraseData >
 CAntura.Database.DataInfo< PlaySessionData >
 CAntura.Database.DataInfo< WordData >
 CAntura.Database.DBServiceService that connects to SQLite. we are using Mysqlite from and engine from
 CAntura.Core.DeviceInfothe DeviceInfo class is used to collect all technical details to be included in any debug report. this class can be easily encoded into JSON by JsonUtility.ToJson(new DeviceInfo())
 CAntura.Teacher.DifficultySelectionAIHandles the selection of the difficulty to use for a given minigame
 CAntura.Rewards.EndsessionResultDataData related to a minigame played during a play session. NOTE: could be a struct, but will probably need to be a class later, so keeping it as class from the beginning
 CAntura.Minigames.IAudioManagerProvides generic audio access to the core and to minigames.

See also
 CAntura.Minigames.IAudioSourceProvides access to an Audio Source for minigames.

See also
 CAntura.Minigames.ICheckmarkWidgetProvides access to the MinigamesCheckmarkWidget UI element for minigames.

See also
 CAntura.Database.IConvertibleToLivingLetterDataDefines a type of data that can be converted to a LivingLetterData This is required as IQuestionPack uses LivingLetterData, but the data engine works on IData
 CAntura.Database.IDataInterface for a generic data element that can be handled by the application.
 CAntura.Database.IDataEditableInterface that allows the ID of an IData to be set
 CAntura.Database.IDataTableInterface for a table related to a specific IData inside the static database.
 CAntura.Minigames.IGameRepresents a minigame manager.
 CAntura.Minigames.IGameConfigurationInterface for all configuration containers of minigames. Holds data passed from the core application to the minigame at a given instance. All minigames define their own configuration class.
 CAntura.Minigames.IGameContextProvides access to core functionalities to minigames.

See also
 CAntura.LivingLetters.IGameDataGeneral interface for generic learning content that needs to be accessed by minigames.
 CAntura.Minigames.IInputManagerProvides generic input access to the core and to minigames.

See also
 CAntura.LivingLetters.ILivingLetterDataCommon interface for data that can appear on a LivingLetter object. This represents a piece of learning content (dictionary data) as viewed through a LivingLetter character.
 CAntura.LivingLetters.ILivingLetterDataProviderInterface for a provider of ILivingLetterData. Used by minigames to access dictionary content with no specific structure.
 CAntura.Minigames.ILogManagerProvides generic log access to the core and to minigames.

See also
LogManager, MinigamesLogManager
 CAntura.Minigames.IOverlayWidgetProvides access to the OverlayWidget UI element for minigames.

See also
 CAntura.Minigames.IPopupWidgetProvides access to the MinigamesStarsWidget UI element for minigames.

See also
 CAntura.Teacher.IQuestionBuilderDefines rules on how question packs can be generated for a specific mini game.
 CAntura.LivingLetters.IQuestionProviderThe question provider takes the responsibility to provide a set of questions to its user; And a description that could describe the questions set (e.g. the string ID for "Find the correct letter used in the word" in arabic).
 CAntura.Database.IScoreDataInterface for a generic data element that defines a score value.
 CAntura.Minigames.IStarsWidgetProvides access to the MinigamesStarsWidget UI element for minigames.

See also
 CAntura.FSM.IStateRepresents a game state in the StateManager
 CAntura.Minigames.ISubtitlesWidgetProvides access to the SubtitlesWidget UI element for minigames.

See also
 CAntura.Minigames.ITimerInterface for a generic timer.
 CAntura.Core.JourneyPositionRepresents the position of the player in the learning journey.
 CAntura.Teacher.LogAI.LearnResultParametersGeneral parameters used to define the learning result for each minigame instance
 CAntura.Teacher.LetterFiltersParameters used by a QuestionBuilder to filter what letters can be selected.
 CAntura.Core.LocalizationManagerStatic class that helps in localizing strings.
 CAntura.Teacher.LogAIEntry point for logging information on play at runtime, filtered by the Teacher System.
 CAntura.Core.LogManagerApp Log Manager. Use this to log any event from app.
 CAntura.Core.MaterialPairContains materials pair needed to set right color of Starndard Rewards.
 CAntura.Minigames.MinigameLaunchConfigurationData passed to a minigame to configure it.
 CAntura.Minigames.MiniGameLauncherHandles the logic to launch minigames with the correct configuration.
 CAntura.Teacher.MiniGameLearnRulesSpecific rules that parameterize how a minigame handles learning content for result purposes
 CAntura.Teacher.MiniGameSelectionAIHandles the selection of what minigames to play during a playsession
 CAntura.Teacher.PhraseFiltersParameters used by a QuestionBuilder to filter what phrases can be selected.
 CAntura.Profile.PlayerIconDataContains the data to generate a saved player profile (icon in the main menu)
 CAntura.Profile.PlayerProfileA Player Profile contains persistent data on details and on the progression status of a single player.
 CAntura.Profile.PlayerProfileManagerHandles the creation, selection, and deletion of player profiles.
 CAntura.Teacher.LogAI.PlayResultParametersParameters for the results of a single minigame play session related to a specific skill.
 CAntura.Teacher.ProgressionVocabularyContentsClass that contains all vocabulary contents related to the journey progression. Useful for data filtering.
 CAntura.Teacher.QuestionBuilderParametersParameters used to configure a QuestionBuilder.
 CAntura.Teacher.QuestionPackDataHolds a single question pack as seen by the Teacher. (i.e. a question and its correct / wrong answers).
 CAntura.Teacher.QuestionPacksGeneratorGiven a minigame, handles the generation of question packs. This is also used to convert data-only question packs to LivingLetter-related question packs.
 CAntura.Rewards.RewardItemStructure focused to comunicate about items from e to UI.
 CAntura.Core.SceneTransitionManagerManager that handles scene load and transitions between scenes.
 CAntura.Core.SceneTransitionSettingsSettings for the transition between scenes.
 CAntura.Teacher.ScoreHelperUtilities that help in retrieving and updating score values for learning and progression data.
 CAntura.Teacher.SelectionParametersParameters for filtering and selecting learning data based on the minigame requirements, used by QuestionBuilders.
 CAntura.Database.SerializableDataTable< LearningBlockData >
 CAntura.Database.SerializableDataTable< LetterData >
 CAntura.Database.SerializableDataTable< LocalizationData >
 CAntura.Database.SerializableDataTable< MiniGameData >
 CAntura.Database.SerializableDataTable< PhraseData >
 CAntura.Database.SerializableDataTable< PlaySessionData >
 CAntura.Database.SerializableDataTable< RewardData >
 CAntura.Database.SerializableDataTable< StageData >
 CAntura.Database.SerializableDataTable< WordData >
 CAntura.Utilities.SingletonMonoBehaviour< AppManager >
 CAntura.Utilities.SingletonMonoBehaviour< MiniGameController >
 CAntura.Utilities.SingletonMonoBehaviour< SceneBase >
 CAntura.Utilities.SingletonMonoBehaviour< ShopDecorationsManager >
 CAntura.FSM.StateMachineManagerImplements a Finite State Machine (FSM). This is used to control minigame flow, and may also be used as a general purpose FSM.
 CAntura.Teacher.TeacherAIHandles logic that represent the Teacher's expert system:
 CAntura.Tutorial.TutorialUIAnimationUsed internally by TutorialUI to store and control animations
 CAntura.Database.VocabularyHelperProvides helpers to get correct letter/word/phrase data according to the teacher's logic and based on the player's progression
 CAntura.Teacher.VocabularySelectionAIHandles the selection of what vocabulary data a minigame should use, given a playsession
 CAntura.Teacher.WordFiltersParameters used by a QuestionBuilder to filter what words can be selected.