# 3xtomorrow/late-night-deadline architecture

> Architecture diagram of the GitHub repository 3xtomorrow/late-night-deadline, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/3xtomorrow/late-night-deadline
- Repository: https://github.com/3xtomorrow/late-night-deadline

## Overview

This appears to be a Unity 2D game set in a dorm room. The likely player workflow is to move through the room, inspect or interact with objects, and encounter environmental and computer/phone interactions. The tree identifies gameplay scripts and assets, but no README or source excerpts were provided, so behavior and connections cannot be verified; dashed links mark only plausible relationships inferred from names.

Main entry points: [`Assets/Scripts/PlayerRaycast.cs`](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/PlayerRaycast.cs) (Interaction raycast), [`Assets/Scripts/Computer Scripts/Computer.cs`](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Computer%20Scripts/Computer.cs) (Computer), [`Assets/Scripts/Computer Scripts/ApplicationWindow.cs`](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Computer%20Scripts/ApplicationWindow.cs) (Application window), [`Assets/Scripts/PlayerMovement.cs`](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/PlayerMovement.cs) (Player movement)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_player["Player Controls"]
  node_movement["Player movement<br/>[PlayerMovement.cs]"]
  node_raycast["Interaction raycast<br/>[PlayerRaycast.cs]"]
  node_footsteps["Footstep audio"]
end

subgraph group_world["Room Interactions"]
  node_door["Door<br/>[Door.cs]"]
  node_cover["Area cover<br/>[AreaCover.cs]"]
  node_battery["Battery drawer<br/>[BatteryDrawer.cs]"]
  node_flashlight["Flashlight<br/>[Flashlight.cs]"]
  node_pushback["Flashlight pushback"]
end

subgraph group_devices["In-Game Devices"]
  node_phone["Phone<br/>[Phone.cs]"]
  node_computer["Computer<br/>[Computer.cs]"]
  node_power["Power button<br/>[PowerButton.cs]"]
  node_screen["Screen click<br/>[ScreenClick.cs]"]
  node_switch["App switch manager"]
  node_window["Application window"]
  node_math["Math application<br/>[MathApplication.cs]"]
  node_close["Close application"]
end

subgraph group_narrative["Events and Feedback"]
  node_stranger["The Stranger<br/>[TheStranger.cs]"]
end

subgraph group_contracts["Interaction Contracts"]
  node_draggable["Draggable contract<br/>[IDraggable.cs]"]
  node_interactable["Interactable contract<br/>[IInteractable.cs]"]
  node_screenbutton["Screen button contract<br/>[IScreenButton.cs]"]
end

node_player(("Player"))

node_player -.->|"controls"| node_movement
node_movement -.->|"may trigger"| node_footsteps
node_player -.->|"inspects room"| node_raycast
node_raycast -.->|"may interact"| node_door
node_raycast -.->|"may interact"| node_battery
node_raycast -.->|"may interact"| node_phone
node_raycast -.->|"may interact"| node_computer
node_flashlight -.->|"may trigger"| node_pushback
node_computer -.->|"may use"| node_power
node_computer -.->|"may receive clicks"| node_screen
node_screen -.->|"may dispatch"| node_switch
node_switch -.->|"may manage"| node_window
node_window -.->|"may host"| node_math
node_window -.->|"may close"| node_close

