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.combatitemscomponents,
 - com.deco2800.game.components.deathscreen,
 - com.deco2800.game.components.DefensiveItemsComponents,
 - com.deco2800.game.components.gamearea,
 - com.deco2800.game.components.leveltransition,
 - com.deco2800.game.components.maingame,
 - com.deco2800.game.components.mainmenu,
 - com.deco2800.game.components.npc,
 - com.deco2800.game.components.player,
 - com.deco2800.game.components.settingsmenu,
 - com.deco2800.game.components.tasks,
 - com.deco2800.game.concurrency,
 - com.deco2800.game.crafting,
 - com.deco2800.game.entities,
 - com.deco2800.game.entities.configs,
 - com.deco2800.game.entities.configs.combatitemsconfig,
 - 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.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.services.commands,
 - com.deco2800.game.SkillsTree,
 - 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.badlogic.gdx.scenes.scene2d.Actor
- com.badlogic.gdx.scenes.scene2d.ui.Widget (implements com.badlogic.gdx.scenes.scene2d.utils.Layout)
- com.badlogic.gdx.scenes.scene2d.ui.Image
- com.deco2800.game.components.combatitemscomponents.AnimatedImage
 
 
 - com.badlogic.gdx.scenes.scene2d.ui.Image
 
 - com.badlogic.gdx.scenes.scene2d.ui.Widget (implements com.badlogic.gdx.scenes.scene2d.utils.Layout)
 - com.deco2800.game.physics.raycast.AllHitCallback (implements com.badlogic.gdx.physics.box2d.RayCastCallback)
 - com.deco2800.game.components.DefensiveItemsComponents.ArmourConfig
 - com.deco2800.game.entities.factories.ArmourFactory
 - com.deco2800.game.components.DefensiveItemsComponents.ArmourTypeConfig
 - com.deco2800.game.entities.configs.combatitemsconfig.AuraConfig
 - com.deco2800.game.entities.factories.AuraFactory
 - com.deco2800.game.entities.configs.combatitemsconfig.BaseAuraConfig
 - com.deco2800.game.entities.configs.BaseEntityConfig
- com.deco2800.game.entities.configs.ChildConfig
 - com.deco2800.game.entities.configs.FemaleCitizenConfig
 - com.deco2800.game.entities.configs.FriendlyCreatureConfig
 - com.deco2800.game.entities.configs.FriendPetConfig
 - com.deco2800.game.entities.configs.GuardConfig
 - com.deco2800.game.entities.configs.GymBroConfig
 - com.deco2800.game.entities.configs.HeraclesConfig
 - com.deco2800.game.entities.configs.HumanGuardConfig
 - com.deco2800.game.entities.configs.maleCitizenConfig
 - com.deco2800.game.entities.configs.MegaPoopConfig
 - com.deco2800.game.entities.configs.PlayerConfig
 - com.deco2800.game.entities.configs.PlugConfig
 - com.deco2800.game.entities.configs.PlumberFriendConfig
 - com.deco2800.game.entities.configs.PoopsConfig
 
 - com.deco2800.game.physics.BodyUserData
 - com.deco2800.game.components.Component
- com.deco2800.game.ai.tasks.AITaskComponent (implements com.deco2800.game.ai.tasks.TaskRunner)
 - com.deco2800.game.components.DefensiveItemsComponents.ArmourStatsComponent
 - com.deco2800.game.components.BackgroundSoundComponent
 - com.deco2800.game.components.CameraComponent
 - com.deco2800.game.physics.components.ColliderComponent
- com.deco2800.game.physics.components.HitboxComponent
 
 - com.deco2800.game.components.CombatStatsComponent
 - com.deco2800.game.components.deathscreen.DeathScreenActions
 - com.deco2800.game.components.npc.DialogueAnimationController
 - com.deco2800.game.components.npc.EnemyExperienceComponent
 - com.deco2800.game.components.npc.EnemyProjectileComponent
 - com.deco2800.game.components.npc.GymBroAnimationController
 - com.deco2800.game.components.npc.HeraclesAnimationController
 - com.deco2800.game.input.InputComponent (implements com.badlogic.gdx.input.GestureDetector.GestureListener, com.badlogic.gdx.InputProcessor)
- com.deco2800.game.components.npc.DialogueKeybordInputComponent
 - com.deco2800.game.input.InputDecorator
 - com.deco2800.game.components.player.KeyboardPlayerInputComponent
 - com.deco2800.game.ui.terminal.KeyboardTerminalInputComponent
 - com.deco2800.game.components.mainmenu.MainMenuTransitionComponent
 - com.deco2800.game.components.player.TouchPlayerInputComponent
 - com.deco2800.game.ui.terminal.TouchTerminalInputComponent
 - com.deco2800.game.components.leveltransition.TransitionInputComponent
 
 - com.deco2800.game.components.player.InventoryComponent
 - com.deco2800.game.components.ItemPickupComponent
