The following inheritance tree gives all classes present in the source code, in alphabetical order at each level, along with short descriptions.
-
AnimationManager - Utility class for setting animation markers and querying animation length.
-
AnnouncementEntry - An announcement.
-
AnnouncementQueue - An announcement queue based on priority
-
Announcer - Announces audible messages to the player.
-
App - 'coverup_in_progress' renamed to 'coverup_selected'
-
Audio - Layer which handles the Lua-facing side of loading and playing audio.
-
Button - A region of a `Panel` which causes some action when clicked.
-
CallsDispatcher
-
Cheats - A holder for all cheats in the game
-
Date - Date class is meant to encapsulate logic around months, years, days, hours.
It should be able to do adjustments with regards to days in given month and so on.
Date objects should be immutable and that is why date adjustments return new objects
instead of modifying the current one.
-
Earthquake - Manages all earthquakes in the world
-
EndConditions
-
Entity - Abstraction for visible gameplay things which sit somewhere on the map.
-
Humanoid - An `Entity` which occupies a single tile and is capable of moving around the map.
-
GrimReaper
-
Inspector - An `Inspector` is called to the hospital after an epidemic to issue a report
-
Patient - A `Humanoid` who is in the hospital for diagnosis and/or treatment.
-
Staff - A Doctor, Nurse, Receptionist, Handyman, or Surgeon
-
Doctor - A Doctor (Researcher,Surgan,Psychologist)
-
Handyman - A Doctor, Nurse, Receptionist, Handyman, or Surgeon
-
Nurse - A Doctor, Nurse, Receptionist, Handyman, or Surgeon
-
Receptionist - A Doctor, Nurse, Receptionist, Handyman, or Surgeon
-
Vip - A `Vip` who is in the hospital to evaluate the hospital and produce a report
-
Litter
-
Object - An `Entity` which occupies at least a single map tile and does not move.
-
AtomAnalyser
-
Bench
-
Chair
-
Door
-
EntranceDoor
-
Helicopter - An `Object` which drops off emergency patients.
-
Machine - An `Object` which needs occasional repair (to prevent explosion).
-
OperatingSink
-
Plant - An `Object` which needs watering now and then.
-
RadiationShield
-
Rathole - For ratholes:
1904: hole in north wall
1908: rat moving north
1910: rat moving north-east
1912: rat moving east
1914: rat moving south-east
1916: rat moving south
1918: rat moving south-west
1920: rat moving west
1922: rat moving north-west
1924: rat entering hole north wall
1926: rat entering hole west wall
1928: rat leaving hole north wall
-
ReceptionDesk
-
SideObject
-
SurgeonScreen
-
EntityMap
-
Epidemic
-
FileSystem - Layer for abstracting away differences in file systems.
In the traditional case, the FileSystem is associated with a path on the
actual filesystem, from which all other operations are considered relative.
The FileSystem is also able to delegate operations to the ISO_FS library
in the engine for reading / listing files off an ISO image instead of a
file system.
-
Graphics - Layer for loading (and subsequently caching) graphical resources.
-
Hospital
-
HotkeyBox - A window element used to accept hotkey configurations.
-
HumanoidAction - Humanoid action base class.
-
Map - Lua extensions to the C++ THMap class
-
MoviePlayer
-
Panel - The basic component which makes up most `Window`s.
-
Queue - Manages a list of `Humanoid`s which are waiting to use an `Object`.
-
ResearchDepartment - Notes about research speed.
Original game times at 20 % in all categories with a medium doctor at level 3:
Slicer discovered in about 120 days. (10000 points)
Pump improved in about 60 days. (30000 points * 20 % as first improvement)
Invisibility improved in about 90 days. (10000 points)
Note that the original requires a nurse and a pharmacy before drugs
get improved. On the other hand it appears that the research is
stored for future use anyway.
--
-
Room
-
Scrollbar - A window element used to scroll in lists
-
StaffProfile
-
Strings - Layer which handles the loading of localised text.
-
Textbox - A window element used to enter text
-
TreeNode - Interface for items within a UI tree control
-
DummyRootNode - A tree node which can be used as a root node to give the effect of having
multiple root nodes.
-
FileTreeNode - A tree node representing a file (or directory) in the physical file-system.
-
DirTreeNode - A tree node representing a directory in the physical file-system.
-
InstallDirTreeNode - This tree only shows directories and highlights valid TH directories.
-
FilteredFileTreeNode - A tree node representing a file (or directory) in the physical file-system
that meets a given file extension criterion.
-
UIMenu
-
Window - Base class for user-interface dialogs.
-
TreeControl - A control (to be placed on a window) which allows the user to navigate a
tree of items and select one item from it.
-
FilteredTreeControl - A sortable tree control that accommodates a certain file type and also possibly shows
their last modification dates.
-
UI - Top-level container for all other user-interface components.
-
GameUI - Variant of UI for running games
-
UIAdviser - The (ideally) helpful advisor who pops up from the bottom dialog during a game.
-
UIBottomPanel - The multi-purpose panel for launching dialogs / screens and dynamic information.
-
UIBuildRoom
-
UIConfirmDialog - Dialog for "Are you sure you want to quit?" and similar yes/no questions.
-
UIFullscreen - Base class for 640x480px dialogs (fullscreen in original game resolution).
-
UIAnnualReport - Annual Report fullscreen window shown at the start of each year.
-
UIBankManager - Bank manager (for loans / insurance companies) and bank statement fullscreen windows.
-
UICasebook - Drug Casebook fullscreen window (view disease statistics and set prices).
-
UIFax
-
UIGraphs - Charts fullscreen window
-
UIPolicy - Hospital policy fullscreen window (set staff tiredness and patient cure thresholds, etc.).
-
UIProgressReport - Progress Report fullscreen window (check level goals, competitors and alerts).
-
UIResearch
-
UIStaffManagement - Staff management screen
-
UITownMap - Town map fullscreen window (purchase land, set radiator levels, map overview).
-
UIFurnishCorridor - Dialog for purchasing `Object`s (for the corridor or for rooms).
-
UIHireStaff
-
UIHotkeyAssignKeyPane - Child window for setting key bindings
-
UIInformation - Dialog that informs the player of for example what the goals for the level are.
-
UIJukebox
-
UIMachine
-
UIMenuBar - The ingame menu bar which sits (nominally hidden) at the top of the screen.
-
UIMessage - Small fax notification window which sits on the bottom bar.
-
UIPatient - Individual patient information dialog
-
UIPlaceObjects - The dialog shown when placing objects.
-
UIPlaceStaff - Invisible window which handles placing a `Staff` member in the world.
-
UIQueue - Room / door / reception desk queue visualisation dialog.
-
UIQueuePopup
-
UIResizable - Class for resizable windows.
-
UIStaff - Individual staff information dialog
-
UIStaffRise - Dialog for staff member requesting a salaray raise.
-
UIWatch - Timer / clock / watch / countdown dialog for emergencies / level start
-
World - Manages entities, rooms, and the date.