Hierarchy For All Packages
Package Hierarchies:- com.deco2800.game,
 - com.deco2800.game.ai.movement,
 - com.deco2800.game.ai.tasks,
 - com.deco2800.game.areas,
 - com.deco2800.game.areas.terrain,
 - com.deco2800.game.components,
 - com.deco2800.game.components.achievements,
 - com.deco2800.game.components.achievements.pojo,
 - com.deco2800.game.components.clues,
 - com.deco2800.game.components.countDownClock,
 - com.deco2800.game.components.endingmenu,
 - com.deco2800.game.components.gamearea,
 - com.deco2800.game.components.gameoverScreen,
 - com.deco2800.game.components.maingame,
 - com.deco2800.game.components.mainmenu,
 - com.deco2800.game.components.mainmenu.storyline,
 - com.deco2800.game.components.map,
 - com.deco2800.game.components.npc,
 - com.deco2800.game.components.npcEvictionMenu,
 - com.deco2800.game.components.player,
 - com.deco2800.game.components.player.entity,
 - com.deco2800.game.components.settingsmenu,
 - com.deco2800.game.components.storyline,
 - com.deco2800.game.components.tasks,
 - com.deco2800.game.concurrency,
 - com.deco2800.game.entities,
 - com.deco2800.game.entities.configs,
 - com.deco2800.game.entities.configs.achievementConfigs,
 - com.deco2800.game.entities.factories,
 - com.deco2800.game.events,
 - com.deco2800.game.events.listeners,
 - com.deco2800.game.files,
 - com.deco2800.game.input,
 - com.deco2800.game.music,
 - com.deco2800.game.physics,
 - com.deco2800.game.physics.components,
 - com.deco2800.game.physics.raycast,
 - com.deco2800.game.rendering,
 - com.deco2800.game.screens,
 - com.deco2800.game.services,
 - com.deco2800.game.ui,
 - com.deco2800.game.ui.terminal,
 - com.deco2800.game.ui.terminal.commands,
 - com.deco2800.game.utils,
 - com.deco2800.game.utils.math
 
Class Hierarchy
- java.lang.Object
- com.deco2800.game.files.AchievementArchive
 - com.deco2800.game.entities.configs.achievementConfigs.AchievementConditionConfig
 - com.deco2800.game.entities.configs.achievementConfigs.AchievementConfigs
 - com.deco2800.game.entities.factories.AchievementFactory
 - com.deco2800.game.entities.configs.achievementConfigs.AchievementPropertyConfig
 - com.deco2800.game.services.AchievementService (implements com.badlogic.gdx.utils.Disposable)
 - com.deco2800.game.components.achievements.pojo.AchievementStatus
- com.deco2800.game.components.achievements.pojo.CollectionAchievementStatus
 
 - com.badlogic.gdx.scenes.scene2d.Actor
- com.deco2800.game.components.npcEvictionMenu.ParticleActor
 
 - com.deco2800.game.physics.raycast.AllHitCallback (implements com.badlogic.gdx.physics.box2d.RayCastCallback)
 - com.deco2800.game.components.player.entity.Backpack (implements com.deco2800.game.components.player.entity.Inventory)
 - com.deco2800.game.entities.configs.BaseEntityConfig
- com.deco2800.game.entities.configs.GhostKingConfig
 - com.deco2800.game.entities.configs.PlayerConfig
 
 - com.deco2800.game.physics.BodyUserData
 - com.deco2800.game.entities.configs.bulletConfig
 - com.deco2800.game.components.clues.ClueLibrary
- com.deco2800.game.components.clues.OtherClues
 - com.deco2800.game.components.clues.TraitorClues
 
 - com.deco2800.game.components.Component
- com.deco2800.game.components.achievements.AchievementStatsComponent
 - com.deco2800.game.components.achievements.AchievementsUpdater
 - com.deco2800.game.components.player.AddToInventoryComponent
 - com.deco2800.game.ai.tasks.AITaskComponent (implements com.deco2800.game.ai.tasks.TaskRunner)
 - com.deco2800.game.components.CameraComponent
 - com.deco2800.game.components.player.ClueItemComponent
 - com.deco2800.game.physics.components.ColliderComponent