click node_movement "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/PlayerMovement.cs"
click node_raycast "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/PlayerRaycast.cs"
click node_footsteps "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/FootstepsManager.cs"
click node_door "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Door.cs"
click node_cover "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/AreaCover.cs"
click node_battery "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/BatteryDrawer.cs"
click node_flashlight "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Flashlight.cs"
click node_pushback "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/FlashlightPushback.cs"
click node_phone "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Phone.cs"
click node_computer "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Computer%20Scripts/Computer.cs"
click node_power "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Computer%20Scripts/PowerButton.cs"
click node_screen "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Computer%20Scripts/ScreenClick.cs"
click node_switch "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Computer%20Scripts/ComputerSwitchManager.cs"
click node_window "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Computer%20Scripts/ApplicationWindow.cs"
click node_math "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Computer%20Scripts/MathApplication.cs"
click node_close "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Computer%20Scripts/CloseApplication.cs"
click node_stranger "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/TheStranger.cs"
click node_draggable "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Interfaces/IDraggable.cs"
click node_interactable "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Interfaces/IInteractable.cs"
click node_screenbutton "https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Interfaces/IScreenButton.cs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_movement,node_raycast,node_footsteps toneBlue
class node_door,node_cover,node_battery,node_flashlight,node_pushback toneAmber
class node_phone,node_computer,node_power,node_screen,node_switch,node_window,node_math,node_close toneMint
class node_stranger toneRose
class node_draggable,node_interactable,node_screenbutton,node_player toneIndigo
```

## Components

### Player Controls

- [Player movement](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/PlayerMovement.cs): `Assets/Scripts/PlayerMovement.cs`
- [Interaction raycast](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/PlayerRaycast.cs): `Assets/Scripts/PlayerRaycast.cs`
- [Footstep audio](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/FootstepsManager.cs): `Assets/Scripts/FootstepsManager.cs`

### Room Interactions

- [Door](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Door.cs): `Assets/Scripts/Door.cs`
- [Area cover](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/AreaCover.cs): `Assets/Scripts/AreaCover.cs`
- [Battery drawer](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/BatteryDrawer.cs): `Assets/Scripts/BatteryDrawer.cs`
- [Flashlight](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Flashlight.cs): `Assets/Scripts/Flashlight.cs`
- [Flashlight pushback](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/FlashlightPushback.cs): `Assets/Scripts/FlashlightPushback.cs`

### In-Game Devices

- [Phone](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Phone.cs): `Assets/Scripts/Phone.cs`
- [Computer](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Computer%20Scripts/Computer.cs): `Assets/Scripts/Computer Scripts/Computer.cs`
- [Power button](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Computer%20Scripts/PowerButton.cs): `Assets/Scripts/Computer Scripts/PowerButton.cs`
- [Screen click](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Computer%20Scripts/ScreenClick.cs): `Assets/Scripts/Computer Scripts/ScreenClick.cs`
- [App switch manager](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Computer%20Scripts/ComputerSwitchManager.cs): `Assets/Scripts/Computer Scripts/ComputerSwitchManager.cs`
- [Application window](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Computer%20Scripts/ApplicationWindow.cs): `Assets/Scripts/Computer Scripts/ApplicationWindow.cs`
- [Math application](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Computer%20Scripts/MathApplication.cs): `Assets/Scripts/Computer Scripts/MathApplication.cs`
- [Close application](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Computer%20Scripts/CloseApplication.cs): `Assets/Scripts/Computer Scripts/CloseApplication.cs`

### Events and Feedback

- [The Stranger](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/TheStranger.cs): `Assets/Scripts/TheStranger.cs`

### Interaction Contracts

- [Draggable contract](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Interfaces/IDraggable.cs): `Assets/Scripts/Interfaces/IDraggable.cs`
- [Interactable contract](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Interfaces/IInteractable.cs): `Assets/Scripts/Interfaces/IInteractable.cs`
- [Screen button contract](https://github.com/3xtomorrow/late-night-deadline/blob/main/Assets/Scripts/Interfaces/IScreenButton.cs): `Assets/Scripts/Interfaces/IScreenButton.cs`

### Other components

- **Player**

## Connections

- Player → Player movement: controls
- Player movement → Footstep audio: may trigger
- Player → Interaction raycast: inspects room
- Interaction raycast → Door: may interact
- Interaction raycast → Battery drawer: may interact
- Interaction raycast → Phone: may interact
- Interaction raycast → Computer: may interact
- Flashlight → Flashlight pushback: may trigger
- Computer → Power button: may use
- Computer → Screen click: may receive clicks
- Screen click → App switch manager: may dispatch
- App switch manager → Application window: may manage
- Application window → Math application: may host
- Application window → Close application: may close
