Please enable JavaScript.
Coggle requires JavaScript to display documents.
JAL - Coggle Diagram
JAL
🧠 JAL Architecture Overview
App.Controllers ⚙️
GameManager (Mono)
Responsibility: High-level app state machine
States: MainMenu, SimulationLoading, SimulationPlaying, SimulationPaused, SimulationEnded
References: SimulationController, SimulationConfiguration
SimulationController (Mono)
Responsibility: Manages live simulation (StepHandler)
Features: GoToNextStep(), GoToPreviousStep(), Pause(), Play(), EndSimulation()
References: AudioView, InGameUIView, SimulationRuntimeData
App.Model 💾
SimulationConfiguration (SO)
Responsibility: Settings for next simulation
Data: selectedLanguage, selectedFlight, selectedModule, selectedMode
UserSettings (SO)
Data: backgroundVolume, sfxVolume, instructionVolume
Responsibility: Persistent user preferences
SimulationRuntimeData (CS)
Responsibility: Live data for current session
Data: totalEvaluationSteps, currentStepIndex, stepStatus, GetScore()
App.Views 👁️
UI Views
MainMenuView (Mono)
Responsibility: Main menu UI; writes SimulationConfiguration; starts simulation via GameManager
PinnableUIPanel (Mono)
Responsibility: Pins UI in world space
Core Views
AudioView (Mono)
Responsibility: Manages AudioSources and AudioMixer; reads UserSettings
FadeView (Mono)
Responsibility: Controls fade in/out transitions
VRHandHandler (Mono)
Responsibility: Manages visual hand representation
Core.XR 🕶️
XR_Configuration (Prefab)
Responsibility: Root player prefab (OVRCameraRig, XRInteractionManager, Input Handlers)
TeleportationHandler (Mono)
Responsibility: Controls teleportation enable/disable via SimulationController