- com.deco2800.game.physics.components.HitboxComponent
 
 - com.deco2800.game.components.CombatStatsComponent
 - com.deco2800.game.components.player.ConsumeableItemComponent
 - com.deco2800.game.components.endingmenu.EndingMenuActions
 - com.deco2800.game.components.player.FistAttackComponent
 - com.deco2800.game.components.npc.GhostAnimationController
 - com.deco2800.game.components.player.GunAttackComponent
 - com.deco2800.game.input.InputComponent (implements com.badlogic.gdx.input.GestureDetector.GestureListener, com.badlogic.gdx.InputProcessor)
- com.deco2800.game.input.InputDecorator
 - com.deco2800.game.components.player.KeyboardPlayerInputComponent
 - com.deco2800.game.ui.terminal.KeyboardTerminalInputComponent
 - com.deco2800.game.components.player.TouchPlayerInputComponent
 - com.deco2800.game.ui.terminal.TouchTerminalInputComponent
 
 - com.deco2800.game.components.player.InventoryComponent (implements com.deco2800.game.components.player.entity.Inventory)
 - com.deco2800.game.components.player.KnifeAttackComponent
 - com.deco2800.game.components.maingame.MainGameActions
 - com.deco2800.game.components.mainmenu.MainMenuActions
 - com.deco2800.game.components.npc.MonsterAnimationController
 - com.deco2800.game.physics.components.PhysicsComponent
 - com.deco2800.game.physics.components.PhysicsMovementComponent (implements com.deco2800.game.ai.movement.MovementController)
 - com.deco2800.game.components.player.PlayerActions
 - com.deco2800.game.components.player.PlayerAnimationController
 - com.deco2800.game.rendering.RenderComponent (implements com.badlogic.gdx.utils.Disposable, com.deco2800.game.rendering.Renderable)
- com.deco2800.game.rendering.AnimationRenderComponent
 - com.deco2800.game.areas.terrain.TerrainComponent
 - com.deco2800.game.rendering.TextureRenderComponent
 - com.deco2800.game.ui.UIComponent (implements com.deco2800.game.rendering.Renderable)
- com.deco2800.game.components.achievements.AchievementsDisplay
 - com.deco2800.game.components.countDownClock.countdownDisplay
 - com.deco2800.game.components.player.DamageFlashDisplayComponent
 - com.deco2800.game.components.endingmenu.EndingMenuDisplay
 - com.deco2800.game.components.gamearea.GameAreaDisplay
 - com.deco2800.game.components.gameoverScreen.GameOverDisplay
 - com.deco2800.game.components.player.InventoryDisplayComponent
 - com.deco2800.game.components.map.Lab_1_Display
 - com.deco2800.game.components.map.Lab_2_Display
 - com.deco2800.game.components.map.Lab_3_Display
 - com.deco2800.game.components.map.Lab_4_Display
 - com.deco2800.game.components.map.Lab_5_Display
 - com.deco2800.game.components.map.LabHouseDisplay
 - com.deco2800.game.components.mainmenu.LoadGameDisplay
 - com.deco2800.game.components.maingame.MainGameExitDisplay
 - com.deco2800.game.components.mainmenu.MainMenuDisplay
 - com.deco2800.game.components.map.MapDisplay
 - com.deco2800.game.components.npcEvictionMenu.NpcEvictionMenuDisplay
 - com.deco2800.game.components.npcEvictionMenu.NpcEvictionMenuDisplayNew
 - com.deco2800.game.components.npc.NpcInteractionDisplay
 - com.deco2800.game.components.countDownClock.PausedWindow
 - com.deco2800.game.components.gamearea.PerformanceDisplay
 - com.deco2800.game.components.player.PlayerProfileDisplay
 - com.deco2800.game.components.player.PlayerStatsDisplay
 - com.deco2800.game.components.player.SaveGameDisplay
 - com.deco2800.game.components.settingsmenu.SettingsMenuDisplay
 - com.deco2800.game.components.storyline.StorylineDisplay
 - com.deco2800.game.components.countDownClock.TaskWindow
 - com.deco2800.game.ui.terminal.TerminalDisplay
 - com.deco2800.game.components.endingmenu.timeOverDisplay
 - com.deco2800.game.components.mainmenu.storyline.TutorialDisplay
 
 
 - com.deco2800.game.components.player.SwitchComponent
 - com.deco2800.game.ui.terminal.Terminal
 - com.deco2800.game.components.player.ToolComponent
 - com.deco2800.game.components.TouchAttackComponent
 - com.deco2800.game.components.npc.TriggerDialogComponent
 
 - com.deco2800.game.components.ComponentType
 - com.deco2800.game.ui.terminal.commands.DebugCommand (implements com.deco2800.game.ui.terminal.commands.Command)
 - com.deco2800.game.rendering.DebugRenderer
 - com.deco2800.game.ai.tasks.DefaultTask (implements com.deco2800.game.ai.tasks.Task)