- com.deco2800.game.components.combatitemscomponents.AuraPickupComponent
 
 - com.deco2800.game.components.leveltransition.LevelTransitionActions
 - com.deco2800.game.components.maingame.MainGameActions
 - com.deco2800.game.components.mainmenu.MainMenuActions
 - com.deco2800.game.components.npc.MegaPoopAnimationController
 - com.deco2800.game.components.MenuComponent
 - com.deco2800.game.components.npc.NPCAnimationController
 - com.deco2800.game.components.player.OpenCraftingComponent
 - com.deco2800.game.components.maingame.OpenKeyBinds
 - com.deco2800.game.components.player.OpenPauseComponent
 - com.deco2800.game.components.maingame.PauseMenuActions
 - 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.components.player.PlayerCombatAnimationController
 - com.deco2800.game.components.player.PlayerKPAnimationController
 - com.deco2800.game.components.player.PlayerModifier
 - com.deco2800.game.components.player.PlayerSkillAnimationController
 - com.deco2800.game.components.player.PlayerSkillComponent
 - com.deco2800.game.components.player.PlayerSkillProjectileComponent
 - com.deco2800.game.components.npc.PoopAnimationController
 - com.deco2800.game.components.player.PotionEffectComponent
 - 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.combatitemscomponents.BuffDisplayComponent
 - com.deco2800.game.components.player.CooldownBarDisplay
 - com.deco2800.game.components.player.Countdown
 - com.deco2800.game.components.deathscreen.DeathScreenDisplay
 - com.deco2800.game.components.maingame.DialogueDisplay
 - com.deco2800.game.components.npc.DialogueDisplay
 - com.deco2800.game.components.gamearea.GameAreaDisplay
 - com.deco2800.game.components.leveltransition.LevelTransitionDisplay
 - com.deco2800.game.components.maingame.MainGameExitDisplay
 - com.deco2800.game.components.mainmenu.MainMenuDisplay
 - com.deco2800.game.components.mainmenu.MainMenuDisplayProMax
 - com.deco2800.game.components.mainmenu.MainMenuTransitionAnimation
 - com.deco2800.game.components.gamearea.PerformanceDisplay
 - com.deco2800.game.components.player.PlayerSkillScreenOverlay
 - com.deco2800.game.components.player.PlayerStatsDisplay
 - com.deco2800.game.components.player.QuickBarDisplay
 - com.deco2800.game.components.settingsmenu.SettingsMenuDisplay
 - com.deco2800.game.SkillsTree.SkillsTreeDisplay
 - com.deco2800.game.ui.terminal.TerminalDisplay
 
 
 - com.deco2800.game.SkillsTree.SkillsTreeActions
 - com.deco2800.game.ui.terminal.Terminal
 - com.deco2800.game.components.TouchAttackComponent
- com.deco2800.game.components.player.PlayerKeyPrompt
 - com.deco2800.game.components.player.PlayerTouchAttackComponent
 
 - com.deco2800.game.components.player.TransitionMapComponent
 - com.deco2800.game.components.combatitemscomponents.WeaponArrowProjectileComponent
 - com.deco2800.game.components.combatitemscomponents.WeaponAuraComponent
 - com.deco2800.game.components.combatitemscomponents.WeaponAuraManager
 - com.deco2800.game.components.combatitemscomponents.WeaponStatsComponent
- com.deco2800.game.components.combatitemscomponents.AreaOfEffectStatsComponent
 - com.deco2800.game.components.combatitemscomponents.PhysicalWeaponStatsComponent
 
 
 - com.deco2800.game.components.ComponentType
 - com.deco2800.game.crafting.CraftingLogic
 - com.deco2800.game.crafting.CraftingSystem (implements java.lang.Runnable)
 - com.deco2800.game.services.commands.DebugCommand (implements com.deco2800.game.services.commands.Command)
 - 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.DeadTask (implements com.deco2800.game.ai.tasks.PriorityTask)
 - com.deco2800.game.components.tasks.JumpTask (implements com.deco2800.game.ai.tasks.PriorityTask)
 - com.deco2800.game.components.tasks.MovementTask
 - com.deco2800.game.components.tasks.ProjectileTask (implements com.deco2800.game.ai.tasks.PriorityTask)
 - com.deco2800.game.components.tasks.TransportTask (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.entities.factories.DialogueFactory
 - 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.areas.UndergroundGameArea
 
 - 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.concurrency.JobSystem
 - com.deco2800.game.entities.factories.MaterialFactory
 - com.deco2800.game.entities.configs.NPCConfigs
 - com.deco2800.game.entities.factories.NPCFactory
 - com.deco2800.game.entities.factories.ObstacleFactory
 - com.deco2800.game.components.maingame.OpenKeyBinds.KeyBind
 - 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.components.player.PlayerModifier.Modifier
 - com.deco2800.game.entities.factories.PotionFactory
 - com.deco2800.game.entities.factories.ProjectileFactory
 - 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.DeathScreen
 - com.deco2800.game.screens.LevelTransitionScreen
 - com.deco2800.game.screens.MainGameScreen
 - com.deco2800.game.screens.MainMenuScreen
 - com.deco2800.game.screens.MainMenuTransitionScreen
 - com.deco2800.game.screens.SettingsScreen
 - com.deco2800.game.screens.SkillsTreeScreen
 
 - 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.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
 - com.deco2800.game.entities.configs.combatitemsconfig.WeaponConfig
 - com.deco2800.game.entities.configs.combatitemsconfig.WeaponConfigSetup
 - com.deco2800.game.entities.factories.WeaponFactory
 
 - com.badlogic.gdx.scenes.scene2d.Actor
 
Interface Hierarchy
- com.deco2800.game.services.commands.Command
 - 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.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.entities.factories.ArmourFactory.ArmourType
 - com.deco2800.game.entities.factories.EntityTypes
 - com.deco2800.game.files.FileLoader.Location
 - com.deco2800.game.GdxGame.ScreenType
 - com.deco2800.game.input.InputFactory.InputType
 - com.deco2800.game.components.player.KeyboardPlayerInputComponent.MenuTypes
 - com.deco2800.game.crafting.Materials
 - com.deco2800.game.physics.components.PhysicsComponent.AlignX
 - com.deco2800.game.physics.components.PhysicsComponent.AlignY
 - com.deco2800.game.components.player.PlayerSkillComponent.SkillTypes
 - 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)