- com.deco2800.game.components.tasks.ChaseTask (implements com.deco2800.game.ai.tasks.PriorityTask)
 - com.deco2800.game.components.tasks.DistanceTask (implements com.deco2800.game.ai.tasks.PriorityTask)
 - com.deco2800.game.components.tasks.MovementTask
 - com.deco2800.game.components.tasks.MovingTask (implements com.deco2800.game.ai.tasks.PriorityTask)
 - com.deco2800.game.components.tasks.SwitchTask (implements com.deco2800.game.ai.tasks.PriorityTask)
 - com.deco2800.game.components.tasks.WaitTask
 - com.deco2800.game.components.tasks.WanderTask (implements com.deco2800.game.ai.tasks.PriorityTask)
 
 - com.deco2800.game.components.npc.DialogWithSelection
 - com.deco2800.game.entities.Entity
 - com.deco2800.game.entities.EntityService
 - com.deco2800.game.events.EventHandler
 - com.deco2800.game.files.FileLoader
 - com.badlogic.gdx.Game (implements com.badlogic.gdx.ApplicationListener)
- com.deco2800.game.GdxGame
 
 - com.deco2800.game.areas.GameArea (implements com.badlogic.gdx.utils.Disposable)
- com.deco2800.game.areas.ForestGameArea
 
 - com.deco2800.game.services.GameTime
 - com.deco2800.game.utils.math.GridPoint2Utils
 - com.deco2800.game.input.InputFactory
- com.deco2800.game.input.KeyboardInputFactory
 - com.deco2800.game.input.TouchInputFactory
 
 - com.deco2800.game.input.InputService (implements com.badlogic.gdx.input.GestureDetector.GestureListener, com.badlogic.gdx.InputProcessor)
 - com.deco2800.game.components.player.entity.Item
- com.deco2800.game.components.player.entity.BatteryItem
 - com.deco2800.game.components.player.entity.ClueItem
- com.deco2800.game.components.player.entity.CoralItem
 
 - com.deco2800.game.components.player.entity.ConsumableItem
 - com.deco2800.game.components.player.entity.EquipmentItem
 - com.deco2800.game.components.player.entity.ToolItem
 
 - com.deco2800.game.entities.configs.ItemConfigs
 - com.deco2800.game.entities.factories.ItemFactory
- com.deco2800.game.entities.factories.ClueItemFactory
 - com.deco2800.game.entities.factories.ConsumableItemFactory
 
 - com.deco2800.game.concurrency.JobSystem
 - com.deco2800.game.music.MusicStuff
 - com.deco2800.game.components.npc.NPCClueLibrary
 - com.deco2800.game.entities.configs.NPCConfigs
 - com.deco2800.game.entities.factories.NPCFactory
 - com.deco2800.game.components.npc.NpcInteraction
- com.deco2800.game.components.npc.AdvancedNpcInteraction
 
 - com.deco2800.game.entities.factories.ObstacleFactory
 - com.deco2800.game.physics.PhysicsContactListener (implements com.badlogic.gdx.physics.box2d.ContactListener)
 - com.deco2800.game.physics.PhysicsEngine (implements com.badlogic.gdx.utils.Disposable)
 - com.deco2800.game.physics.PhysicsLayer
 - com.deco2800.game.physics.PhysicsService
 - com.deco2800.game.physics.PhysicsUtils
 - com.deco2800.game.entities.factories.PlayerFactory
 - com.deco2800.game.entities.configs.PlayerProfileConfig
 - com.deco2800.game.entities.configs.PlayerProfileProperties
 - com.deco2800.game.utils.math.RandomUtils
 - com.deco2800.game.physics.raycast.RaycastHit
 - com.deco2800.game.rendering.Renderer (implements com.badlogic.gdx.utils.Disposable)
 - com.deco2800.game.entities.factories.RenderFactory
 - com.deco2800.game.rendering.RenderService (implements com.badlogic.gdx.utils.Disposable)
 - com.deco2800.game.services.ResourceService (implements com.badlogic.gdx.utils.Disposable)
 - com.badlogic.gdx.ScreenAdapter (implements com.badlogic.gdx.Screen)
- com.deco2800.game.screens.AchievementsScreen
 - com.deco2800.game.screens.CountdownScreen
 - com.deco2800.game.screens.EndingMenuScreen
 - com.deco2800.game.screens.LabHouseScreen
 - com.deco2800.game.screens.LabScreen_1
 - com.deco2800.game.screens.LabScreen_2
 - com.deco2800.game.screens.LabScreen_3
 - com.deco2800.game.screens.LabScreen_4
 - com.deco2800.game.screens.LabScreen_5
 - com.deco2800.game.screens.LoadSaveScreen
 - com.deco2800.game.screens.MainGameScreen
 - com.deco2800.game.screens.MainMenuScreen
 - com.deco2800.game.screens.MapScreen
 - com.deco2800.game.screens.NpcEvictionMenu
 - com.deco2800.game.screens.SettingsScreen
 - com.deco2800.game.screens.StorylineScreen
 - com.deco2800.game.screens.TimeIsOverScreen
 - com.deco2800.game.screens.TutorialScreen
 
 - com.deco2800.game.services.ServiceLocator
 - com.deco2800.game.physics.raycast.SingleHitCallback (implements com.badlogic.gdx.physics.box2d.RayCastCallback)
 - com.deco2800.game.utils.SortedIntMap<V> (implements java.lang.Iterable<T>)
 - com.deco2800.game.utils.StringDecorator<T>
 - com.deco2800.game.entities.factories.SwitchFactory
 - com.deco2800.game.areas.terrain.TerrainFactory
 - com.deco2800.game.areas.terrain.TerrainTile (implements com.badlogic.gdx.maps.tiled.TiledMapTile)
 - com.deco2800.game.files.UserSettings
 - com.deco2800.game.files.UserSettings.DisplaySettings
 - com.deco2800.game.files.UserSettings.Settings
 - com.deco2800.game.utils.math.Vector2Utils
 
 
Interface Hierarchy
- com.deco2800.game.ui.terminal.commands.Command
 - java.lang.Comparable<T>
- com.deco2800.game.rendering.Renderable
 
 - com.deco2800.game.events.listeners.EventListener
- com.deco2800.game.events.listeners.EventListener0
 - com.deco2800.game.events.listeners.EventListener1<T>
 - com.deco2800.game.events.listeners.EventListener2<T0,
T1>  - com.deco2800.game.events.listeners.EventListener3<T0,
T1, T2>  
 - com.deco2800.game.components.player.entity.Inventory
 - com.deco2800.game.ai.movement.MovementController
 - com.deco2800.game.ai.tasks.Task
- com.deco2800.game.ai.tasks.PriorityTask
 
 - com.deco2800.game.ai.tasks.TaskRunner
 
Enum Class Hierarchy
- java.lang.Object
- java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
- com.deco2800.game.files.FileLoader.Location
 - com.deco2800.game.GdxGame.ScreenType
 - com.deco2800.game.input.InputFactory.InputType
 - com.deco2800.game.components.npcEvictionMenu.NpcEvictionMenuDisplayNew.NpcResultDialogType
 - com.deco2800.game.entities.factories.NPCFactory.CommunicativeNpcName
 - com.deco2800.game.physics.components.PhysicsComponent.AlignX
 - com.deco2800.game.physics.components.PhysicsComponent.AlignY
 - com.deco2800.game.ai.tasks.Task.Status
 - com.deco2800.game.areas.terrain.TerrainComponent.TerrainOrientation
 - com.deco2800.game.areas.terrain.TerrainFactory.TerrainType
 
 
 - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)