<?xml version="1.0"?>
<doc>
    <assembly>
        <name>package.thieves.terrortown</name>
    </assembly>
    <members>
        <member name="T:TerrorTown.HackyPostProcessingFix">
            <summary>
            THis fucking sucks??????? https://github.com/Facepunch/sbox-issues/issues/4827
            </summary>
        </member>
        <member name="M:TerrorTown.Developer.FindPlayer">
            <summary>
            Quick and dirty way to find the player we're controlling right now
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.ColorExtensions.Mix(Color,Color,System.Single)">
            <summary>
            Linearly blends two colors.
            </summary>
        </member>
        <member name="M:TerrorTown.ColorExtensions.AsRgbaBGStyle(Color)">
            <summary>
            "background-color:" styling with alpha support using rgba().
            </summary>
        </member>
        <member name="M:TerrorTown.ColorExtensions.AsUIBackgroundColorStyle(Color)">
            <summary>
            "background-color:" scss styling, returns a hex color after desaturating and darkening
            </summary>
        </member>
        <member name="M:TerrorTown.ColorExtensions.AsUITextStyle(Color)">
            <summary>
            "color:" scss styling, returns a hex color after desaturating and darkening
            </summary>
        </member>
        <member name="M:TerrorTown.ColorExtensions.AsUIBackgroundTint(Color)">
            <summary>
            "background-tint:" scss styling, returns a hex color after darkening
            </summary>
        </member>
        <member name="M:TerrorTown.ColorExtensions.AsHexBGStyle(Color)">
            <summary>
            "background-color:" scss styling, returns a hex color
            </summary>
        </member>
        <member name="M:TerrorTown.ColorExtensions.AsHexTextStyle(Color)">
            <summary>
            "color:" scss styling, returns a hex color
            </summary>
        </member>
        <member name="M:TerrorTown.SurfaceExtensions.ReplaceSurface(Sandbox.Surface)">
            <summary>
            Replace any base surface with our new equivelents.
            </summary> 
            <returns></returns>
        </member>
        <member name="P:TerrorTown.AttachmentProxyComponent.ModelRenderer">
            <summary>
            The ModelRenderer that our attachment is from.
            </summary>
        </member>
        <member name="T:TerrorTown.TagBinder">
            <summary>
            A utility component that lets you have tags update based on conditions,
            similarly to how we have Panel.BindClass
            </summary>
        </member>
        <member name="F:TerrorTown.TagBinder.binds">
            <summary>
            A cache of binds.
            </summary>
        </member>
        <member name="M:TerrorTown.TagBinder.HasExistingBind(System.String)">
            <summary>
            Do we have a bind already?
            </summary>
            <param name="tag"></param>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.TagBinder.BindTag(System.String,System.Func{System.Boolean})">
            <summary>
            Bind a tag to a specific condition. Must not exist.
            </summary>
            <param name="tag"></param>
            <param name="predicate"></param>
            <returns></returns>
        </member>
        <member name="T:TerrorTown.CovertInspectionTracker">
            <summary>
            Client-side tracker for bodies the local player has covertly inspected.
            Used by the scoreboard to show "Dead" for privately inspected bodies.
            </summary>
        </member>
        <member name="T:TerrorTown.GameUtils">
            <summary>
            A list of game utilities that'll help us achieve common goals with less code... I guess?
            </summary>
        </member>
        <member name="M:TerrorTown.GameUtils.GetPlayerFromComponent(Sandbox.Component)">
            <summary>
            Resolve the owning player for a damage-related component without searching arbitrary descendants from a broad scene root.
            </summary>
        </member>
        <member name="M:TerrorTown.GameUtils.GetConnectedPlayersSnapshot">
            <summary>
            Host-only!!! Snapshot the current list of connected players, make sure that they're correctly owned, then return it.
            Should help avoid potential churn during heavy things like respawning everyone after a round ends or whatever.
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.GameUtils.GetRoundManagedPlayersSnapshot">
            <summary>
            Host-only snapshot of round-managed player pawns.
            Includes connected human players plus ownerless replicated bots.
            </summary>
        </member>
        <member name="M:TerrorTown.GameUtils.GetRecoveryManagedPlayersSnapshot">
            <summary>
            Host-only snapshot used during host migration recovery.
            Unlike the normal strict connected-player snapshot, this tolerates transient
            pawn-binding churn so promoted hosts can still normalize surviving players.
            </summary>
        </member>
        <member name="P:TerrorTown.GameUtils.AllPlayers">
            <summary>
            All players, both assigned to a team and spectating.
            </summary>
        </member>
        <member name="M:TerrorTown.GameUtils.GetSpawnPoints(System.String[])">
            <summary>
            Get all spawn point transforms for the given team.
            </summary>
        </member>
        <member name="M:TerrorTown.GameUtils.GetRandomSpawnPoint(System.String[])">
            <summary>
            Pick a random spawn point for the given team.
            </summary>
        </member>
        <member name="M:TerrorTown.GameUtils.ReturnToMainMenu">
            <summary>
            Returns the invoking client to the main menu
            </summary>
        </member>
        <member name="M:TerrorTown.GameUtils.ChangeLevel(System.String,System.String)">
            <summary>
            Change level
            </summary>
            <param name="map"></param>
        </member>
        <member name="M:TerrorTown.GameUtils.TryChangeLevel(System.String,System.String)">
            <summary>
            Try to request a level change. Returns false when request is rejected.
            </summary>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.DedicatedEmptyServerResetEnabled">
            <summary>
            Dedicated servers should return to a clean map baseline after everyone leaves.
            </summary>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.DedicatedEmptyServerResetDelaySeconds">
            <summary>
            Delay before reloading an empty dedicated server, allowing disconnect bookkeeping to settle.
            </summary>
        </member>
        <member name="M:TerrorTown.GameNetworkManager.QueueDedicatedEmptyServerReset(System.String)">
            <summary>
            Dedicated-server lifecycle only. P2P/listen hosts use GameMode's host migration recovery instead.
            </summary>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.PendingDisconnectMessage">
            <summary>
            Set for the kicked/banned player before scene change so the menu can show the reason when they arrive.
            </summary>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.ClientPrefab">
            <summary>
            The ConnectedClient prefab we'll spawn whenever a player joins.
            </summary>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.PlayerPrefab">
            <summary>
            Which player prefab should we spawn?
            </summary>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.IsMultiplayer">
            <summary>
            Is this game multiplayer? If not, we won't create a lobby.
            </summary>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.IsEditor">
            <summary>
            Is this game an editor mode lobby?
            </summary>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.IsSecret">
            <summary>
            Is this game secret?
            </summary>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.Hostname">
            <summary>
            Server name for dedicated hosts. "+hostname" launch arg and used as the native lobby name.
            Empty falls back to "Dedicated Server".
            </summary>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.DebugNetworkMembership">
            <summary>
            Network membership transition diagnostics.
            </summary>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.DebugMapTravel">
            <summary>
            Map travel and snapshot diagnostics.
            </summary>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.GlobalBanRejectWarnOnly">
            <summary>
            Test-only: when true, players matching GlobalGameBanList are allowed to join and the
            runtime enforcer also skips dropping them. Use to verify the client-side warning
            + auto-migrate flow. Default off (production enforces normally).
            </summary>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.DebugJoinDiagnostics">
            <summary>
            Detailed host-side player join state snapshots.
            </summary>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.DebugJoinAutoDump">
            <summary>
            Auto dump lobby state on join/leave for debugging.
            </summary>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.DebugJoinAutoDumpDelaySeconds">
            <summary>
            Delay (seconds) before auto dump to allow host state to settle.
            </summary>
        </member>
        <member name="M:TerrorTown.GameNetworkManager.AcceptConnection(Sandbox.Connection,System.String@)">
            <summary>
            Called on the host to decide whether to accept a Sandbox.Connection.
            </summary>
            <param name="channel"></param>
            <param name="reason"></param>
        </member>
        <member name="M:TerrorTown.GameNetworkManager.OnActive(Sandbox.Connection)">
            <summary>
            Called when a network connection becomes active
            </summary>
            <param name="channel"></param>
        </member>
        <member name="M:TerrorTown.GameNetworkManager.BanPlayer(System.UInt64,System.String,System.Nullable{System.Single},TerrorTown.MatchSessionActorRef,System.String,System.String)">
            <summary>
            Ban a player by Steam ID with optional duration. Duration in hours; null = forever.
            </summary>
        </member>
        <member name="T:TerrorTown.AdminSystem">
            <summary>
            Bootstrap-file admin/role facade. Live authority lives in MatchSessionState; this class only seeds it.
            </summary>
        </member>
        <member name="M:TerrorTown.AdminSystem.GetVisibleRole(System.UInt64)">
            <summary>
            Highest publicly-visible role. Null for User, Founder (host star covers it), and devs.
            </summary>
        </member>
        <member name="M:TerrorTown.AdminSystem.GetImmunityLevel(System.UInt64)">
            <summary>
            Max immunity across all effective groups. Devs are Founder-tier (100).
            </summary>
        </member>
        <member name="M:TerrorTown.AdminSystem.CanTargetSteamId(System.UInt64,System.UInt64)">
            <summary>
            Caller can target a player whose immunity is &lt;= their own. Devs auto-pass.
            </summary>
        </member>
        <member name="T:TerrorTown.LobbyStartSettings">
            <summary>
            Host-authored settings captured in the main menu before a lobby starts.
            </summary>
        </member>
        <member name="T:TerrorTown.LobbyStartSettingsStore">
            <summary>
            Persisted local defaults for the create-lobby page.
            </summary>
        </member>
        <member name="T:TerrorTown.LobbyRulesStore">
            <summary>
            Locally saved defaults for the configurable lobby-rules tree.
            Native lobby launch choices remain in <see cref="T:TerrorTown.LobbyStartSettingsStore"/>.
            </summary>
        </member>
        <member name="T:TerrorTown.LobbyStartSettingsMetadata">
            <summary>
            Compatibility wrapper for lobby-start settings advertised over compact server metadata.
            </summary>
        </member>
        <member name="T:TerrorTown.LobbyStartSettingsRuntime">
            <summary>
            Host-only bootstrap that applies host-authored start settings to in-scene systems and syncs normalized values.
            </summary>
        </member>
        <member name="T:TerrorTown.MatchSessionDefaults">
            <summary>
            Default document builders for match-session state.
            These helpers are intentionally small and opinionated so runtime wiring can create
            a valid session root without re-encoding group ids, permissions, and policy in multiple places.
            </summary>
        </member>
        <member name="T:TerrorTown.MatchSessionGroupIds">
            <summary>
            Canonical built-in group ids and permission keys for match-session authority.
            Keeping these centralized avoids string drift as runtime systems move onto the session root.
            </summary>
        </member>
        <member name="T:TerrorTown.MatchSessionState">
            <summary>
            Our cross-round match state API for host migration and session state in general
            </summary>
        </member>
        <member name="P:TerrorTown.MatchSessionPlayerState.OwnedItems">
            <summary>Custom-item idents this player has purchased from the pointshop.</summary>
        </member>
        <member name="P:TerrorTown.MatchSessionPointshopState.Categories">
            <summary>Admin-curated category labels for the manifest. "Default" is implicit and always present.</summary>
        </member>
        <member name="T:TerrorTown.PointshopItemType">
            <summary>
            Type of Pointshop Item
            </summary>
        </member>
        <member name="T:TerrorTown.MatchSessionPointshopItem">
            <summary>
            One entry in the host-managed pointshop manifest. Captured by the host at add time so clients
            can render and resolve without re-deriving anything from the package metadata.
            </summary>
        </member>
        <member name="P:TerrorTown.MatchSessionPointshopItem.Ident">
            <summary>Sbox.game package ident, e.g. "raf.highrollerwatchrosegold".</summary>
        </member>
        <member name="P:TerrorTown.MatchSessionPointshopItem.Type">
            <summary>Asset kind. Defaults to Clothing so manifests saved before models existed keep loading.</summary>
        </member>
        <member name="P:TerrorTown.MatchSessionPointshopItem.ResourcePath">
            <summary>Resolved resource path (clothing.vmdl_c-equivalent for Clothing, model .vmdl for Model). Captured at add time.</summary>
        </member>
        <member name="P:TerrorTown.MatchSessionPointshopItem.Title">
            <summary>Display title; falls back to package title.</summary>
        </member>
        <member name="P:TerrorTown.MatchSessionPointshopItem.IconPath">
            <summary>Path of the clothing icon (or package thumbnail) for UI rendering.</summary>
        </member>
        <member name="P:TerrorTown.MatchSessionPointshopItem.NativeCategory">
            <summary>The clothing's native category enum value as a string (used for slot resolution and Auto-category). For Model items this is the sentinel "PlayerModel".</summary>
        </member>
        <member name="P:TerrorTown.MatchSessionPointshopItem.Category">
            <summary>Display category for the shop/loadout. "Default" if no specific category was chosen.</summary>
        </member>
        <member name="P:TerrorTown.MatchSessionPointshopItem.Price">
            <summary>How much the item costs in pointshop credits.</summary>
        </member>
        <member name="T:TerrorTown.ServerAdvertisedMetadata">
            <summary>
            Tiny native server-browser metadata so we show the right map on the native menu.
            DO NOT USE THIS AS LOAD AUTHORITY!!!
            </summary>
        </member>
        <member name="T:TerrorTown.ServerLaunchContext">
            <summary>
            Host launch and map identity state that should survive regular map-travel bookkeeping.
            </summary>
        </member>
        <member name="T:TerrorTown.ServerSettings">
            <summary>
            Dedicated-server operator settings stored in FileSystem.Data/server_settings.json.
            This is for rich game configuration; dedicated Steam metadata should stay compact.
            </summary>
        </member>
        <member name="T:TerrorTown.HostRuleConVars">
            <summary>
            Native scalar host-rule ConVars. Scene components mirror these values at runtime.
            Structured host config, such as map rotations, should stay out of this surface.
            </summary>
        </member>
        <member name="T:TerrorTown.HostSettingSurface">
            <summary>
            Describes where a host setting is suitable to be authored, changed, or shown.
            This is presentation and policy metadata; each surface still decides how to render or consume it.
            </summary>
        </member>
        <member name="F:TerrorTown.HostSettingSurface.None">
            <summary>
            The setting is not intentionally exposed anywhere.
            </summary>
        </member>
        <member name="F:TerrorTown.HostSettingSurface.Lobby">
            <summary>
            The setting can be offered to a peer-to-peer lobby host on the create-lobby page.
            </summary>
        </member>
        <member name="F:TerrorTown.HostSettingSurface.Dedicated">
            <summary>
            The setting can be shown to dedicated server operators or generated operator-facing docs.
            </summary>
        </member>
        <member name="F:TerrorTown.HostSettingSurface.Console">
            <summary>
            The setting can be changed or inspected through a console variable or console command.
            </summary>
        </member>
        <member name="F:TerrorTown.HostSettingSurface.ServerInfo">
            <summary>
            The setting is appropriate to show to clients as part of the server's advertised rule set.
            </summary>
        </member>
        <member name="F:TerrorTown.HostSettingSurface.All">
            <summary>
            The setting is suitable for every public host-facing surface.
            </summary>
        </member>
        <member name="T:TerrorTown.HostSettingMutability">
            <summary>
            Describes when a changed value is expected to take effect.
            Runtime systems still own the actual enforcement and may apply stricter behavior.
            </summary>
        </member>
        <member name="F:TerrorTown.HostSettingMutability.StartupOnly">
            <summary>
            The value should be chosen before the server or lobby starts and should not be changed during a running match.
            </summary>
        </member>
        <member name="F:TerrorTown.HostSettingMutability.NextMap">
            <summary>
            Changes should be captured now but applied on the next map load.
            </summary>
        </member>
        <member name="F:TerrorTown.HostSettingMutability.NextRound">
            <summary>
            Changes should be captured now but applied at the next round boundary.
            </summary>
        </member>
        <member name="F:TerrorTown.HostSettingMutability.Live">
            <summary>
            Changes may be applied immediately while a match is running.
            </summary>
        </member>
        <member name="T:TerrorTown.HostSettingControl">
            <summary>
            Gives UI and tooling a preferred control shape for editing a setting.
            This is a hint, not a requirement; each surface can choose a simpler or safer control.
            </summary>
        </member>
        <member name="F:TerrorTown.HostSettingControl.Auto">
            <summary>
            Let the consuming surface choose a control based on the setting value type and metadata.
            </summary>
        </member>
        <member name="F:TerrorTown.HostSettingControl.Toggle">
            <summary>
            Use a binary on/off control for boolean settings.
            </summary>
        </member>
        <member name="F:TerrorTown.HostSettingControl.Slider">
            <summary>
            Use a bounded numeric slider, normally backed by Min, Max, and Step.
            </summary>
        </member>
        <member name="F:TerrorTown.HostSettingControl.Number">
            <summary>
            Use a numeric text entry or stepper when direct numeric input is more appropriate than a slider.
            </summary>
        </member>
        <member name="F:TerrorTown.HostSettingControl.Text">
            <summary>
            Use a free text entry control.
            </summary>
        </member>
        <member name="F:TerrorTown.HostSettingControl.Select">
            <summary>
            Use a discrete option selector. Option metadata is intentionally not modeled yet.
            </summary>
        </member>
        <member name="F:TerrorTown.HostSettingControl.ReadOnly">
            <summary>
            Show the value without allowing edits on that surface.
            </summary>
        </member>
        <member name="T:TerrorTown.HostSettingAttribute">
            <summary>
            Marks a runtime-owned property as a public host setting.
            The registry generator turns these annotations into presentation metadata, avoiding runtime reflection.
            Adding this attribute does not automatically create UI; it makes the setting discoverable to host-facing surfaces.
            </summary>
        </member>
        <member name="P:TerrorTown.HostSettingAttribute.Id">
            <summary>
            Stable machine-readable ID used by snapshots, generated registry definitions, and cross-surface persistence.
            Prefer a namespaced ID from HostSettingIds rather than an inline string.
            </summary>
        </member>
        <member name="P:TerrorTown.HostSettingAttribute.Group">
            <summary>
            Broad top-level grouping for presentation, such as Rules, Map Vote, or Player.
            Groups are intended to stay coarse so different surfaces can lay them out in their own way.
            </summary>
        </member>
        <member name="P:TerrorTown.HostSettingAttribute.Category">
            <summary>
            Smaller grouping within Group for display ordering and sectioning.
            Examples include Time, Roles, Karma, Communication, Map Vote, and Movement.
            </summary>
        </member>
        <member name="P:TerrorTown.HostSettingAttribute.Label">
            <summary>
            Human-facing display name for menus, server info, and generated help.
            Keep this short enough to fit compact UI rows.
            </summary>
        </member>
        <member name="P:TerrorTown.HostSettingAttribute.Description">
            <summary>
            Human-facing explanation of what changing the setting does.
            This should describe player-visible behavior rather than implementation details.
            </summary>
        </member>
        <member name="P:TerrorTown.HostSettingAttribute.Surface">
            <summary>
            Host-facing places where this setting is allowed to appear.
            A surface flag marks eligibility only; the surface must still choose to consume it.
            </summary>
        </member>
        <member name="P:TerrorTown.HostSettingAttribute.Mutability">
            <summary>
            Expected timing for when a new value becomes active.
            This is user guidance and display metadata; runtime code remains authoritative.
            </summary>
        </member>
        <member name="P:TerrorTown.HostSettingAttribute.Control">
            <summary>
            Preferred editing control for UI and tooling.
            Use Auto when the value type is enough for the consumer to decide.
            </summary>
        </member>
        <member name="P:TerrorTown.HostSettingAttribute.ConVar">
            <summary>
            Native ConVar name that owns persistence and runtime authority for this scalar setting.
            Leave empty for structured settings that cannot sensibly be represented as ConVars.
            </summary>
        </member>
        <member name="P:TerrorTown.HostSettingAttribute.DefaultValue">
            <summary>
            String representation of the normal default value.
            Stored as text so bool, int, float, and future value types can share the same metadata field.
            </summary>
        </member>
        <member name="P:TerrorTown.HostSettingAttribute.Min">
            <summary>
            Minimum recommended authoring value for numeric settings.
            Leave as NaN when the setting is not numeric or does not have a public-facing lower bound.
            </summary>
        </member>
        <member name="P:TerrorTown.HostSettingAttribute.Max">
            <summary>
            Maximum recommended authoring value for numeric settings.
            Leave as NaN when the setting is not numeric or does not have a public-facing upper bound.
            </summary>
        </member>
        <member name="P:TerrorTown.HostSettingAttribute.Step">
            <summary>
            Suggested increment for numeric controls.
            Runtime validation should still clamp or normalize values that arrive through console or JSON.
            </summary>
        </member>
        <member name="P:TerrorTown.HostSettingAttribute.Format">
            <summary>
            Display format for numeric values, using standard .NET numeric format strings where applicable.
            This is for presentation only and should not be used for parsing.
            </summary>
        </member>
        <member name="P:TerrorTown.HostSettingAttribute.ConfigKey">
            <summary>
            Optional legacy/display key for generated docs or migration notes. Native ConVars are the
            authority for scalar host-rule persistence.
            Keep this stable if external docs or generated tables already reference it.
            </summary>
        </member>
        <member name="P:TerrorTown.HostSettingAttribute.Order">
            <summary>
            Sort key within a category.
            Use gaps between values so related settings can be inserted later without renumbering everything.
            </summary>
        </member>
        <member name="P:TerrorTown.HostSettingAttribute.Save">
            <summary>
            Whether this setting should be included when host settings are saved or snapshotted by default.
            Set false for derived, diagnostic, or display-only values.
            </summary>
        </member>
        <member name="P:TerrorTown.HostSettingAttribute.Advanced">
            <summary>
            Marks the setting as advanced so simple surfaces can hide it while operator-focused tools can still expose it.
            </summary>
        </member>
        <member name="T:TerrorTown.MapCatalog">
            <summary>
            Shared package discovery and authored map metadata projection for browser and vote UI.
            This only fetches package metadata; mounting/downloading stays on the map travel path.
            </summary>
        </member>
        <member name="T:TerrorTown.MapPackageInput">
            <summary>
            Normalizes a package ident or sbox.game package URL and validates that it is a loadable map.
            </summary>
        </member>
        <member name="T:TerrorTown.MapRegistry">
            <summary>
            Authored map metadata. Package discovery can add maps, but explicit trust, size,
            tag, and blocklist data should live here instead of UI or vote code.
            </summary>
        </member>
        <member name="T:TerrorTown.StartMapVoteOnEnd">
            <summary>
            Owns the normal end-of-map vote and the single host-scheduled direct map change.
            Synced state keeps a schedule visible and recoverable if P2P host authority moves.
            </summary>
        </member>
        <member name="T:TerrorTown.BanMigrationNoticeState">
            <summary>
            Static state carrier for the main-menu popup shown after auto-disconnect from a
            server that wouldn't remove a globally-banned player. Static fields survive the
            scene change that returning to the main menu triggers.
            </summary>
        </member>
        <member name="T:TerrorTown.DeveloperModerationCommands">
            <summary>
            Developer-only emergency moderation commands. These intentionally bypass host/admin
            immunity because they are project developer controls, not normal lobby moderation.
            </summary>
        </member>
        <member name="T:TerrorTown.GlobalBanEnforcerServer">
            <summary>
            Host-only runtime enforcer for the global ban list. Drops any connection matching
            GlobalGameBanList on join and on a slow periodic sweep, in case the AcceptConnection
            gate missed someone (mid-session ban list update, family-share edge cases, etc).
            This is deliberately not persisted into HostBanListStore; GlobalGameBanList is the
            source of truth and removing an entry should stop future enforcement.
            Independent of the client-side migrator (GlobalBanWarningClient).
            </summary>
        </member>
        <member name="T:TerrorTown.GlobalBanWarningClient">
            <summary>
            Client-side check that detects globally-banned players in the lobby and migrates
            the local player out if the server isn't removing them. Decides entirely from its own
            copy of GlobalGameBanList against the engine-provided Connection.All. Never trusts a
            server-relayed signal.
            </summary>
        </member>
        <member name="T:TerrorTown.GlobalGameBanList">
            <summary>
            Developer-owned game-wide bans. This is intentionally separate from host/admin
            session bans and should only be changed by us.
            </summary>
        </member>
        <member name="T:TerrorTown.HostBanListStore">
            <summary>
            Host-owned persistent ban list. Session sanctions still drive live moderation state;
            this file is the durable source that survives server restarts.
            </summary>
        </member>
        <member name="M:TerrorTown.ReportSystem.IsReportingEnabled">
            <summary>
            On a dedicated server, reports require at least one Mod+ ranked human player to be connected.
            The dedicated host slot (SteamId == 0) and bots are excluded by the SteamId > 0 filter.
            On listen hosts, reports are always enabled.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundLogEntryDto">
            <summary>One row in the round-log viewer, sent host → admin.</summary>
        </member>
        <member name="T:TerrorTown.RoundLogQueryCache">
            <summary>Client-side FIFO cache of round-log query responses, capped at <see cref="F:TerrorTown.RoundLogQueryCache.MaxCachedResponses"/>.</summary>
        </member>
        <member name="T:TerrorTown.RoundLogQueryService">
            <summary>Host-side bridge: admins ask, host filters round events, response RPC'd back.</summary>
        </member>
        <member name="T:TerrorTown.DefaultVoiceFilter">
            <summary>
            The default voice filter which prevents alive players from hearing dead players.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundCleanupSystem">
            <summary>
            Consolidated cleanup for round transitions. This cleans transient round objects,
            corpses, and the active map lifecycle without depending on a specific map source.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundEquipmentResetReason">
            <summary>
            Little helper for removing equipment between rounds that isn't "in the inventory" (Body armor, radar etc)
            </summary>
        </member>
        <member name="T:TerrorTown.RoundGatePhase">
            <summary>
            Host-authored transition gate for round flow.
            This tracks transition phases in one place so subsystems can opt into consistent policies.
            </summary>
        </member>
        <member name="P:TerrorTown.RoundGateSystem.RoundEpoch">
            <summary>
            Increments once per round-start transition. Tracked now for observability; not yet used as a hard gate.
            </summary>
        </member>
        <member name="M:TerrorTown.RoundGateSystem.BeginPreRoundTransition(System.String)">
            <summary>
            Begins host-side pre-round processing and bumps round epoch.
            </summary>
        </member>
        <member name="M:TerrorTown.RoundGateSystem.SetPhaseHost(TerrorTown.RoundGatePhase,System.String,System.Boolean)">
            <summary>
            Host-only phase transition entrypoint.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundLoadoutService">
            <summary>
            Host-side authority for weapons every round participant should have.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundRulesSystem">
            <summary>
            Consolidated round lifecycle rules: waiting, prepare time, counting, time limits, and round delay.
            </summary>
        </member>
        <member name="T:TerrorTown.TransitionOrchestrator">
            <summary>
            Host-first transition coordinator for round transitions and map-switch recovery.
            </summary>
        </member>
        <member name="T:TerrorTown.KillListenerAdapter">
            <summary>
            Temporary bridge that replays death events into legacy IKillListener callbacks.
            </summary>
        </member>
        <member name="T:TerrorTown.IEventProjection">
            <summary>
            Projection lifecycle hooks for consuming host-auth round events.
            </summary>
        </member>
        <member name="M:TerrorTown.IEventProjection.ResetForRound(System.Int32,System.String)">
            <summary>
            Called when a new round ledger starts.
            </summary>
        </member>
        <member name="M:TerrorTown.IEventProjection.OnEventAppended(TerrorTown.RoundEventRecord)">
            <summary>
            Called each time the host appends an event.
            </summary>
        </member>
        <member name="M:TerrorTown.IEventProjection.SealRound(System.Int32,System.String)">
            <summary>
            Called when the current round ledger is sealed.
            </summary>
        </member>
        <member name="T:TerrorTown.BodyInspectionReport">
            <summary>
            Normalized report model consumed by body UI and logs.
            </summary>
        </member>
        <member name="T:TerrorTown.DamageAttribution">
            <summary>
            Host-authoritative attribution result for one resolved damage action.
            </summary>
        </member>
        <member name="T:TerrorTown.KillFeedNotification">
            <summary>
            Read-model notification used by kill feed projection/UI.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundEventActorRef">
            <summary>
            Shared actor reference used by round-event payloads.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundEventInflictorRef">
            <summary>
            Shared inflictor reference used by round-event payloads.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundEventDamageContext">
            <summary>
            Shared damage context used by round-event payloads.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundEventAttribution">
            <summary>
            Shared attribution details used by round-event payloads.
            </summary>
        </member>
        <member name="T:TerrorTown.ScoreboardStats">
            <summary>
            Snapshot row used by scoreboard projection/UI.
            </summary>
        </member>
        <member name="T:TerrorTown.BodyInspectionProjection">
            <summary>
            Replicated read model for latest body inspection reports.
            </summary>
        </member>
        <member name="T:TerrorTown.KillFeedProjection">
            <summary>
            Collects death notifications for round-end kill feed rendering.
            </summary>
        </member>
        <member name="T:TerrorTown.ScoreboardProjection">
            <summary>
            Replicated scoreboard read model composed from host-auth state + score events.
            </summary>
        </member>
        <member name="M:TerrorTown.ScoreboardProjection.NotifyPlayerDeparted(System.Guid)">
            <summary>
            Broadcast from host when a player disconnects so every peer immediately hides their row,
            even before the synced SnapshotJson catches up.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundEventEnvelope">
            <summary>
            Core metadata for one round event.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundEventId">
            <summary>
            Deterministic event-id helper.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundEventQueries">
            <summary>Pure helpers for filtering round events by player id.</summary>
        </member>
        <member name="M:TerrorTown.RoundEventQueries.FilterForPlayers(System.Collections.Generic.IReadOnlyList{TerrorTown.RoundEventRecord},System.Nullable{System.Guid},System.Nullable{System.Guid})">
            <summary>Events touching either player id. <see cref="F:System.Guid.Empty"/> = wildcard.</summary>
        </member>
        <member name="T:TerrorTown.RoundEventRecord">
            <summary>
            One typed event entry in the host-auth round ledger.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundEventResolver">
            <summary>
            Helper methods for resolving actor/inflictor components from round event payload references.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundEventStoreSystem">
            <summary>
            Host-auth append-only event ledger for the active round.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundEventType">
            <summary>
            The canonical event families used by the round event store.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundEventVisibility">
            <summary>
            Who is allowed to see an event payload.
            </summary>
        </member>
        <member name="T:TerrorTown.AttributionConfidence">
            <summary>
            Confidence level for attribution decisions.
            </summary>
        </member>
        <member name="T:TerrorTown.AttributionMode">
            <summary>
            Attribution path selected by host authority.
            </summary>
        </member>
        <member name="T:TerrorTown.IRoundEventPayload">
            <summary>
            Marker interface for round-event payloads.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundProjectionRegistry">
            <summary>
            Registry/broadcast helper for event projections.
            </summary>
        </member>
        <member name="T:TerrorTown.AssistTrackerService">
            <summary>
            Tracks recent damage contributors for assist resolution.
            </summary>
        </member>
        <member name="T:TerrorTown.BodyInspectionService">
            <summary>
            Host-only corpse inspection service with reveal policy + event emission.
            </summary>
        </member>
        <member name="T:TerrorTown.DamageAttributionService">
            <summary>
            Resolves canonical attacker/inflictor attribution for round events.
            </summary>
        </member>
        <member name="T:TerrorTown.DamageResponsibilityService">
            <summary>
            Tracks short-lived causal ownership links used to attribute indirect damage and deaths.
            Host-only and reset each round.
            </summary>
        </member>
        <member name="T:TerrorTown.DeathPipelineService">
            <summary>
            Host-auth death pipeline that emits exactly one death-class round event per lethal hit.
            </summary>
        </member>
        <member name="T:TerrorTown.NotificationService">
            <summary>
            Typed host-side notification router for round events.
            </summary>
        </member>
        <member name="T:TerrorTown.RevealPolicyService">
            <summary>
            Centralized visibility/reveal rules for body + scoreboard role state.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundScoringService">
            <summary>
            Host-auth scoring pipeline that derives score deltas from death events.
            </summary>
        </member>
        <member name="T:TerrorTown.PointshopSystem">
            <summary>
            Custom-item manifest support for <see cref="T:TerrorTown.PointshopSystem"/>. Admins can paste an sbox.game
            URL and the host will fetch + mount the package, resolve its primary clothing resource, and
            publish the entry on the synced session document. Clients react and mount the same packages
            locally so the resources resolve when they're displayed in the loadout.
            </summary>
            <summary>
            Host-authored pointshop economy. Awards per-round credits to participating players and stores
            the credits-per-round setting alongside the player banks on <see cref="T:TerrorTown.MatchSessionState"/>.
            Banks and settings are persisted to disk so they survive server restarts.
            </summary>
        </member>
        <member name="F:TerrorTown.PointshopSystem.DefaultCategory">
            <summary>
            The implicit category every item falls back to. Cannot be created or removed by admins -
            it always exists alongside whatever they curate.
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.TryParseSboxIdent(System.String,System.String@)">
            <summary>
            Parse "https://sbox.game/raf/highrollerwatchrosegold" (or already-bare "raf.highrollerwatchrosegold")
            into a normalized ident "raf.highrollerwatchrosegold".
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.ResolveItemCategory(TerrorTown.MatchSessionPointshopItem)">
            <summary>
            Returns an item's display category. Falls back to <see cref="F:TerrorTown.PointshopSystem.DefaultCategory"/> when nothing
            is set - the shop and loadout group items by this string.
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.AutoResolveCategory(System.String)">
            <summary>
            Best-effort label for an item whose admin asked for "Auto" categorization. Knows about
            s&amp;box clothing categories today; returns null when nothing applies (caller falls back
            to <see cref="F:TerrorTown.PointshopSystem.DefaultCategory"/>). Designed so future non-clothing item types can extend
            this without breaking the data model.
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.GetCategories">
            <summary>
            Returns the curated category list with <see cref="F:TerrorTown.PointshopSystem.DefaultCategory"/> first. The session
            document is the authority; this helper just guarantees Default is always present and at
            the head of the list.
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:TerrorTown.PointshopSystem.NormalizeCategoryToSlot(System.String)" -->
        <member name="M:TerrorTown.PointshopSystem.IsHeadFaceNeckCategory(System.String)">
            <summary>
            True when this s&amp;box clothing category renders into a head/face/neck slot - used by
            the loadout to decide whether a sandbox item is even displayable (body items aren't, since
            the team outfit owns the body slot).
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.IsResourcePathActive(System.String)">
            <summary>
            True when a path either belongs to a built-in package (not in our manifest at all) OR is in
            the active manifest. Removed manifest items return false so the rest of the system never
            tries to resolve them.
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.LooksLikeCustomManifestPath(System.String)">
            <summary>
            Heuristic: paths whose first segment contains a '.' look like custom packages
            ("raf.highrollerwatchrosegold/foo.clothing"). Built-in paths use plain folder segments
            ("models/citizen_clothes/...").
            </summary>
        </member>
        <member name="F:TerrorTown.PointshopSystem.PlayerModelNativeCategory">
            <summary>Sentinel native-category value used for player-model manifest entries.</summary>
        </member>
        <member name="F:TerrorTown.PointshopSystem.DefaultModelCategory">
            <summary>Display category models are assigned to when admin doesn't pick one. Mirrors DefaultCategory but distinct so the UI radio can filter cleanly.</summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.RequestBuyItem(System.String)">
            <summary>
            Player-initiated purchase. Anyone with credits can call this; the host validates the
            item is in the manifest, the player has enough credits, and they don't already own it.
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.PickItemCategory(System.String,System.Boolean,System.String,TerrorTown.PointshopItemType)">
             <summary>
             Pick the category an item should land in. When <paramref name="autoResolve"/> is true the
             caller-supplied category is ignored and we derive one from the native category, falling
             back to <see cref="F:TerrorTown.PointshopSystem.DefaultCategory"/> when that resolution fails (e.g., future non-clothing
             item types). Otherwise the caller's choice wins, with empty/blank coerced to Default.
            
             Model items get a separate default (<see cref="F:TerrorTown.PointshopSystem.DefaultModelCategory"/>) so the Models tab
             in the UI has a sensible group header out of the box.
             </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.BuyItemHost(System.UInt64,System.String)">
            <summary>
            Host-side: validate, deduct credits, grant ownership, and persist.
            Returns true if a purchase actually went through.
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.ResolveBestIconPath(Sandbox.Clothing,Sandbox.Package)">
            <summary>
            Many sbox.game packages don't ship a Clothing.Icon - fall back through the package's CDN
            thumbnails so the card always has something to render. Sandbox auto-derives Icon.Path to
            "&lt;resource&gt;.clothing.png" when no explicit icon is set, which usually doesn't exist on
            disk, so we verify the file before trusting it.
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.IconPathIsUsable(System.String)">
            <summary>
            True when the path is either a remote URL (CDN thumb) or an actual file in the mounted
            game filesystem. Used to skip the auto-derived "&lt;resource&gt;.clothing.png" paths that
            many custom Clothing resources advertise but never ship.
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.ResolveDisplayIconPath(Sandbox.Clothing,TerrorTown.MatchSessionPointshopItem)">
            <summary>
            Picks the best icon path to render for a manifest item: the local clothing's Icon.Path
            when it points at a real file, otherwise whatever the host stored on the manifest entry
            (typically a package CDN thumb URL).
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.ResolveAutoPackageAsync(System.String)">
            <summary>
            Fetch + mount a package once and detect whether its primary asset is a Clothing or a citizen-
            rigged Model. Clothing is checked first because it's the more common case and cheaper to
            confirm. Returns null if the primary asset is neither, or if a model fails the citizen-rig
            probe - same rejection logic as <see cref="M:TerrorTown.PointshopSystem.ResolveModelPackageAsync(System.String)"/>.
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.ResolveModelPackageAsync(System.String)">
            <summary>
            Resolve a package as a player model. Smoke-tests that the primary asset is a real Model and
            that the model carries the citizen bones our animation helper drives. Anything that fails
            these checks is rejected - the caller drops the add entirely so the manifest can't end up
            with a "model" that T-poses every player who equips it.
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.ProbeCitizenRig(Sandbox.Model,System.String@)">
            <summary>
            True when the model exposes the citizen bones our animator + clothing system depend on.
            On false, <paramref name="missingBone"/> is the first probe bone that wasn't found.
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.ResolveBestModelIconPath(Sandbox.Package)">
            <summary>
            Best-effort icon path for a model package - models don't ship a Clothing.Icon, so we fall
            back through the package's CDN thumbnails.
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.HydrateManifestFromDisk">
            <summary>
            Host-side: hydrate the synced manifest from disk on first boot, then ensure each entry's
            package is mounted.
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.TickManifestMountLoop">
            <summary>
            Both host and client: walk the synced manifest and kick off fetch+mount for any ident we
            haven't tried yet. Async mount completes whenever it completes; the loadout filter will
            stop showing items whose resource path doesn't yet resolve.
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.GetCreditsPerRound">
            <summary>
            Reads the authoritative credits-per-round value. On the host, the ConVar wins; clients
            fall back to the synced session document.
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.SaveBanksHost">
            <summary>
            Public host-side hook for callers (e.g., disconnect handlers) that want to flush the
            current banks to disk.
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.SaveAll">
            <summary>
            Save settings + the full player banks snapshot from the session document to disk.
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopSystem.RememberCreditsForRestore(System.UInt64,System.Int32)">
            <summary>
            Called by ConnectedClient.PersistSessionStatsHost so the static, in-memory snapshot used
            for fast restore-on-reconnect mirrors live credit balances.
            </summary>
        </member>
        <member name="P:TerrorTown.PointshopSystem.PointshopDiskItem.Type">
            <summary>Defaults to Clothing so saves written before the Models feature still load with the right type.</summary>
        </member>
        <member name="T:TerrorTown.DeveloperRoleOverrideSystem">
            <summary>
            Developer-only role locks for testing. These apply the next time round role assignment runs.
            </summary>
        </member>
        <member name="T:TerrorTown.RewardSystem">
            <summary>
            Consolidated reward logic for score and traitor credits.
            </summary>
        </member>
        <member name="T:TerrorTown.RoleVisibilityResult">
            <summary>
            Canonical policy for any role-sensitive display logic.
            UI and presentation code should evaluate through this API instead of reading TeamComponent.Team directly!
            </summary>
        </member>
        <member name="T:TerrorTown.TeamComponent">
            <summary>
            Designates the team for a player.
            </summary>
        </member>
        <member name="P:TerrorTown.TeamComponent.OnTeamChanged">
            <summary>
            An action (for ActionGraph, or other components) to listen for team changes
            </summary>
        </member>
        <member name="P:TerrorTown.TeamComponent.Team">
            <summary>
            The team this player is on.
            </summary>
        </member>
        <member name="M:TerrorTown.TeamComponent.OnTeamPropertyChanged(TerrorTown.Team,TerrorTown.Team)">
            <summary>
            Called when <see cref="P:TerrorTown.TeamComponent.Team"/> changes across the network.
            </summary>
            <param name="before"></param>
            <param name="after"></param>
        </member>
        <member name="M:TerrorTown.TeamExtensions.GetTeam(TerrorTown.TeamEnum)">
            <summary>
            Accessor to get the team of someone/something.
            </summary>
        </member>
        <member name="M:TerrorTown.TeamExtensions.TeamsAreFriendly(TerrorTown.Team,TerrorTown.Team)">
            <summary>
            Are we friendly with this other team?
            </summary>
            <param name="teamOne"></param>
            <param name="teamTwo"></param>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.TeamExtensions.IsFriendlyWithPlayer(TerrorTown.PlayerComponent,TerrorTown.PlayerComponent)">
            <summary>
            Are these two <see cref="T:TerrorTown.PlayerComponent"/>s friends with each other?
            </summary>
        </member>
        <member name="M:TerrorTown.TeamExtensions.IsFriendlyWithTeam(TerrorTown.PlayerComponent,TerrorTown.Team)">
            <summary>
            Are these two <see cref="T:TerrorTown.PlayerComponent"/>s friends with each other?
            </summary>
        </member>
        <member name="M:TerrorTown.TeamExtensions.PlayerIsTeam(TerrorTown.PlayerComponent,TerrorTown.Team)">
            <summary>
            Is this <see cref="T:TerrorTown.PlayerComponent"/> a certain team?  
            </summary>
        </member>
        <member name="T:TerrorTown.MapVoteConfig">
            <summary>
            Host-authored map vote configuration edited from the terrortown systems prefab.
            MapVoteSystem remains runtime-spawned and reads from this singleton when present.
            </summary>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.Options">
            <summary>
            Our networked list of voting options.
            </summary>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.Votes">
            <summary>
            Our networked list of votes.
            </summary>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.TimeUntilDecidedWinner">
            <summary>
            How long until we decide who won?
            </summary>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.TimeUntilTransfer">
            <summary>
            How long until we move server?
            </summary>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.WinningOption">
            <summary>
            Which option is the winner?
            </summary>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.MapVoteOverlay">
            <summary>
            An instance of the map vote overlay UI
            </summary>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.ScreenPanel">
            <summary>
            The screen panel which draws our UI
            </summary>
        </member>
        <member name="F:TerrorTown.MapVoteSystem._isMinimized">
            <summary>
            Whether the vote UI is minimized (local client-side state)
            </summary>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.IsMinimized">
            <summary>
            Public property to check if minimized
            </summary>
        </member>
        <member name="M:TerrorTown.MapVoteSystem.SetMinimized(System.Boolean)">
            <summary>
            Set whether the vote panel is minimized
            </summary>
        </member>
        <member name="M:TerrorTown.MapVoteSystem.GetWinningOption">
            <summary>
            What's our current winning option?
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.MapVoteSystem.GetSortedOptions">
            <summary>
            Returns the full list of options with their vote counts, sorted descending.
            Useful for external systems to decide winners or resolve draws.
            </summary>
        </member>
        <member name="M:TerrorTown.MapVoteSystem.Create(System.Boolean)">
            <summary>
            Start a vote. This'll make a component on the server and 
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.MapVoteSystem.Command_ForceMapVote">
            <summary>
            Starts the admin-forced map change flow, matching the mod menu action.
            </summary>
        </member>
        <member name="M:TerrorTown.MapVoteSystem.RpcVote(System.Int32)">
            <summary>
            RPCs a vote, targeted to the host, so it's not exposed to any public API.
            </summary>
            <param name = "index"></param>
        </member>
        <member name="M:TerrorTown.MapVoteSystem.Vote(System.Int32)">
            <summary>
            Sends a vote to the host.
            </summary>
            <param name="index"></param>
        </member>
        <member name="T:TerrorTown.MapVoteSystem.NetworkedVote">
            <summary>
            A networked vote.
            </summary>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.NetworkedVote.VoterId">
            <summary>
            The player's SteamId
            </summary>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.NetworkedVote.Option">
            <summary>
            Which option are we voting for? (Mapped to the list)
            </summary>
        </member>
        <member name="T:TerrorTown.MapVoteSystem.Option">
            <summary>
            A voting option that has real data.
            </summary>
        </member>
        <member name="M:TerrorTown.RTVSystem.ForceMapChangeWin">
            <summary>
            Admin/host force-passes a map change. Skips the normal vote - flags the system as
            HasPassed/PendingMapVoteAfterRound so the existing round-end → MapVoteSystem flow takes over.
            </summary>
        </member>
        <member name="P:TerrorTown.C4WeaponComponent.ThrowDelay">
            <summary>
            Seconds to wait after pressing Attack1 before the C4 actually spawns.
            Gives the toss animation time to play (e.g. 11 frames at 30fps ≈ 0.367s).
            </summary>
        </member>
        <member name="P:TerrorTown.C4WeaponComponent.SpawnDistance">
            <summary>
            How far in front of the player's eyes the C4 spawns when thrown.
            </summary>
        </member>
        <member name="P:TerrorTown.C4WeaponComponent.TossEndDuration">
            <summary>
            Seconds to keep the viewmodel visible after the C4 spawns, so the toss animation can finish.
            </summary>
        </member>
        <member name="T:TerrorTown.DNATraceComponent">
            <summary>
            Add this to objects you want to be scannable with the DNA Scanner
            </summary>
        </member>
        <member name="P:TerrorTown.FireComponent.AttackerId">
            The player who started this fire (for karma tracking)
        </member>
        <member name="M:TerrorTown.HealthStationComponent.TryApplyHeal(TerrorTown.PlayerComponent)">
            <summary>
            Applies one tick of heal if conditions are met. Host-only.
            </summary>
        </member>
        <member name="M:TerrorTown.ObjectGrabberComponent.GetTrace">
            <summary>
            Runs a trace with all the data we have supplied it, and returns the result
            </summary>
            <returns></returns>
        </member>
        <member name="T:TerrorTown.RopeConstraint">
            <summary>
            Manually constrains a rigidbody to stay within rope length of an anchor point
            </summary>
        </member>
        <member name="T:TerrorTown.SimpleRopeVisual">
            <summary>
            Visual rope renderer
            </summary>
        </member>
        <member name="T:TerrorTown.BodyHangCleaner">
            <summary>
            Cleans up the hanging anchor when the corpse is destroyed
            </summary>
        </member>
        <member name="M:TerrorTown.ObjectPusherComponent.GetTrace">
            <summary>
            Runs a trace with all the data we have supplied it, and returns the result
            </summary>
            <returns></returns>
        </member>
        <member name="T:TerrorTown.PlacedPrefabComponent">
            <summary>
            Presumably for weapons prefabs placed in the world and to track the player who placed it
            </summary>
        </member>
        <member name="M:TerrorTown.BulletSystem.DoTracer(Vector3,Vector3,System.Boolean,Vector3,System.String,System.String,System.Single)">
            <summary>
            Makes some tracers using particle effects.
            </summary>
        </member>
        <member name="M:TerrorTown.BulletSystem.GetBulletTrace(Vector3,Vector3,System.Single,System.Single,Sandbox.GameObject,System.Int32,System.Single)">
            <summary>
            Runs a trace with all the data we have supplied it, and returns the result
            </summary>
            <returns></returns>
        </member>
        <member name="T:TerrorTown.ShopControlHint">
            <summary>
            Describes one item-specific control shown in the buy menu.
            The action name is resolved to the local player's current binding when rendered.
            </summary>
        </member>
        <member name="T:TerrorTown.WeaponCatalog">
            <summary>
            Explicit weapon asset root and lookup surface for runtime systems.
            </summary>
        </member>
        <member name="P:TerrorTown.DroppedWeapon.ReserveAmmo">
            <summary>
            TTT Drops ammo with the weapon if no other weapons you have need it.
            </summary>
        </member>
        <member name="P:TerrorTown.DroppedWeapon.WasPurchasedFromShop">
            <summary>Carried over from the source <see cref = "T:TerrorTown.Weapon"/>: true if it was bought from the T/D shop.</summary>
        </member>
        <member name="P:TerrorTown.HEGrenade.TerrorTown#IMarkerObject#MarkerFrame">
            <summary>
            Temporary marker just to make it obvious there's a grenade
            </summary>
        </member>
        <member name="P:TerrorTown.IncendiaryBurner.AttackerId">
            <summary>
            The player who threw the incendiary grenade (for karma tracking)
            </summary>
        </member>
        <member name="P:TerrorTown.SmokeGrenade.SmokeCloudPrefab">
            <summary>
            Prefab containing a VolumetricSmokeCloud component, cloned on explosion.
            If unset, falls back to PrefabOnExplode from BaseGrenade.
            </summary>
        </member>
        <member name="T:TerrorTown.SmokeConVars">
            <summary>
            Console variables for smoke grenade rendering.
            </summary>
        </member>
        <member name="P:TerrorTown.SmokeConVars.Downsample">
            <summary>Downscale factor for the shared smoke render target. 1=full-res, 2=half-res (default), 4=quarter-res. Changed default to 3 for now.</summary>
        </member>
        <member name="P:TerrorTown.SmokeConVars.Jitter">
            <summary>
            Animated per-frame ray jitter. Looks smoother with TAA enabled, flickery without it.
            0 = stable fixed offset (default, no TAA required). 1 = animated jitter (use with TAA).
            </summary>
        </member>
        <member name="P:TerrorTown.SmokeConVars.EdgeDither">
            <summary>Dither the smoke edge threshold per-pixel per-frame (IGN). Resolves cleanly with TAA. 0=hard cutoff, 1=dithered.</summary>
        </member>
        <member name="P:TerrorTown.SmokeConVars.MarchSteps">
            <summary>Skip sky occlusion for deep interior march samples (dist &lt; 0.3). Saves ~4 Worley lookups per interior step. 0=always compute, 1=skip interior (default).</summary>
            
            /// <summary>Ray march steps per cloud per pixel. Higher = less banding, more GPU cost.</summary>
        </member>
        <member name="T:TerrorTown.SmokeCompositor">
            <summary>
            Singleton compositor that owns the shared half-res smoke render target.
            All VolumetricSmokeCloud instances register here; every frame this object:
              1. Clears the shared half-res RT
              2. For each cloud: dispatches compute, then Graphics.Blit into the RT
              3. Composites the RT back to full-res with bilateral depth-aware upscale
            This gives us:
              - Per-draw RenderAttributes per cloud → fixes multi-cloud disappear (no shared SceneModel attrs)
              - One RT for all clouds → additive blending between grenades works correctly
              - Half-res march → ~4x GPU cost reduction
            </summary>
        </member>
        <member name="T:TerrorTown.SmokeSceneObject">
            <summary>
            Thin per-cloud object. Handles only C#-side lifecycle (visibility tracking,
            bounds for shadow casting). All rendering goes through SmokeCompositor.
            </summary>
        </member>
        <member name="T:TerrorTown.SmokeCompositorManager">
            <summary>
            Manages the singleton SmokeCompositor per SceneWorld.
            </summary>
        </member>
        <member name="M:TerrorTown.SmokeCompositorManager.UpdateBounds(Sandbox.SceneWorld)">
            <summary>
            Recompute compositor bounds every frame from outside RenderSceneObject,
            so the engine never frustum-culls the compositor and misses the render call.
            </summary>
        </member>
        <member name="T:TerrorTown.IThrownWeaponProjectile">
            <summary>
            Optional hook for prefabs spawned by <see cref="T:TerrorTown.ThrowWeaponComponent"/>.
            </summary>
        </member>
        <member name="T:TerrorTown.IWeaponResourceDamageSource">
            <summary>
            Exposes a stable weapon resource for damage caused by objects that are not live Weapon components.
            </summary>
        </member>
        <member name="T:TerrorTown.InputWeaponComponent">
            <summary>
            A weapon component that reacts to input actions.
            </summary>
        </member>
        <member name="F:TerrorTown.InputWeaponComponent.CanShoot">
            <summary>When false, shooting is blocked (e.g. weapon wheel hover) but reload and other input still work.</summary>
        </member>
        <member name="F:TerrorTown.InputWeaponComponent.ShootHardBlock">
            <summary>Authoritative shoot block owned by higher-priority systems (e.g. round-end grace).
            Unlike <see cref="F:TerrorTown.InputWeaponComponent.CanShoot"/>, this isn't reset by weapon-wheel / slot-swap input handling,
            so holding Attack1 across weapon swaps won't phantom-fire when the block is lifted elsewhere.</summary>
        </member>
        <member name="P:TerrorTown.InputWeaponComponent.InputActions">
            <summary>
            What input action are we going to listen for?
            </summary>
        </member>
        <member name="P:TerrorTown.InputWeaponComponent.RequiresAllInputActions">
            <summary>
            Should we perform the action when ALL input actions match, or any?
            </summary>
        </member>
        <member name="P:TerrorTown.InputWeaponComponent.InputType">
            <summary>
            What kind of input are we listening for?
            </summary>
        </member>
        <member name="P:TerrorTown.InputWeaponComponent.OnInputAction">
            <summary>
            ActionGraphs action so you can do stuff with visual scripting.
            </summary>
        </member>
        <member name="M:TerrorTown.InputWeaponComponent.GetInputMethod(System.String)">
            <summary>
            Gets the input method
            </summary>
            <param name="action"></param>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.InputWeaponComponent.OnInput">
            <summary>
            Called when the input method succeeds.
            </summary>
        </member>
        <member name="M:TerrorTown.InputWeaponComponent.OnInputUp">
            <summary>
            When the button is up
            </summary>
        </member>
        <member name="M:TerrorTown.InputWeaponComponent.OnInputDown">
            <summary>
            When the button is down
            </summary>
        </member>
        <member name="T:TerrorTown.IWeaponMagazine">
            <summary>
            Common magazine surface for weapons.
            </summary>
        </member>
        <member name="P:TerrorTown.MeleeWeaponComponent.EffectsRenderer">
            <summary>
            Fetches the desired model renderer that we'll focus effects on like trail effects, muzzle flashes, etc.
            </summary>
        </member>
        <member name="M:TerrorTown.MeleeWeaponComponent.DoEffects(System.Boolean)">
            <summary>
            Do shoot effects
            </summary>
        </member>
        <member name="M:TerrorTown.MeleeWeaponComponent.GetTrace(Ray)">
            <summary>
            Runs a trace with all the data we have supplied it, and returns the result
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.MeleeWeaponComponent.CanSwing">
            <summary>
            Can we shoot this gun right now?
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerPusherComponent.GetTrace(Ray)">
            <summary>
            Runs a trace with all the data we have supplied it, and returns the result
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.PlayerPusherComponent.CanPush">
            <summary>
            Can we push right now?
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerPusherComponent.DoEffects(Vector3,System.Guid)">
            <summary>
            Do push effects
            </summary>
        </member>
        <member name="T:TerrorTown.PrefabAttacherWeaponComponent">
            <summary>
            This seems like it would be used for things like throwing a knife at a player, or sticking a poltergeist explosive to them, or maybe a flare gun.. etc
            </summary>
        </member>
        <member name="P:TerrorTown.PrefabAttacherWeaponComponent.FirearmComponent">
            <summary>
            The current weapon's ammo container.
            </summary>
        </member>
        <member name="P:TerrorTown.PrefabAttacherWeaponComponent.RemoveOnUse">
            <summary>
            Remove current weapon on use.
            </summary>
        </member>
        <member name="P:TerrorTown.PrefabAttacherWeaponComponent.PrefabOffset">
            <summary>
            Prefab Offset.
            </summary>
        </member>
        <member name="P:TerrorTown.PrefabAttacherWeaponComponent.TimeSinceShoot">
            <summary>
            how long since we shot?
            </summary>
        </member>
        <member name="M:TerrorTown.PrefabAttacherWeaponComponent.CanAttach">
            <summary>
            Can we shoot this gun right now?
            </summary>
            <returns></returns>
        </member>
        <member name="T:TerrorTown.Weapon">
            <summary>
            A weapon component.
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.DamageDescriptor">
            <summary>
            Optional editor-authored damage descriptor overrides for this equippable item.
            </summary>
        </member>
        <member name="T:TerrorTown.Weapon.IDeploymentListener">
            <summary>
            Subscribe to changes in the weapon's deployed state.
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.Resource">
            <summary>
            A reference to the weapon's <see cref="T:WeaponData"/>.
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.ModelRenderer">
            <summary>
            A reference to the weapon's model renderer.
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.WorldModelScale">
            <summary>
            Scale multiplier for the world model when spawned, dropped, thrown
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.HeldModelScale">
            <summary>
            Scale multiplier for the world model when held by a player
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.WasPurchasedFromShop">
            <summary>True if this weapon was bought from the T/D shop, persisted across drop/pickup.</summary>
        </member>
        <member name="P:TerrorTown.Weapon.TagBinder">
            <summary>
            A tag binder for this weapon.
            </summary>
        </member>
        <member name="M:TerrorTown.Weapon.BindTag(System.String,System.Func{System.Boolean})">
            <summary>
            Shorthand to bind a tag.
            </summary>
            <param name="tag"></param>
            <param name="predicate"></param>
        </member>
        <member name="P:TerrorTown.Weapon.HoldType">
            <summary>
            The default holdtype for this weapon.
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.DeploySound">
            <summary>
            What sound should we play when taking this gun out?
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.DeployTime">
            <summary>
            What sound should we play when taking this gun out?
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.SpeedPenalty">
            <summary>
            How slower do we walk with this weapon out?
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.IsDeployed">
            <summary>
            Is this weapon currently deployed by the player?
            </summary>
        </member>
        <member name="M:TerrorTown.Weapon.UpdateRenderMode">
            <summary>
            Updates the render mode, if we're locally controlling a player, we want to hide the world model.
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.ViewModel">
            <summary>
            A reference to the weapon's <see cref="T:TerrorTown.ViewModel"/> if it has one.
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.Owner">
            <summary>
            Get the weapon's owner - namely the player controller
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.TimeSincePrimaryAttack">
            <summary>
            How long it's been since we used this attack.
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.TimeSinceSecondaryAttack">
            <summary>
            How long it's been since we used this attack.
            </summary>
        </member>
        <member name="M:TerrorTown.Weapon.Deploy">
            <summary>
            Deploy this weapon.
            </summary>
        </member>
        <member name="M:TerrorTown.Weapon.Holster">
            <summary>
            Holster this weapon.
            </summary>
        </member>
        <member name="M:TerrorTown.Weapon.GetHoldType">
            <summary>
            Allow weapons to override holdtypes at any notice.
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.Weapon.PrimaryAttack">
            <summary>
            Called when trying to shoot the weapon with the "Attack1" input action.
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.Weapon.CanPrimaryAttack">
            <summary>
            Can we even use this attack?
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.Weapon.SecondaryAttack">
            <summary>
            Called when trying to shoot the weapon with the "Attack2" input action.
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.Weapon.CanSecondaryAttack">
            <summary>
            Can we even use this attack?
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.Weapon.CreateViewModel(System.Boolean)">
            <summary>
            Creates a viewmodel for the player to use.
            </summary>
        </member>
        <member name="T:TerrorTown.WeaponComponent">
            <summary>
            A weapon component. This can be anything that controls a weapon. Aiming, recoil, sway, shooting..
            </summary>
        </member>
        <member name="P:TerrorTown.WeaponComponent.Weapon">
            <summary>
            The weapon. It's going to be a component on the same <see cref = "T:Sandbox.GameObject"/>.
            </summary>
        </member>
        <member name="T:TerrorTown.ConnectedClient">
            <summary>
            Where we hold all of the player's stats, both persistent ones and per-lobby/map ones.
            </summary>
            <summary>
            This class represents a connected client and their core data. Replaces the old PawnSystem.
            The PREFAB this class is on owns round-mode routing (Playing, Spectating, joining late, etc),
            and everything else (SpectateSystem, PlayerComponent.State, UI) will react accordingly.
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.PointshopOwnedItemsCsv">
            <summary>
            Pipe-delimited list of owned pointshop item idents. Use <see cref = "M:TerrorTown.ConnectedClient.GetOwnedPointshopItems"/>
            for a parsed/lower-cased view.
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.PlayerId">
            <summary>
            Unique ID given to players, equal to the owning Player connection ID if it's a real player (and not a bot).
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.IsAFK">
            <summary>
            Host-authored AFK state. AFK clients are excluded from round admission until cleared.
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.SkipRoundsRemaining">
            <summary>
            Host-authored count of upcoming rounds to skip (used for slay-style exclusions).
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.IsRoundExcluded">
            <summary>
            Whether this client is currently excluded from the round cycle.
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.PawnObject">
            <summary>
            This is "What we are right now", the GameObject. Networked reference that lets every client resolve the pawn when/if they need to.
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.PawnBindEpoch">
            <summary>
            Host-authored: epoch for pawn binding updates. Used to detect missed bindings.
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.PawnComponentId">
            <summary>
            Host-authored: component Id of the pawn (PlayerComponent).
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.BindState">
            <summary>
            Host-authored: explicit pawn bind state. Avoids empty IDs during transitions.
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.Viewer">
            <summary>
            Non-networked, clientside-only: "This local client is currently controlling/viewimg through this pawn".
            The rule: This is the ONLY control/view truth in the game.
            This is used around the codebase for control routing and spectating is entirely about which Viewer we're on.
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.IsMe">
            <summary>
            Is this client me?
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.All">
            <summary>
            Data for all players. Only the host should ever be making use of this!
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.Local">
            <summary>
            The local client's ClientData (null if not spawned yet).
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.LocalPlayer">
            <summary>
            Our persistent player pawn that we always own, whether we're dead or alive. 
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.ViewedPlayer">
            <summary>
            The player we're viewing from the perspective of; ourselves or someone we're spectating.
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.LifecycleState">
            <summary>
            Derived lifecycle state from the owned pawn. This replaces ParticipationState.
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.SpectateTarget">
            <summary>
            Clientside-only: currently spectated player (if any).
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.SpectateCameraMode">
            <summary>
            Clientside-only: current spectate camera mode.
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.CanControlPawn">
            <summary>
            Should we be controlling our pawn in the world?
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.IsSpectating">
            <summary>
            Are we currently in a spectating state?
            </summary>
        </member>
        <member name="P:TerrorTown.ConnectedClient.IsFreecam">
            <summary>
            Are we spectating without a target?
            </summary>
        </member>
        <member name="M:TerrorTown.ConnectedClient.PushAfkPreference(System.Boolean)">
            <summary>
            Local helper: push AFK preference to host and suppress one-time baseline announce races.
            </summary>
        </member>
        <member name="M:TerrorTown.ConnectedClient.ReassertPawnBindingHost(System.String,System.Boolean)">
            <summary>
            Host only: Assign the "owned pawn" for this client- whatever they are controlling and playing as right now.
            This is NOT the same as Viewer (spectating changes Viewer).
            </summary>
        </member>
        <member name="M:TerrorTown.ConnectedClient.Possess(TerrorTown.IPawn)">
            <summary>
            Clientside: switch the local view/control target to a pawn. 
            Stops running if we're not the local client or if we are already controlling/viewing this pawn,
            which lets us use this as a guard rail around the codebase 
            </summary>
        </member>
        <member name="M:TerrorTown.ConnectedClient.DePossess(TerrorTown.IPawn)">
            <summary>
            Clientside: Depossesses a pawn. If it's not currently Viewer, it's a no-op.
            </summary>
        </member>
        <member name="T:TerrorTown.ParticipationDisposition">
            <summary>
            Host-side decision outcome for round admission.
            </summary>
        </member>
        <member name="T:TerrorTown.ParticipationService">
            <summary>
            Host-side authority for round participation decisions (AFK and skip-round exclusions).
            </summary>
        </member>
        <member name="T:TerrorTown.PlayerLifecycleState">
            <summary>
            Player lifecycle during a round. This replaces RoundParticipation and is the single
            authoritative signal for play vs spectate.
            </summary>
        </member>
        <member name="T:TerrorTown.PlayerState">
            <summary>
            Centralized, host-only authority for player life/lifecycle transitions. Everything is host authoritative here.
            KEEP CORE STATE TRANSITIONS ROUTED THROUGH HERE so ordering and logging stay consistent.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerState.GuardHost(TerrorTown.PlayerComponent,System.String)">
            <summary>
            Guard for clients attempting to call this method.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerState.SetLifecycleState(TerrorTown.PlayerComponent,TerrorTown.PlayerLifecycleState,System.Nullable{System.Single},System.Nullable{TerrorTown.RespawnState},System.Boolean,System.String,System.String)">
            <summary>
            Host-only: set the player's lifecycle state. This is the single source of truth for play vs spectate.
            Also ensures LifeState is consistent with the lifecycle.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerState.EnterObserver(TerrorTown.PlayerComponent,System.String,System.String)">
            <summary>
            Put a player into observer posture and NotInRound lifecycle.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerState.PrepareForRound(TerrorTown.PlayerComponent,System.String,System.String)">
            <summary>
            Exit observer posture and mark as PreRound.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerState.ReconcileForRoundStart(TerrorTown.PlayerComponent,System.Boolean,System.String,System.String)">
            <summary>
            Host-only: diagnose and repair expected round participants without making this the normal spawn owner.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerState.DumpLobbyState(System.String,System.String)">
            <summary>
            Host-only diagnostic dump for all players in the lobby.
            </summary>
        </member>
        <member name="T:TerrorTown.ResyncConVars">
            <summary>
            Legacy resync console variables (used only when GameMode.ResyncUseProperties is false).
            Kept outside PlayerComponent to avoid mixing core gameplay logic with console settings.
            </summary>
        </member>
        <member name="P:TerrorTown.ResyncConVars.ResyncEnabled">
            <summary>
            ConVar: t.resync.enable
            Master toggle for client-side resync requests. Default: true
            </summary>
        </member>
        <member name="P:TerrorTown.ResyncConVars.ResyncInterval">
            <summary>
            ConVar: t.resync.interval
            Minimum seconds between resync requests from the same client. Default: 1
            </summary>
        </member>
        <member name="P:TerrorTown.ResyncConVars.ResyncBroadcastInterval">
            <summary>
            ConVar: t.resync.broadcast.interval
            Host-only: if > 0, broadcast authoritative state every N seconds (0 disables). Default: 0
            </summary>
        </member>
        <member name="T:TerrorTown.RoundEventPolicy">
            <summary>
            Shared round-phase policy for kill/stat side effects.
            </summary>
        </member>
        <member name="M:TerrorTown.RoundEventPolicy.ShouldCountKillSideEffects">
            <summary>
            Only the live round should count kill/death side effects (score, rewards, stats, haste timers).
            </summary>
        </member>
        <member name="M:TerrorTown.RoundEventPolicy.ShouldCreateCorpsePresentation(TerrorTown.PlayerComponent,System.Boolean,TerrorTown.PlayerLifecycleState)">
            <summary>
            Visual corpse presentation is separate from round scoring/stat side effects. Round-end
            grace still allows play, so deaths there should leave a body without counting as kills.
            </summary>
        </member>
        <member name="T:TerrorTown.IPawn">
            <summary>
            Pawn interface. Anything that can be used as a viewing target or possessed/controlled implements this.
            Importantly, calls to Possess and Depossess are done by internally calling ConnectedClient to keep the truth
            in only one place for the player.
            </summary>
        </member>
        <member name="M:TerrorTown.IPawn.OnPossess">
            <summary>
            Called during possession, from the pawn. ConnectedClient initiates the call, the pawn object does any specific work.
            </summary>
        </member>
        <member name="M:TerrorTown.IPawn.OnDePossess">
            <summary>
            Called when leaving possession, from the pawn. ConnectedClient initiates the call, the pawn object does any specific work.
            </summary>
        </member>
        <member name="P:TerrorTown.IPawn.SteamId">
            <summary>
            Shorthand accessor for the value coming from ConnectedClient.
            </summary>
        </member>
        <member name="P:TerrorTown.IPawn.PlayerName">
            <summary>
            Shorthand accessor for the value coming from ConnectedClient.
            </summary>
        </member>
        <member name="P:TerrorTown.IPawn.Owner">
            <summary>
            Who is the client that owns this pawn? 
            Pawns 
            </summary>
        </member>
        <member name="P:TerrorTown.IPawn.IsProxy">
            <summary>
            Do we have network rights over this pawn? 
            </summary>
        </member>
        <member name="P:TerrorTown.IPawn.Possessing">
            <summary>
            Are we possessing this pawn right now? (Clientside)
            True when this pawn is the local viewer target, not necessarily controlling
            This is reference equality. It's fine but we need to be aware as time goes on
            Viewer should always be the actual IPawn instance not a proxy wrapper or anything
            </summary>
        </member>
        <member name="M:TerrorTown.IPawn.Possess">
            <summary>
            Make this pawn the local viewer target.
            </summary>
        </member>
        <member name="M:TerrorTown.IPawn.DePossess">
            <summary>
            Clear local viewer target (if it is this pawn).
            </summary>
        </member>
        <member name="T:TerrorTown.CorpseForensicsComponent">
            <summary>
            Host-authored forensic snapshot attached to each corpse object.
            </summary>
        </member>
        <member name="T:TerrorTown.DamageCatalog">
            <summary>
            Centralized entrypoint for damage classification + descriptor lookup.
            </summary>
        </member>
        <member name="T:TerrorTown.TttDamageCause">
            <summary>
            Stable cause ids for logs, descriptors, and gameplay branching.
            </summary>
        </member>
        <member name="T:TerrorTown.TttDamageClassification">
            <summary>
            Canonical classification output for one damage event.
            </summary>
        </member>
        <member name="T:TerrorTown.TttDamageClassifier">
            <summary>
            Priority-ordered rule classifier for TerrorTown damage events.
            </summary>
        </member>
        <member name="T:TerrorTown.TttDamageKind">
            <summary>
            Canonical high-level damage kind used by gameplay systems and UI.
            </summary>
        </member>
        <member name="T:TerrorTown.TttDamageRule">
            <summary>
            One data-driven classification rule with priority.
            </summary>
        </member>
        <member name="T:TerrorTown.DamageInfo">
            <summary>
                Describes the damage that should be done to something. This is purposefully a
                class so it can be derived from, allowing games to create their own special types
                of damage, while not having to create a whole new system.
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.Attacker">
            <summary>
                Usually a player or Npc
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.Inflictor">
            <summary>
                The weapon/object that did the damage, or a vehicle etc
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.Hitbox">
            <summary>
                The hitbox that we hit (if any)
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.HitboxName">
            <summary>
                Stable hitbox/bone name string for networked and descriptor contexts.
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.Tags">
            <summary>
                Tags that define the type of damage this is
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.Damage">
            <summary>
                Amount of damage this should do
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.Position">
            <summary>
                The location of the damage
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.Origin">
            <summary>
                The source/origin position of this damage, if known.
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.Force">
            <summary>
                The force of the damage
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.Shape">
            <summary>
                The physics shape that we hit (if any)
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.Classification">
            <summary>
                Canonical classification computed by <see cref="T:TerrorTown.DamageCatalog"/>.
            </summary>
        </member>
        <member name="T:TerrorTown.DamageInfoBridge">
            <summary>
            Bridge from engine-native damage events to TerrorTown damage info.
            </summary>
        </member>
        <member name="T:TerrorTown.DamageDescriptorSourceComponent">
            <summary>
            Editor-authored descriptor overrides for specific damage-producing objects.
            </summary>
        </member>
        <member name="P:TerrorTown.DamageDescriptorSourceComponent.EnabledForDamageDescriptors">
            <summary>
            Master switch for this source. When false, this component is ignored and fallback descriptor data is used.
            </summary>
        </member>
        <member name="P:TerrorTown.DamageDescriptorSourceComponent.CauseIdOverride">
            <summary>
            Optional cause ID override for the built descriptor.
            This currently feeds <see cref="P:TerrorTown.TerrorTownState.LastDamageCause"/> snapshots; round-event attribution/scoring still use classified cause.
            </summary>
        </member>
        <member name="P:TerrorTown.DamageDescriptorSourceComponent.ScoringCategoryOverride">
            <summary>
            Optional scoring category override on the descriptor model.
            Reserved for scoring/rules consumers; not currently read by <see cref="T:TerrorTown.RoundScoringService"/>.
            </summary>
        </member>
        <member name="P:TerrorTown.DamageDescriptorSourceComponent.OverridePreferWeaponName">
            <summary>
            If true, apply <see cref="P:TerrorTown.DamageDescriptorSourceComponent.PreferWeaponName"/> instead of inheriting fallback descriptor behavior.
            </summary>
        </member>
        <member name="P:TerrorTown.DamageDescriptorSourceComponent.PreferWeaponName">
            <summary>
            Body-info formatting preference used only when <see cref="P:TerrorTown.DamageDescriptorSourceComponent.OverridePreferWeaponName"/> is true.
            When active, BodyInfo context appends weapon naming to the resolved phrase (example: "{bodyInfoText} with {weapon}").
            </summary>
        </member>
        <member name="P:TerrorTown.DamageDescriptorSourceComponent.OverrideLeavesDna">
            <summary>
            If true, apply <see cref="P:TerrorTown.DamageDescriptorSourceComponent.LeavesDnaByDefault"/> instead of inheriting fallback descriptor behavior.
            </summary>
        </member>
        <member name="P:TerrorTown.DamageDescriptorSourceComponent.LeavesDnaByDefault">
            <summary>
            Default DNA policy for this descriptor when <see cref="P:TerrorTown.DamageDescriptorSourceComponent.OverrideLeavesDna"/> is enabled.
            This flows to corpse forensics via <see cref="P:TerrorTown.TerrorTownState.LastDamageLeavesDna"/>.
            </summary>
        </member>
        <member name="P:TerrorTown.DamageDescriptorSourceComponent.BodyInfoText">
            <summary>
            Base body-inspection phrase for BodyInfo context.
            Grammar slot: treated as the leading clause, then UI appends " {seconds} second(s) ago".
            Example: "Shot in the chest" -> "Shot in the chest 12 seconds ago".
            </summary>
        </member>
        <member name="P:TerrorTown.DamageDescriptorSourceComponent.KillFeedText">
            <summary>
            Base kill-feed verb/phrase for KillFeed context.
            Grammar slot: intended to sit between killer and victim (e.g. "stabbed", "burned").
            This is consumed by the live kill-feed projection.
            </summary>
        </member>
        <member name="P:TerrorTown.DamageDescriptorSourceComponent.ConsoleLogText">
            <summary>
            Context override text for ConsoleLog context.
            Intended as a short death descriptor phrase; currently no active console formatter resolves this context.
            </summary>
        </member>
        <member name="P:TerrorTown.DamageDescriptorSourceComponent.RoundSummaryText">
            <summary>
            Context override text for RoundSummary context.
            Intended as a summary-friendly phrase/sentence fragment; currently reserved until summary rendering resolves descriptor context.
            </summary>
        </member>
        <member name="P:TerrorTown.DamageDescriptorSourceComponent.StatsText">
            <summary>
            Context override text for Stats context.
            Intended as compact stats/log wording; currently reserved until stats renderers resolve descriptor context.
            </summary>
        </member>
        <member name="P:TerrorTown.DamageDescriptorSourceComponent.DetectiveInfoText">
            <summary>
            Context override text for DetectiveInfo context.
            Intended for forensic/detective-only readouts; currently reserved until detective views resolve descriptor context.
            </summary>
        </member>
        <member name="P:TerrorTown.DamageDescriptorSourceComponent.HeadshotBodyInfoText">
            <summary>
            Headshot-only replacement for BodyInfo context.
            Grammar slot is identical to <see cref="P:TerrorTown.DamageDescriptorSourceComponent.BodyInfoText"/> and still receives the " {seconds} second(s) ago" suffix.
            </summary>
        </member>
        <member name="P:TerrorTown.DamageDescriptorSourceComponent.HeadshotKillFeedText">
            <summary>
            Headshot-only replacement for KillFeed context.
            Grammar slot is identical to <see cref="P:TerrorTown.DamageDescriptorSourceComponent.KillFeedText"/> (verb/phrase between killer and victim).
            </summary>
        </member>
        <member name="T:TerrorTown.EquippableDamageDescriptorComponent">
            <summary>
            Descriptor overrides for player equipment and weapons.
            </summary>
        </member>
        <member name="T:TerrorTown.GenericWorldDamageDescriptorComponent">
            <summary>
            Descriptor overrides for non-equippable world objects (props, scripted world explosions, etc).
            </summary>
        </member>
        <member name="T:TerrorTown.MapHazardDamageDescriptorComponent">
            <summary>
            Descriptor overrides for authored map hazards (traps, trigger hazards, environmental killers).
            </summary>
        </member>
        <member name="T:TerrorTown.TttDamageDescriptor">
            <summary>
            Text/profile metadata for one canonical damage cause.
            </summary>
        </member>
        <member name="P:TerrorTown.TttDamageDescriptor.CorpseText">
            <summary>
            Base phrase for BodyInfo-like contexts (corpse/inspection wording).
            </summary>
        </member>
        <member name="P:TerrorTown.TttDamageDescriptor.KillFeedText">
            <summary>
            Base phrase for KillFeed-like contexts (typically a kill method verb/phrase).
            </summary>
        </member>
        <member name="T:TerrorTown.TttDamageDescriptorContext">
            <summary>
            Where a damage description is being rendered.
            </summary>
        </member>
        <member name="F:TerrorTown.TttDamageDescriptorContext.BodyInfo">
            <summary>
            Corpse/body inspection text.
            Current runtime grammar: value is used as a leading clause, then body UI appends elapsed-time text.
            </summary>
        </member>
        <member name="F:TerrorTown.TttDamageDescriptorContext.KillFeed">
            <summary>
            Kill feed method verb/phrase (typically between killer and victim names).
            Currently reserved in descriptor pipeline; live kill feed still emits fixed verbs.
            </summary>
        </member>
        <member name="F:TerrorTown.TttDamageDescriptorContext.ConsoleLog">
            <summary>
            Console logging representation of the death method.
            </summary>
        </member>
        <member name="F:TerrorTown.TttDamageDescriptorContext.RoundSummary">
            <summary>
            Round summary representation of the death method.
            </summary>
        </member>
        <member name="F:TerrorTown.TttDamageDescriptorContext.Stats">
            <summary>
            Stats/telemetry representation of the death method.
            </summary>
        </member>
        <member name="F:TerrorTown.TttDamageDescriptorContext.DetectiveInfo">
            <summary>
            Detective/forensics representation of the death method.
            </summary>
        </member>
        <member name="T:TerrorTown.TttDamageDescriptorRegistry">
            <summary>
            Registry for cause descriptors used by corpse text, kill feed, and logs.
            </summary>
        </member>
        <member name="T:TerrorTown.TttDamageDescriptorSourceResolver">
            <summary>
            Resolves the best descriptor source component for a damage payload or snapshot.
            </summary>
        </member>
        <member name="T:TerrorTown.TttDamageEvent">
            <summary>
            Canonical runtime snapshot of one resolved damage application.
            </summary>
        </member>
        <member name="T:TerrorTown.TttDamageTextVariant">
            <summary>
            One optional weighted descriptor text variant with context/predicate filtering.
            </summary>
        </member>
        <member name="T:TerrorTown.HealthComponent">
            <summary>
            A health component for any kind of GameObject.
            </summary>
        </member>
        <member name="P:TerrorTown.HealthComponent.IsGodMode">
            <summary>
            Are we in god mode?
            </summary>
        </member>
        <member name="P:TerrorTown.HealthComponent.OnHealthChanged">
            <summary>
            An action (mainly for ActionGraphs) to respond to when a GameObject's health changes.
            </summary>
        </member>
        <member name="P:TerrorTown.HealthComponent.TimeSinceLifeStateChanged">
            <summary>
            How long has it been since life state changed?
            </summary>
        </member>
        <member name="F:TerrorTown.HealthComponent.LifeMismatchGraceSeconds">
            <summary>
            Grace window before reporting life/health mismatch as desync.
            </summary>
        </member>
        <member name="P:TerrorTown.HealthComponent.RespawnState">
            <summary>
            Are we ready to respawn?
            </summary>
        </member>
        <member name="P:TerrorTown.HealthComponent.ArmorReduction">
            <summary>
            How much to reduce damage by when we have armor.
            </summary>
        </member>
        <member name="P:TerrorTown.HealthComponent.Health">
            <summary>
            What's our health?
            </summary>
        </member>
        <member name="P:TerrorTown.HealthComponent.State">
            <summary>
            What's our life state?
            </summary>
        </member>
        <member name="M:TerrorTown.HealthComponent.OnHealthPropertyChanged(System.Single,System.Single)">
            <summary>
            Called when <see cref="P:TerrorTown.HealthComponent.Health"/> is changed across the network.
            </summary>
            <param name="oldValue"></param>
            <param name="newValue"></param>
        </member>
        <member name="T:TerrorTown.LifeState">
            <summary>
            The component's life state.
            </summary>
        </member>
        <member name="T:TerrorTown.IDamageListener">
            <summary>
            A listener put on a component that listens to damage.
            </summary>
        </member>
        <member name="M:TerrorTown.IDamageListener.OnDamageGiven(System.Single,Vector3,Vector3,Sandbox.Component,Sandbox.Component,System.String,System.String[])">
            <summary>
            Called when YOU inflict damage on something
            </summary>
            <param name="damage"></param>
            <param name="position"></param>
            <param name="force"></param>
            <param name="target"></param>
            <param name="hitbox"></param>
        </member>
        <member name="M:TerrorTown.IDamageListener.OnDamageTaken(System.Single,Vector3,Vector3,Sandbox.Component,Sandbox.Component,System.String,System.String[])">
            <summary>
            Called when YOU take damage from something
            </summary>
            <param name="damage"></param>
            <param name="position"></param>
            <param name="force"></param>
            <param name="attacker"></param>
            <param name="hitbox"></param>
        </member>
        <member name="M:TerrorTown.IDamageListener.PreDamageTaken(System.Single@,Vector3,Vector3,Sandbox.Component,Sandbox.Component,System.String,System.String[])">
            <summary>
            Called when YOU take damage from something
            </summary>
            <param name="damage"></param>
            <param name="position"></param>
            <param name="force"></param>
            <param name="attacker"></param>
            <param name="hitbox"></param>
        </member>
        <member name="T:TerrorTown.IKillListener">
            <summary>
            A listener put on a component that listens to damage.
            </summary>
        </member>
        <member name="M:TerrorTown.IKillListener.OnPlayerKilled(Sandbox.Component,Sandbox.Component,System.Single,Vector3,Vector3,Sandbox.Component,System.String)">
            <summary>
            Called when something dies
            </summary>
            <param name="damage"></param>
            <param name="position"></param>
            <param name="force"></param>
            <param name="inflictor"></param>
            <param name="hitbox"></param>
            <param name="killer"></param>
            <param name="victim"></param>
        </member>
        <member name="T:TerrorTown.IPreKillListener">
            <summary>
            A listener that is called BEFORE a player dies, allowing you to handle equipment drops, etc.
            </summary>
        </member>
        <member name="M:TerrorTown.IPreKillListener.OnPlayerAboutToDie(Sandbox.Component,Sandbox.Component,System.Single,Vector3,Vector3,Sandbox.Component,System.String)">
            <summary>
            Called when something is about to die, before the kill sequence begins
            </summary>
        </member>
        <member name="T:TerrorTown.DamageSnapshotService">
            <summary>
            Hosts the canonical last-damage snapshot authoring path, keeping state storage lean.
            </summary>
        </member>
        <member name="T:TerrorTown.DisguiseVisibilityPolicy">
            <summary>
            Identity-only visibility rules for the disguiser. Keep these separate from role visibility:
            knowing a player's role and being allowed to identify that player are different concerns.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerAmmo.HostTryGrantFromPickup(TerrorTown.AmmoType,System.Int32,System.Boolean)">
            <summary>
            Host-authoritative pickup gate. Returns the amount actually granted.
            </summary>
        </member>
        <member name="T:TerrorTown.PlayerInventory">
            <summary>
            The player's inventory.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerInventory.Weapons">
            <summary>
            What weapons do we have right now?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerInventory.WeaponGameObject">
            <summary>
            A <see cref="T:Sandbox.GameObject"/> that will hold all of our weapons.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerInventory.CanUnequipCurrentWeapon">
            <summary>
            Can we unequip the current weapon so we have no weapons out?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerInventory.Credits">
            <summary>
            Players current Credits
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerInventory.CurrentWeapon">
            <summary>
            Gets the player's current weapon.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerInventory.DropWeaponInternal(System.Guid,System.Boolean,System.Boolean)">
            <summary>
            Internal method that actually performs the weapon drop logic.
            Can be called directly from host without going through RPC.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerInventory.SwitchWeapon(TerrorTown.Weapon)">
            <summary>
            Tries to set the player's current weapon to a specific one, which has to be in the player's inventory.
            </summary>
            <param name="weapon"></param>
        </member>
        <member name="M:TerrorTown.PlayerInventory.RemoveWeapon(TerrorTown.Weapon)">
            <summary>
            Removes the given weapon and destroys it.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerInventory.RemoveWeapon(WeaponData)">
            <summary>
            Removes the given weapon (by its resource data) and destroys it.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerInventory.TransferCreditsTo(System.Guid,System.Int32)">
            <summary>
            Transfers credits from this player to a teammate (Traitor only). Runs on host via RPC.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.OutOfBoundsTraceDistance">
            <summary>
            How far down to trace when checking for a floor below the player.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.UnstickOutOfBoundsMode">
            <summary>
            Detection mode used when validating candidate positions during the unstuck process.
            </summary>
        </member>
        <member name="F:TerrorTown.PlayerMovement.OutOfBoundsDetectionMode.DownwardsTrace">
            <summary>
            Simple void check. This only checks if there is a floor below the player.
            </summary>
        </member>
        <member name="F:TerrorTown.PlayerMovement.OutOfBoundsDetectionMode.AllDirectionsTrace">
            <summary>
            Casts rays in all axis-aligned directions. If every ray hits a surface, the
            player is inside the sealed map hull. If any ray escapes, the player is outside.
            </summary>
        </member>
        <member name="F:TerrorTown.PlayerMovement.OutOfBoundsDetectionMode.BidirectionalTrace">
            <summary>
            Fires an outward ray, then a return ray back toward the player. If the return ray
            hits a closer surface before reaching the player, there is a hull wall between the
            player and that surface, meaning the player is outside it.
            </summary>
        </member>
        <member name="F:TerrorTown.PlayerMovement.OutOfBoundsDetectionMode.OobVolume">
            <summary>
            Checks whether the player overlaps any collider tagged with <see cref="P:TerrorTown.PlayerMovement.OutOfBoundsTag"/>.
            </summary>
        </member>
        <member name="F:TerrorTown.PlayerMovement.OutOfBoundsDetectionMode.NavMeshTest">
            <summary>
            Check if the player is outside of the navmesh.
            </summary>
        </member>
        <member name="F:TerrorTown.PlayerMovement.OutOfBoundsDetectionMode.Custom">
            <summary>
            Use <see cref="P:TerrorTown.PlayerMovement.CustomOutOfBoundsCheck"/>.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.Bounciness">
            <summary>
            When jumping into walls, should we bounce off or just stop dead?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.UseCollisionRules">
            <summary>
            If enabled, determine what to collide with using current project's collision rules for the <see cref="P:Sandbox.GameObject.Tags"/>
            of the containing <see cref="T:Sandbox.GameObject"/>.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.PlayerTraceCollider">
            <summary>
            Optional collider used as the shape of the player's movement trace, uses helper physics body or bbox if unset.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.LaunchUpwards(System.Single)">
            <summary>
            Move up and leave the ground, great for jumping.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.Accelerate(Vector3)">
            <summary>
            Add acceleration to the current velocity. 
            No need to scale by time delta - it will be done inside.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.Accelerate(Vector3,System.Single)">
            <summary>
            Add our wish direction and speed onto our velocity
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.AirAccelerate(Vector3,System.Single)">
            <summary>
            Same but for air
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.ApplyFriction(Vector3,System.Single,System.Single)">
            <summary>
            Apply an amount of friction to the current velocity.
            No need to scale by time delta - it will be done inside.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.TraceDirection(Vector3)">
            <summary>
            Trace the controller's current position to the specified delta
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.Punch(Vector3@)">
            <summary>
            Disconnect from ground and punch our velocity. This is useful if you want the player to jump or something.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.ClearGround">
            <summary>
            We're no longer on the ground, remove it
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.ChangeGround(Sandbox.SceneTraceResult)">
            <summary>
            We have a new ground
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.MoveTo(Vector3,System.Boolean)">
            <summary>
            Move from our current position to this target position, but using tracing an sliding.
            This is good for different control modes like ladders and stuff.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.Gravity">
            <summary>
            The current gravity.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.BaseFriction">
            <summary>
            How much friction does the player have?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.StopSpeed">
            <summary>
            The speed at which we fully come to a stop.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.AirControl">
            <summary>
            Can we control our movement in the air?
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.Move(System.Boolean,System.Boolean,System.Single)">
            <summary>
            Move a character, with this velocity
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.GetFriction">
            <summary>
            Get the current friction.
            </summary>
            <returns></returns>
        </member>
        <member name="T:TerrorTown.PlayerPhysicsPropContactGuard">
            <summary>
            Marks local player physics-helper contacts with loose props so the movement controller can reject
            raw solver velocity while preserving explicit pushes and authored-mover support velocity.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerWalkControllerComplex.AimRay">
            <summary>
            Constructs a ray using the camera's GameObject
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerWalkControllerComplex.NoclipAction">
            <summary>
            The Input Action that noclipping is triggered by.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerWalkControllerComplex.CheckNoclip">
            <summary>
            TODO
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerWalkControllerComplex.DoNoclipMove">
            <summary>
            TODO
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerWalkControllerComplex.DefaultSpeed">
            <summary>
            How quickly does the player move by default?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerWalkControllerComplex.RunAction">
            <summary>
            The Input Action that the alternate speed mode is triggered by.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerWalkControllerComplex.RunByDefault">
            <summary>
            If the player should run by default, pressing the run action will swap to default speed
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerWalkControllerComplex.RunSpeed">
            <summary>
            The speed the player moves at while in the alternate speed mode.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerWalkControllerComplex.WalkAction">
            <summary>
            The Input Action that the alternate speed mode is triggered by.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerWalkControllerComplex.WalkSpeed">
            <summary>
            The speed the player moves at while in the alternate speed mode.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerWalkControllerComplex.CrouchAction">
            <summary>
            The Input Action that crouching is triggered by.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerWalkControllerComplex.CrouchSpeed">
            <summary>
            The speed the player moves at while crouching.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerWalkControllerComplex.JumpAction">
            <summary>
            The Input Action that jumping is triggered by.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerWalkControllerComplex.AllowBunnyHopping">
            <summary>
            Can the player jump immediately on the first grounded frame?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerWalkControllerComplex.AllowPogosticking">
            <summary>
            Can the player hold down jump to repeatedly jump?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerWalkControllerComplex.JumpPower">
            <summary>
            How powerful is the player's jump?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerWalkControllerComplex.WantsJump">
            <summary>
            Do we want to jump next movement update?
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerWalkControllerComplex.BroadcastPlayerJumped">
            <summary>
            A network message that lets other users that we've triggered a jump.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerWalkControllerComplex.MovementPreset">
            <summary>
            Values from popular games.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerWalkControllerComplex.UseAction">
            <summary>
            The Input Action that noclipping is triggered by.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerBody.ApplyVisibilityLocal(System.Boolean)">
            <summary>
            Local-only visibility toggle. Network truth comes from PlayerComponent.LifeSnapshot.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.ResyncUpdate">
            <summary>
            Client-side loop: detect mismatch and request host resync.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.ResyncFixedUpdate">
            <summary>
            Host-side loop: broadcast authoritative state on an interval.
            See GameMode.cs Resync properties
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.ShouldRequestResync(System.Boolean)">
            <summary>
            Decide if we should request a resync from the host.
            ... I am a little worried about this, but we have to make the determination somewhere.
            Todo: It may be worth checking the game's state as part of this, as opposed to LifecycleState, but
            we manually set the LifecycleState on transitions- it's probably more reliable than GameState info for the client rn
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.RequestStateResync">
            <summary>
            Host-only: owner requests a resync for their pawn.
            I hate the sbox documentation on these net flags
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.HealthComponent">
            <summary>
            The player's health component
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Inventory">
            <summary>
            The player's inventory, items, etc.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Ammo">
            <summary>
            The player's ammo.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.TeamComponent">
            <summary>
            Component describing which team the player is on.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.TimeSinceLastRespawn">
            <summary>
            How long since the player last respawned?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.LifeSnapshot">
            <summary>
            Host-authored life snapshot (life, health, respawn, lifecycle) sent as a single synchronized value.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.LifecycleState">
            <summary>
            Host-authored lifecycle state for play/spectate. Derived from LifeSnapshot.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.IsDeathCameraActive">
            <summary>
            Whether the death camera is currently active
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.EnterObserverMode">
            <summary>
            Host only: Called when a player joins mid-round. Create the player they'll need for next round, but
            posture only. No death pipeline stuff or in-game state changes.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.ExitObserverMode">
            <summary>
            Host-only: Prepare the player's pawn for live play and control. Posture only!
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.Initialize">
            <summary>
            Initialize the player pawn.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.Kill(System.Boolean)">
            <summary>
            Host-only kill.
            </summary>
            <param name="silent"></param>
        </member>
        <member name="M:TerrorTown.PlayerComponent.OnKilledByHealth(System.Boolean)">
            <summary>
            Host-only: apply death effects without re-authoring life state.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.DoDeathCameraThenSpectate(System.Int32,TerrorTown.LocalCameraRig.DeathCameraStyle)">
            <summary>
            Activates the dead camera (camera follows head bone), then switches to spectate mode after 5 seconds or on click/space down.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.StartSpectating">
            <summary>
            If we're controlling this, ask the host to start spectating
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.RequestStartSpectating">
            <summary>
            Call the host and have them put us in spectator, because we died
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.RespawnClient">
            <summary>
            Visual/posture reset that must run everywhere
            Host-only call, but executes on all receipients
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.SpawnPosition">
            <summary>
            Host-authored spawn transform (sequence + position/rotation) for spawn and respawn recovery.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.TeleportHost(Vector3,Rotation,TerrorTown.PlayerTeleportReason)">
            <summary>
            Host-only canonical teleport entrypoint. Every normal teleport path should end here.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.PrepareInitialSpawnTransformHost(Vector3,Rotation)">
            <summary>
            Host-only: apply a spawn/respawn transform before the player is network spawned.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.TeleportToSpawnHost(Vector3,Rotation)">
            <summary>
            Host-only: apply a spawn/respawn transform and replicate it through the canonical teleport path.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.CurrentWeapon">
            <summary>
            Owner-authored active weapon for this pawn. Individual weapons derive deployment from this reference.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.OwnerClient">
            <summary>
            This is the networked truth of who owns this pawn. 
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.TerrorTown#IPawn#Owner">
            <summary>
            This is OwnerClient, satisfying IPawn.Owner. Same value.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.IsLocallyControlled">
            <summary>
            A shorthand accessor to say if we're controlling this player.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.IsViewer">
            <summary>
            Is this player the currently possessed controller? TODO change for spectating
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Body">
            <summary>
            The player's body
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Head">
            <summary>
            A reference to the player's head (the GameObject)
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.AnimationHelper">
            <summary>
            A reference to the animation helper.
            Keep this lookup-only so cloned player prefabs don't carry hotloaded base-package component refs across map changes.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.WalkController">
            <summary>
            The current character controller for this player.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Controller">
            <summary>
            The current player mover for this player.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.ApplyPush(Vector3)">
            <summary>
            Apply a push force to this player (called via RPC to the owner)
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.TerrorTown">
            <summary>
            The current camera controller for this player. ???? - 55
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Voice">
            <summary>
            The player's voice
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Camera">
            <summary>
            The current camera for this player.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Outline">
            <summary>
            The outline effect for this player.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.ViewModelCamera">
            <summary>
            A reference to the View Model's camera. This will be disabled by the View Model.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Outfitter">
            <summary>
            Handles the player's outfit
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Radar">
            <summary>
            Handles radar pings for a player
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.ViewModelGameObject">
            <summary>
            A <see cref="T:Sandbox.GameObject"/> that will hold our ViewModel.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.BodyRenderer">
            <summary>
            Finds the first <see cref="T:Sandbox.SkinnedModelRenderer"/> on <see cref="P:TerrorTown.PlayerComponent.Body"/>
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.AimRay">
            <summary>
            An accessor to get the camera controller's aim ray.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.OnJump">
            <summary>
            Called when the player jumps.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.UseDistance">
            <summary>
            How far can we use stuff?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.BotId">
            <summary>
            Unique ID of this Bot
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.IsBot">
            <summary>
            Is this a player or a bot
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.AssignTeam(TerrorTown.Team)">
            <summary>
            Called when YOU inflict damage on something
            </summary>
            <param name="damage"></param>
            <param name="position"></param>
            <param name="force"></param>
            <param name="target"></param>
            <param name="hitbox"></param>
        </member>
        <member name="T:TerrorTown.PlayerLastSeenTracker">
            <summary>
            Tracks the last identifiable living player locally, then submits one death record for corpse forensics.
            Looking away preserves the last known target, as in classic TTT.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMarker.Player">
            <summary>
            The player.
            </summary>
        </member>
        <member name="T:TerrorTown.PlayerOutfitter">
            <summary>
            Assigns the player's clothing. Anything commented out is available but not being used, unless it's in the "not working" up here.
            </summary>
        </member>
        <member name="F:TerrorTown.PlayerOutfitter._defaultBodyModel">
            <summary>Cached "no custom model" body model, captured the first time we apply an outfit so we can restore it when the player un-equips.</summary>
        </member>
        <member name="M:TerrorTown.PlayerOutfitter.TearDownClothingChildren(Sandbox.SkinnedModelRenderer)">
            <summary>
            Destroy any SkinnedModelRenderer GameObjects that <see cref="M:Sandbox.ClothingContainer.Apply(Sandbox.SkinnedModelRenderer)"/>
            previously spawned as bone-merged children of the body renderer. Used when a custom model
            is equipped and we're skipping Clothing.Apply - otherwise the citizen-skin / clothing
            meshes from a prior apply linger and overlap the swapped model.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerOutfitter.ResolveSelectedModel(System.String)">
            <summary>
            Resolve the published model ident to a loaded <see cref="T:Sandbox.Model"/>. Verifies it's still in
            the manifest as Type=Model and is mountable. Returns null on any failure so the caller
            falls back to the default citizen body.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerOutfitter.ApplyOutfitTo(Sandbox.SkinnedModelRenderer)">
            <summary>
            Apply this player's current outfit to an arbitrary renderer (e.g., a corpse spawned by
            PlayerBody on death). Handles the custom-model case the same way live applies do - skips
            <see cref="M:Sandbox.ClothingContainer.Apply(Sandbox.SkinnedModelRenderer)"/> entirely and stamps the model directly - so a corpse
            doesn't end up with the engine's censoring underwear on top of the custom body.
            </summary>
        </member>
        <member name="T:TerrorTown.TerrorTownState">
            <summary>
             All this component does is lie 
            </summary>
        </member>
        <member name="P:TerrorTown.TerrorTownState.CanIdentifyBody">
            <summary>
            Are we allowed to identify this body?
            (WaitingForPlayers only for testing)
            </summary>
        </member>
        <member name="T:TerrorTown.PlayerTagManager">
            <summary>
            Local-only client state for per-player scoreboard tags (Gmod-TTT style).
            Cleared at the start of each round via <see cref="M:TerrorTown.PlayerTagManager.Poll(System.Nullable{GameState})"/>.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerTagManager.Poll(System.Nullable{GameState})">
            <summary>
            Call each frame from any client-side ticker. Detects round transitions and clears tags
            at the start of a new round (entry into <see cref="F:GameState.Starting"/>).
            </summary>
        </member>
        <member name="T:TerrorTown.SpawnReason">
            <summary>
            Why a spawn was requested. Used for diagnostics and policy branching.
            </summary>
        </member>
        <member name="T:TerrorTown.PlayerPlacementUtility">
            <summary>
            Shared player-placement helper used by spawning and map-authored teleports.
            </summary>
        </member>
        <member name="T:TerrorTown.SpawnExecutionService">
            <summary>
            Host-side physical spawn authority (point selection, teleport, and movement safety).
            </summary>
        </member>
        <member name="M:TerrorTown.SpawnExecutionService.ResetAndRespawnBatchHost(System.Collections.Generic.IEnumerable{TerrorTown.PlayerComponent},TerrorTown.SpawnReason)">
            <summary>
            Host-side combined inventory reset + respawn pass with unique spawn reservations.
            </summary>
        </member>
        <member name="T:TerrorTown.SpawnPointSelector">
            <summary>
            Host-side spawn point chooser with safety checks and reservation support.
            </summary>
        </member>
        <member name="M:TerrorTown.SpawnPointSelector.SelectBest(TerrorTown.PlayerComponent,System.Collections.Generic.HashSet{System.Guid},System.Collections.Generic.IReadOnlyList{Vector3},System.Guid,System.Guid@)">
            <summary>
            Select the best available spawn transform for this player.
            </summary>
        </member>
        <member name="T:TerrorTown.SpawnSystem">
            <summary>
            Centralized spawn orchestration for participation, round start spawns, and warmup auto-respawns.
            </summary>
        </member>
        <member name="M:TerrorTown.SpectateController.GetSpectateTargetUnderAim">
            <summary>
            Traces forward from the freecam and returns the alive player under the aim,
            or null. Shared by the Use-to-spectate action and the on-screen hint.
            </summary>
        </member>
        <member name="P:TerrorTown.SpectateSystem.SpectatorPrefab">
            <summary>
            Which spectator prefab should we spawn?
            </summary>
        </member>
        <member name="M:TerrorTown.SpectateSystem.UpdateSpectatorCamera">
            <summary>
            Called each frame and determines the camera's position based on the mode
            </summary>
        </member>
        <member name="T:TerrorTown.UI.KeybindDisplay">
            <summary>
            Formats keybind origin strings for display (e.g. "return" → "ENTER").
            </summary>
        </member>
        <member name="M:TerrorTown.UI.OptionSelect.Open">
            <summary>
            Open the dropdown.
            </summary>
        </member>
        <member name="T:TerrorTown.UI.StylePathHelper">
            <summary>
            Normalizes paths for use in CSS url() so the Sandbox style parser (Zio) accepts them on Windows.
            Windows paths must be in the form /mnt/&lt;drive&gt;/... for the virtual filesystem.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.StylePathHelper.NormalizeForStyleUrl(System.String)">
            <summary>
            Converts a path to the form expected by the style parser on Windows.
            If the path is already game-relative (e.g. "ui/icon.png") or null/empty, returns it unchanged.
            If it is a Windows absolute path (e.g. "C:\..."), converts to /mnt/c/...
            </summary>
        </member>
        <member name="T:TerrorTown.UI.UIContext">
            <summary>
            Single source of truth for HUD/UI as far as "who am I showing" and "what do I know (based on what team I am)"
            Target = whoever the camera is anchored to (spectated player or me)
            Local = our owned session player (our own team alignment/perms/etc)
            Shitload of computed values we can use throughout the UI
            </summary>
        </member>
        <member name="P:TerrorTown.UI.UIContext.OwnedPlayer">
            <summary>
            Local client's owned player pawn, this needs to be and should be stable through the session
            </summary>
        </member>
        <member name="P:TerrorTown.UI.UIContext.TargetPlayer">
            <summary>
            Player we're currently viewing (Spectate target or our own pawn when playing). This is allowed to be null for freecam
            </summary>
        </member>
        <member name="P:TerrorTown.UI.UIContext.PerceivedTargetTeamEnum">
            <summary>
            What team the local user should perceive the target as.
            For example, traitors only appear as traitors to their teammates
            </summary>
        </member>
        <member name="P:TerrorTown.UI.UIContext.RoleVisibilityRevision">
            <summary>
            Changes whenever requester/target identity or role-visibility phase context changes.
            Use in BuildHash for role-sensitive panels to avoid stale display during handoff churn.
            </summary>
        </member>
        <member name="T:TerrorTown.UI.RoundHighlight">
            <summary>
            Client-side award computation for the end-of-round Highlights panel.
            Pure - operates on already-synced round data (kill feed + scoreboard snapshot).
            Kill counters are derived from the per-round kill feed so they reflect only this round,
            while team membership / alive state come from the (cumulative, real-time) scoreboard snapshot.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.RoundHighlight.PlayerId">
            <summary>The player the award is attached to. <see cref="F:System.Guid.Empty"/> for round-level awards.</summary>
        </member>
        <member name="P:TerrorTown.UI.Ammo.Inventory">
            <summary>
            The player's inventory
            </summary>
        </member>
        <member name="M:TerrorTown.UI.C4Panel.ResetTimer">
            <summary>
            Reset the timer to default when opening the panel
            </summary>
        </member>
        <member name="M:TerrorTown.UI.C4Panel.FormatTimeDigits(System.Single)">
            <summary>
            Returns just the 4 digits (no colon) for grid display
            </summary>
        </member>
        <member name="M:TerrorTown.UI.Crosshair.UpdateDistance(TerrorTown.Weapon)">
            <summary>
            Adjust the appearance of the crosshair
            </summary>
            <param name="weapon">The weapon we're currently holding, if there is one</param>
        </member>
        <member name="P:TerrorTown.UI.DnaBar.Percent">
            <summary>
            Fill percent in range [0..1]. 1 = full, 0 = empty.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.DnaBar.Text">
            <summary>
            Optional overlay text shown centered over the bar.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.DnaBar.TexturePath">
            <summary>
            Game-relative texture path, for example: /ui/dnafinal.png
            </summary>
        </member>
        <member name="P:TerrorTown.UI.DnaBar.TextureVerticalScale">
            <summary>
            Vertical texture scale. 1 = fit bar bounds.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.DnaBar.TextureVerticalOffsetPercent">
            <summary>
            Vertical texture position offset in percentage points from center.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.DnaBar.SoftEdgeWidthPercent">
            <summary>
            Width (in percent of bar width) of the soft edge blend.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.DnaBar.SoftEdgeStrength">
            <summary>
            Opacity multiplier for the soft edge.
            0 = hard edge, 1 = strongest falloff.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.Donut.Value">
            <summary>
            0 to 100
            </summary>
        </member>
        <member name="M:TerrorTown.UI.InputHint.UpdateTexture">
            <summary>
            Checks the current button and updates the glyph.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.ModMenuPage.FetchBrowserPageAsync(TerrorTown.UI.ModMenuPage.PointshopBrowserType,System.String,System.Int32,System.Int32)">
            <summary>Fetches a page from sbox.game. For "All" type, runs clothing + model queries in parallel and merges them.</summary>
        </member>
        <member name="M:TerrorTown.UI.PointshopLoadoutPage.CategoryOrder(System.String)">
            <summary>
            Sort priority for category labels. Default first, then admin-curated categories in their
            listed order, then anything else (typically Auto-derived sandbox labels) at the tail.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.PointshopLoadoutPage.ResolveActualSlotKey(Sandbox.Clothing)">
            <summary>
            Slot key based on the clothing's actual rendered category. Routes through
            PointshopSystem.NormalizeCategoryToSlot so e.g. TrousersCargo and TrousersShorts both
            land at "Trousers" - the loadout's radio toggle and the outfitter's overriddenGroups
            must agree on this, otherwise pants and shorts can both equip at once.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.ProgressBar.Value">
            <summary>
            0 to 100
            </summary>
        </member>
        <member name="P:TerrorTown.UI.RadioCommand.Slot">
            <summary>
            The player's weapon.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.RadioCommand.Command">
            <summary>
            The player's weapon.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.RadioCommand.IsSelected">
            <summary>
            Is this selected or being hovered over?
            </summary>
        </member>
        <member name="P:TerrorTown.UI.SettingEntry.Target">
            <summary>
            Target object that owns the setting property.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.SettingEntry.Value">
            <summary>
            Current setting value for <see cref="P:TerrorTown.UI.SettingEntry.Description"/>, read/write via reflection.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.SettingEntry.Description">
            <summary>
            Metadata for the setting property being rendered.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.SettingEntry.Range">
            <summary>
            Range and UI metadata used by the slider/option row.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingEntry.ResolveSliderStep">
            <summary>
            Supports both modern [Range(min,max)] + [Step(x)] and legacy Range step overloads.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.SettingEntry.ShowValue">
            <summary>
            Whether the value label should render for this entry.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.SettingEntry.ShowTextEntry">
            <summary>
            Whether a text entry field should render for this entry.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingEntry.ResolveDisplayState(TerrorTown.SettingDisplayState,System.Boolean)">
            <summary>
            Resolves an override state to a concrete bool.
            </summary>
        </member>
        <member name="F:TerrorTown.UI.SettingsPage._selectedGroup">
            <summary>
            Current settings group selected by the top bar.
            </summary>
        </member>
        <member name="T:TerrorTown.UI.SettingsPage.SettingsSubGroup">
            <summary>
            Grouped settings metadata used for layout and rendering.
            </summary>
        </member>
        <member name="T:TerrorTown.UI.SettingsPage.SettingsWidget">
            <summary>
            Widget metadata resolved from <see cref="T:TerrorTown.SettingWidgetAnchorAttribute"/>.
            </summary>
        </member>
        <member name="T:TerrorTown.UI.SettingsPage.SettingsColumnSlot">
            <summary>
            Main settings column slot containing one or more subgroups.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.SettingsPage.CrosshairColorProperty">
            <summary>
            Serialized property wrapper used by <see cref="T:Sandbox.UI.ColorControl"/>.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.GetSettingsSubGroups">
            <summary>
            Builds subgroup definitions from the current group's settings metadata.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.GetGroupPreset(System.String)">
            <summary>
            Resolves layout preset metadata for a settings group.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.GetColumnLayouts">
            <summary>
            Resolves column layout metadata for the current group.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.GetColumnStyle(System.Collections.Generic.IReadOnlyList{TerrorTown.SettingColumnLayoutAttribute},TerrorTown.SettingGroupPresetAttribute,TerrorTown.SettingSubGroupDock,System.Int32,TerrorTown.SettingColumnAreaMode)">
            <summary>
            Generates inline style for a column based on layout attributes.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.GetConfiguredPresetColumnWidth(TerrorTown.SettingGroupPresetAttribute,TerrorTown.SettingSubGroupDock)">
            <summary>
            Resolves explicitly configured column widths from the selected group preset.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.GetCompactFallbackColumnWidth(TerrorTown.SettingGroupPresetAttribute,TerrorTown.SettingSubGroupDock)">
            <summary>
            Resolves compact-mode fallback column widths when no explicit width is configured.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.GetMainColumnSlots(TerrorTown.SettingGroupPresetAttribute,System.Collections.Generic.IReadOnlyList{TerrorTown.UI.SettingsPage.SettingsSubGroup},System.Collections.Generic.IReadOnlyList{TerrorTown.UI.SettingsPage.SettingsWidget})">
            <summary>
            Resolves how many main column slots should render for the selected group.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.GetMainColumnAreaMode(TerrorTown.SettingGroupPresetAttribute)">
            <summary>
            Resolves width behavior for the area that contains main columns.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.BuildMainColumns(System.Collections.Generic.IReadOnlyList{TerrorTown.UI.SettingsPage.SettingsSubGroup},System.Int32)">
            <summary>
            Builds ordered main column slots and injects empty slots when requested.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.ResolveColumnHeader(System.Collections.Generic.IReadOnlyList{TerrorTown.UI.SettingsPage.SettingsSubGroup})">
            <summary>
            Resolves a display label for a column.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.GetColumnAreaModeClass(TerrorTown.SettingColumnAreaMode)">
            <summary>
            Maps area mode enum to CSS suffix.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.BuildFixedColumnStyle(System.Int32)">
            <summary>
            Builds fixed-width column style.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.BuildFillColumnStyle">
            <summary>
            Builds evenly spaced fill-width column style.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.GetSettingsWidgets(System.Collections.Generic.IReadOnlyList{TerrorTown.UI.SettingsPage.SettingsSubGroup})">
            <summary>
            Resolves widget anchors into renderable widget metadata.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.NormalizeKey(System.String)">
            <summary>
            Normalizes a subgroup name for lookup keys.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.SettingsPage.SettingsShellStyle">
            <summary>
            Inline shell style resolved from the group preset.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.SettingsPage.SettingsShellClass">
            <summary>
            CSS class for shell and group/preset targeting.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.GetPresetClass(TerrorTown.SettingGroupPreset)">
            <summary>
            Maps preset enum to CSS suffix.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.GetWidgetStyle(TerrorTown.UI.SettingsPage.SettingsWidget,TerrorTown.SettingColumnAreaMode)">
            <summary>
            Generates inline width/height for a widget container.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.RenderWidget(TerrorTown.UI.SettingsPage.SettingsWidget,TerrorTown.SettingColumnAreaMode)">
            <summary>
            Maps a widget key to a concrete render fragment.
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.RenderCrosshairWidget(TerrorTown.UI.SettingsPage.SettingsWidget,TerrorTown.SettingColumnAreaMode)">
            <summary>
            Crosshair preview widget (preview + color control).
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.GetVisibleSettingsProperties">
            <summary>
            Returns properties visible for the current settings surface (main menu vs in-game).
            </summary>
        </member>
        <member name="M:TerrorTown.UI.SettingsPage.IsPropertyVisibleForSurface(Sandbox.PropertyDescription,System.Boolean)">
            <summary>
            Applies optional <see cref="T:TerrorTown.SettingSurfaceAttribute"/> filtering for a property.
            </summary>
        </member>
        <member name="T:TerrorTown.UI.TipPopup.TipAnchor">
            <summary>Where the popup renders on screen.</summary>
        </member>
        <member name="F:TerrorTown.UI.TipPopup.TipAnchor.Top">
            <summary>Top of the screen, horizontally centered.</summary>
        </member>
        <member name="F:TerrorTown.UI.TipPopup.TipAnchor.Center">
            <summary>Dead center of the screen.</summary>
        </member>
        <member name="F:TerrorTown.UI.TipPopup.TipAnchor.AboveCrosshair">
            <summary>Just above the crosshair.</summary>
        </member>
        <member name="F:TerrorTown.UI.TipPopup.TipAnchor.BelowCrosshair">
            <summary>Just below the crosshair.</summary>
        </member>
        <member name="F:TerrorTown.UI.TipPopup.TipAnchor.BottomRight">
            <summary>Bottom-right corner of the HUD.</summary>
        </member>
        <member name="F:TerrorTown.UI.TipPopup.TipAnchor.BottomLeft">
            <summary>Bottom-left of the HUD, sitting just above the role/health display.</summary>
        </member>
        <member name="F:TerrorTown.UI.TipPopup.TipAnchor.Mouse">
            <summary>Follows the mouse cursor (updated each Tick).</summary>
        </member>
        <member name="P:TerrorTown.UI.TipPopup.Title">
            <summary>Optional heading line, rendered above the body.</summary>
        </member>
        <member name="P:TerrorTown.UI.TipPopup.Body">
            <summary>Main text. Supports <c>[ActionName]</c> tokens (e.g. <c>[BuyMenu]</c>) that are
            replaced with the live keybind via <see cref="!:Sandbox.Input.GetButtonOrigin(string)"/>.</summary>
        </member>
        <member name="P:TerrorTown.UI.TipPopup.DurationSeconds">
            <summary>Auto-fade duration in seconds. <c>0</c> = sticky mode: stays visible while
            <see cref="P:TerrorTown.UI.TipPopup.Visible"/> is true. Set by <see cref="M:TerrorTown.UI.TipPopup.Show(System.String,System.String,System.Single,System.String,System.Nullable{TerrorTown.UI.TipPopup.TipAnchor},System.Nullable{System.Boolean})"/> / <see cref="M:TerrorTown.UI.TipPopup.ShowSticky(System.String,System.String,System.String,System.Nullable{TerrorTown.UI.TipPopup.TipAnchor},System.Nullable{System.Boolean})"/>.</summary>
        </member>
        <member name="P:TerrorTown.UI.TipPopup.Visible">
            <summary>Only used in sticky mode (DurationSeconds == 0). Caller toggles to show/hide.</summary>
        </member>
        <member name="P:TerrorTown.UI.TipPopup.ThemeClass">
            <summary>Theme suffix - "neutral" (default), "traitor", "detective". Maps to a CSS class.</summary>
        </member>
        <member name="P:TerrorTown.UI.TipPopup.Anchor">
            <summary>Where the popup anchors on the screen.</summary>
        </member>
        <member name="P:TerrorTown.UI.TipPopup.Compact">
            <summary>Smaller padding / font for tight hint-style popups.</summary>
        </member>
        <member name="P:TerrorTown.UI.TipPopup.UseKeyCaps">
            <summary>If true, <c>[ActionName]</c> tokens render as styled key-cap labels (used by the
            role onboarding popup). Default false: tokens render inline as plain bracketed text.</summary>
        </member>
        <member name="M:TerrorTown.UI.TipPopup.Show(System.String,System.String,System.Single,System.String,System.Nullable{TerrorTown.UI.TipPopup.TipAnchor},System.Nullable{System.Boolean})">
            <summary>Show the popup for <paramref name="durationSeconds"/> seconds then auto-fade.</summary>
        </member>
        <member name="M:TerrorTown.UI.TipPopup.ShowSticky(System.String,System.String,System.String,System.Nullable{TerrorTown.UI.TipPopup.TipAnchor},System.Nullable{System.Boolean})">
            <summary>Show the popup until <see cref="M:TerrorTown.UI.TipPopup.Hide"/> is called or <see cref="P:TerrorTown.UI.TipPopup.Visible"/> is set false.</summary>
        </member>
        <member name="M:TerrorTown.UI.TipPopup.SetText(System.String,System.String)">
            <summary>Update the popup's text without altering visibility. Useful for sticky popups whose text depends on state.</summary>
        </member>
        <member name="M:TerrorTown.UI.TipPopup.Hide">
            <summary>Hide immediately, canceling any auto-fade timer.</summary>
        </member>
        <member name="M:TerrorTown.UI.TipPopup.FormatBodyInline(System.String)">
            Inline form: replaces `[ActionName]` with `[Prettified]` (or the literal name for known
            keyboard keys like Tab/Enter) and returns the result as a single string. Used when
            UseKeyCaps is false so tokens render as bracketed text in the body label.
        </member>
        <member name="M:TerrorTown.UI.TipPopup.BuildBodyParts(System.String)">
            Walk the body and return alternating text / key-cap chunks.
            Unmapped tokens fall back to the literal "[ActionName]" text.
        </member>
        <member name="P:TerrorTown.UI.WeaponRow.Slot">
            <summary>
            The weapon's slot
            </summary>
        </member>
        <member name="P:TerrorTown.UI.WeaponRow.Weapon">
            <summary>
            The weapon instance we're listing
            </summary>
        </member>
        <member name="P:TerrorTown.UI.WeaponRow.IsSelected">
            <summary>
            Is this selected or being hovered over?
            </summary>
        </member>
        <member name="T:TerrorTown.LocalListenerAudioEffects">
            <summary>
            Owns continuous and listener-wide audio presentation for the local camera.
            Gameplay objects remain responsible for positional one-shots.
            </summary>
        </member>
        <member name="T:TerrorTown.LocalCameraRig">
            <summary>
            Local-only camera rig. Owns the single main camera and routes pose based on local state.
            </summary>
        </member>
        <member name="P:TerrorTown.LocalCameraRig.UseViewModelCommandList">
            <summary>
            When enabled, the main camera excludes the <c>viewmodel</c> tag and we explicitly draw
            viewmodels via <see cref = "T:TerrorTown.ViewModelPass"/> (CommandList). This avoids relying on multi-camera
            rendering, and is useful for diagnosing cases where viewmodels exist but aren't visible.
            </summary>
        </member>
        <member name="T:TerrorTown.LocalCameraRigBootstrap">
            <summary>
            Editor-visible entry point for the local camera rig prefab.
            </summary>
        </member>
        <member name="T:TerrorTown.PawnCamera">
            <summary>
            Pawn's camera.
            Reacts to "Am I the Viewer pawn?" and "What spectate mode?"
            Decisions are driven by PlayerLifecycleState
            </summary>
        </member>
        <member name="P:TerrorTown.PawnCamera.MainCamera">
            <summary>
            Now on LocalCameraRig, created and assigned locally.
            /// </summary>
        </member>
        <member name="P:TerrorTown.PawnCamera.ViewmodelCameraGameObject">
            <summary>
            GameObject the Viewmodel Camera is attached to, child of Camera GameObject. Weapon viewmodels are children of this object.
            </summary>
        </member>
        <member name="P:TerrorTown.PawnCamera.ViewmodelCameraComponent">
            <summary>
            Viewmodel CameraComponent. Currently not in use
            </summary>
        </member>
        <member name="P:TerrorTown.PawnCamera.PlayerComponent">
            <summary>
            Reference to the player component on the player GameObject.
            </summary>
        </member>
        <member name="P:TerrorTown.PawnCamera.Head">
            <summary>
            Reference the head on the player for reparenting the camera during death cutscenes, etc.
            </summary>
        </member>
        <member name="P:TerrorTown.PawnCamera.Body">
            <summary>
            Reference to the player's body for setting visibility, etc.
            </summary>
        </member>
        <member name="P:TerrorTown.PawnCamera.BodyModelRenderer">
            <summary>
            The main model renderer for the player.
            </summary>
        </member>
        <member name="P:TerrorTown.PawnCamera.Mode">
            <summary>
            Our pawn's current CameraMode
            </summary>
        </member>
        <member name="M:TerrorTown.PawnCamera.ResolveMode">
            <summary>
            Apply the correct CameraMode based on what pawn we are
            Indirectly set via ConnectedClient.Viewer
            </summary>
            <returns></returns>
        </member>
        <member name="P:TerrorTown.PawnCamera.ThisPawn">
            <summary>
            What kind of pawn are we? Used to determine CameraMode
            </summary>
        </member>
        <member name="M:TerrorTown.PawnCamera.ShouldRunCamera">
            <summary>
            Don't run the camera unless we are possessing this pawn
            </summary>
            <returns></returns>
        </member>
        <member name="P:TerrorTown.PawnCamera.FieldOfViewOverride">
            <summary>
            External FOV override (e.g., from scope or other visual FX). If not null, this value is used instead of the calculated FOV.
            </summary>
        </member>
        <member name="P:TerrorTown.PawnCamera.FirstPersonOffset">
            <summary>
            LocalPosition offset for the camera in first person
            </summary>
        </member>
        <member name="P:TerrorTown.PawnCamera.ThirdPersonOffset">
            <summary>
            LocalPosition offset for the camera in third person
            </summary>
        </member>
        <member name="M:TerrorTown.PawnCamera.OnCameraModeChanged(TerrorTown.PawnCamera.CameraMode)">
            <summary>
            Wrapper(?) for UpdateCameraMode that authorities send modes to
            </summary>
            <param name="mode"></param>
        </member>
        <member name="M:TerrorTown.PawnCamera.SetupCamera">
            <summary>
            Initial setup for a given pawn
            </summary>
        </member>
        <member name="M:TerrorTown.PawnCamera.UpdateCameraMode(TerrorTown.PawnCamera.CameraMode)">
            <summary>
            
            </summary>
            <param name="mode"></param>
        </member>
        <member name="M:TerrorTown.PawnCamera.UpdateBodyVisibility">
            <summary>
            Change the body visibility for the local player, depending on the camera mode.
            Only world models are children of the body, all viewmodels will be children of the ViewmodelCameraGameObject
            We call SetBodyRenderType which iterates through the body to show everything, shadows only, or nothing, depending on the need.
            </summary>
        </member>
        <member name="T:TerrorTown.LocalSpawnTransitionService">
            <summary>
            Local-only visual transition state for spawn/respawn events.
            </summary>
        </member>
        <member name="T:TerrorTown.ViewModel">
            <summary>
            A weapon's viewmodel. It's responsibility is to listen to events from a weapon.
            It should only exist on the client for the currently possessed pawn.
            </summary>
        </member>
        <member name="P:TerrorTown.ViewModel.Weapon">
            <summary>
            A reference to the <see cref="P:TerrorTown.ViewModel.Weapon"/> we want to listen to.
            </summary>
        </member>
        <member name="P:TerrorTown.ViewModel.Arms">
            <summary>
            A reference to the viewmodel's arms.
            </summary>
        </member>
        <member name="P:TerrorTown.ViewModel.IsThrowable">
            <summary>
            Is this a throwable?
            </summary>
        </member>
        <member name="P:TerrorTown.ViewModel.PlayerComponent">
            <summary>
            Looks up the tree to find the player controller.
            </summary>
        </member>
        <member name="P:TerrorTown.ViewModel.ViewModelCamera">
            <summary>
            The View Model camera 
            </summary>
        </member>
        <member name="T:TerrorTown.ViewModelWallTuck">
            <summary>
            Cosmetic-only first-person wall tuck. Lowers/tilts the viewmodel near world geometry.
            This does not affect damage, traces, or weapon gameplay.
            </summary>
        </member>
        <member name="P:TerrorTown.IMarkerObject.GameObject">
            <summary>
            Raw access
            </summary>
        </member>
        <member name="P:TerrorTown.IMarkerObject.MarkerFrame">
            <summary>
            Data in the frame
            </summary>
        </member>
        <member name="P:TerrorTown.IMarkerObject.MarkerPanelTypeOverride">
            <summary>
            Are we overriding the type here?
            </summary>
        </member>
        <member name="T:TerrorTown.Lobby">
            <summary>
            This purely exists as a wrapper for a real lobby, so we can display fake lobbies in the UI.
            </summary>
        </member>
        <member name="F:TerrorTown.Lobby._lobby">
            <summary>
            A reference to our internal lobby type.
            </summary>
        </member>
        <member name="P:TerrorTown.Lobby.IsEditorLobby">
            <summary>
            Is this lobby a dev env?
            </summary>
        </member>
        <member name="P:TerrorTown.Lobby.ForceFakeDedicated">
            <summary>
            Test-only override so fake lobbies can render as dedicated for UI preview.
            </summary>
        </member>
        <member name="P:TerrorTown.Lobby.IsDedicatedServer">
            <summary>
            Is this lobby a dedicated server?
            </summary>
        </member>
        <member name="T:TerrorTown.PointshopCosmeticPreferences">
            <summary>
            Stores which cosmetic items the local player has hidden from their loadout.
            </summary>
        </member>
        <member name="T:TerrorTown.PointshopModelPreferences">
            <summary>
            Stores the single player-model ident the local user has picked from pointshop. Empty / null
            means "no custom model - use the default citizen body". Persisted to a cookie so the choice
            survives reconnects. Selection only takes visual effect at round start (the outfitter commits
            it via OwnerLocalSelectedModelIdent at the same cadence as cosmetic JSON).
            </summary>
        </member>
        <member name="M:TerrorTown.PointshopModelPreferences.Clear">
            <summary>Clear the selection - equivalent to picking the "None" tile in the loadout.</summary>
        </member>
        <member name="M:TerrorTown.ChatManager.OnJoinedServer">
            <summary>
            Clears chat on first join only, not on map changes.
            </summary>
        </member>
        <member name="M:TerrorTown.ChatManager.OnDisconnect">
            <summary>
            Clears chat and resets session flag when disconnecting.
            </summary>
        </member>
        <member name="M:TerrorTown.ChatManager.CanUseTeamChat">
            <summary>
            Returns true if the local player can use team chat (is Traitor-aligned or Detective).
            </summary>
        </member>
        <member name="M:TerrorTown.ChatManager.CanUseModChat">
            <summary>
            Returns true if the local player can send + receive mod chat (Moderator+).
            </summary>
        </member>
        <member name="M:TerrorTown.ChatManager.CanDeleteChatMessages">
            <summary>
            Returns true if the local player can delete chat messages for everyone.
            </summary>
        </member>
        <member name="M:TerrorTown.ChatManager.SetChatInputState(System.Boolean)">
            <summary>
            Tracks whether chat input is currently open/focused to arbitrate shared key input (for example Esc).
            </summary>
        </member>
        <member name="M:TerrorTown.ChatManager.RequestEscapeCloseChat">
            <summary>
            Requests that the chat UI closes from an external input owner (for example Pause menu Esc arbitration).
            </summary>
        </member>
        <member name="M:TerrorTown.ChatManager.ConsumeEscapeCloseRequest">
            <summary>
            Returns true once when an external close request is pending, then clears it.
            </summary>
        </member>
        <member name="M:TerrorTown.ChatManager.GetRegisteredCommands">
            <summary>
            Returns the registered chat command names sorted alphabetically.
            </summary>
        </member>
        <member name="M:TerrorTown.ChatManager.QueryCommandSuggestions(System.String,System.Int32)">
            <summary>
            Returns up to <paramref name="max"/> command names that match the typed prefix.
            </summary>
        </member>
        <member name="M:TerrorTown.ChatManager.QueryNameSuggestions(System.String,System.Int32)">
            <summary>
            Returns up to <paramref name="max"/> connected player display names that start with the typed prefix.
            Empty prefix returns the empty list (we don't dump the entire roster on a bare Tab).
            </summary>
        </member>
        <member name="M:TerrorTown.ChatManager.RegisterCommands">
            <summary>
            Populates the <see cref="F:TerrorTown.ChatManager.Commands"/> with methods that have the <see cref="T:TerrorTown.Commands.ChatCommand"/> attribute
            </summary>
        </member>
        <member name="M:TerrorTown.ChatManager.ExecuteChatCommand(System.String)">
            <summary>
            Attempts to parse the message of its command and parameters.
            </summary>
            <param name="message">The users message to process as a command</param>	
        </member>
        <member name="M:TerrorTown.ChatManager.RequestDeleteEntry(System.Guid)">
            <summary>
            Mods+ delete a chat message for everyone by its Guid Id. Validated host-side.
            </summary>
        </member>
        <member name="M:TerrorTown.ChatManager.AddLocalServerMessage(System.String)">
            <summary>
            Adds a message that only the local player can see with the server as the author.
            </summary>
            <param name="message">The content of the message</param>
        </member>
        <member name="M:TerrorTown.ChatManager.AddLocalBanWarning(System.String)">
            <summary>
            Local-only ban-warning chat entry. Distinct red/warning styling so users can tell a real
            dev warning apart from a host-faked server message. Host RPCs have no path to produce this.
            </summary>
        </member>
        <member name="M:TerrorTown.ChatManager.AddLocalUserMessage(System.String)">
            <summary>
            Adds a message that only the local player can see with them as the author.
            </summary>
            <param name="message"></param>
        </member>
        <member name="T:TerrorTown.GimpManager">
            <summary>
            Compatibility wrapper over the session-backed gimp sanction helpers.
            </summary>
        </member>
        <member name="T:TerrorTown.DeveloperOnlySettingAttribute">
            <summary>
            Hides a user setting unless the local player can use developer tools.
            </summary>
        </member>
        <member name="T:TerrorTown.SettingDisplayState">
            <summary>
            Display override state used by settings UI attributes.
            </summary>
        </member>
        <member name="F:TerrorTown.SettingDisplayState.Default">
            <summary>
            Use the default behavior for the control.
            </summary>
        </member>
        <member name="F:TerrorTown.SettingDisplayState.Enabled">
            <summary>
            Force-enable the display option.
            </summary>
        </member>
        <member name="F:TerrorTown.SettingDisplayState.Disabled">
            <summary>
            Force-disable the display option.
            </summary>
        </member>
        <member name="T:TerrorTown.SettingDisplayAttribute">
            <summary>
            Attribute for tuning how a setting entry renders in the UI.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingDisplayAttribute.Compact">
            <summary>
            Use a compact row layout for this entry.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingDisplayAttribute.ShowValue">
            <summary>
            Show a value label for this entry.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingDisplayAttribute.ShowTextEntry">
            <summary>
            Show a text entry field for this entry.
            </summary>
        </member>
        <member name="T:TerrorTown.SettingGroupAlign">
            <summary>
            Horizontal alignment for a settings group shell within the viewport.
            </summary>
        </member>
        <member name="T:TerrorTown.SettingGroupPreset">
            <summary>
            Preset sizing behavior for a settings category.
            </summary>
        </member>
        <member name="F:TerrorTown.SettingGroupPreset.Fluid">
            <summary>
            Fully fluid layout that uses available container width.
            </summary>
        </member>
        <member name="F:TerrorTown.SettingGroupPreset.Compact">
            <summary>
            Narrower layout useful for short categories.
            </summary>
        </member>
        <member name="T:TerrorTown.SettingColumnAreaMode">
            <summary>
            Width behavior for the area that contains settings columns.
            </summary>
        </member>
        <member name="F:TerrorTown.SettingColumnAreaMode.Auto">
            <summary>
            Uses preset defaults (Compact = fit content, Fluid = fill available width).
            </summary>
        </member>
        <member name="F:TerrorTown.SettingColumnAreaMode.Fill">
            <summary>
            Expands to available width.
            </summary>
        </member>
        <member name="F:TerrorTown.SettingColumnAreaMode.FitContent">
            <summary>
            Sizes to the content width of rendered columns.
            </summary>
        </member>
        <member name="T:TerrorTown.SettingGroupPresetAttribute">
            <summary>
            Declarative per-group layout preset with optional shell and column width overrides.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingGroupPresetAttribute.Group">
            <summary>
            Settings group name this preset applies to.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingGroupPresetAttribute.Preset">
            <summary>
            Preset key used for style hooks and default behavior.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingGroupPresetAttribute.DisplayOrder">
            <summary>
            Left-to-right display order for top-level category tabs. Lower values appear first.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingGroupPresetAttribute.MaxWidth">
            <summary>
            Optional max width for the group shell in pixels. Zero keeps it fluid.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingGroupPresetAttribute.MainColumnWidth">
            <summary>
            Optional fallback width for main dock columns in pixels.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingGroupPresetAttribute.SidebarColumnWidth">
            <summary>
            Optional fallback width for sidebar dock columns in pixels.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingGroupPresetAttribute.MainColumnSlots">
            <summary>
            Number of evenly spaced main column slots to reserve when using fill mode.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingGroupPresetAttribute.MainColumnAreaMode">
            <summary>
            Width behavior for the area that contains main columns.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingGroupPresetAttribute.ShowMainColumnLabels">
            <summary>
            When true, renders the subgroup name as a top label for each main column slot.
            </summary>
        </member>
        <member name="T:TerrorTown.SettingGroupLayoutAttribute">
            <summary>
            Declares layout hints for a settings group in the settings UI.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingGroupLayoutAttribute.Group">
            <summary>
            Settings group name this layout applies to.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingGroupLayoutAttribute.MaxWidth">
            <summary>
            Max width in pixels for the settings shell when this group is selected.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingGroupLayoutAttribute.Align">
            <summary>
            Alignment for the settings shell when this group is selected.
            </summary>
        </member>
        <member name="T:TerrorTown.SettingColumnLayoutAttribute">
            <summary>
            Declares fixed width for a column in a settings group.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingColumnLayoutAttribute.Group">
            <summary>
            Settings group name this column layout applies to.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingColumnLayoutAttribute.Column">
            <summary>
            Column index within the dock.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingColumnLayoutAttribute.Width">
            <summary>
            Fixed column width in pixels.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingColumnLayoutAttribute.Dock">
            <summary>
            Dock target for the column definition.
            </summary>
        </member>
        <member name="T:TerrorTown.SettingWidgetPlacement">
            <summary>
            Placement for a widget relative to its anchor subgroup.
            </summary>
        </member>
        <member name="F:TerrorTown.SettingWidgetPlacement.Right">
            <summary>
            Renders the widget in the next column to the right of the anchor subgroup.
            </summary>
        </member>
        <member name="F:TerrorTown.SettingWidgetPlacement.Bottom">
            <summary>
            Renders the widget below subgroup sections in the anchor subgroup's column.
            </summary>
        </member>
        <member name="T:TerrorTown.SettingWidgetAnchorAttribute">
            <summary>
            Anchors a widget panel to a subgroup, allowing preview/extra UI placement.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingWidgetAnchorAttribute.Group">
            <summary>
            Settings group name this widget applies to.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingWidgetAnchorAttribute.Anchor">
            <summary>
            Subgroup name this widget anchors to.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingWidgetAnchorAttribute.Widget">
            <summary>
            Widget key used by SettingsPage to render a widget fragment.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingWidgetAnchorAttribute.Placement">
            <summary>
            Placement relative to the anchor subgroup.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingWidgetAnchorAttribute.Order">
            <summary>
            Sort order within the widget area.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingWidgetAnchorAttribute.Width">
            <summary>
            Preferred widget width in pixels.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingWidgetAnchorAttribute.Height">
            <summary>
            Preferred widget height in pixels.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingWidgetAnchorAttribute.Dock">
            <summary>
            Dock target used for resolving the anchor column.
            </summary>
        </member>
        <member name="T:TerrorTown.SettingOptionsAttribute">
            <summary>
            Provides discrete option values (and optional labels) for a numeric setting.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingOptionsAttribute.Values">
            <summary>
            Values displayed in the option selector.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingOptionsAttribute.Labels">
            <summary>
            Optional labels aligned with <see cref="P:TerrorTown.SettingOptionsAttribute.Values"/>.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingOptionsAttribute.Icons">
            <summary>
            Optional Material icon names aligned with <see cref="P:TerrorTown.SettingOptionsAttribute.Values"/>.
            </summary>
        </member>
        <member name="T:TerrorTown.SettingSubGroupDock">
            <summary>
            Placement for a settings sub-group within the settings UI.
            </summary>
        </member>
        <member name="T:TerrorTown.SettingSubGroupAttribute">
            <summary>
            Attribute for grouping settings into sub-sections within a category.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingSubGroupAttribute.Name">
            <summary>
            Subgroup title shown in the settings UI.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingSubGroupAttribute.Order">
            <summary>
            Sort order within the group.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingSubGroupAttribute.Column">
            <summary>
            Column index this subgroup should render into.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingSubGroupAttribute.Dock">
            <summary>
            Dock target used to split main/sidebar columns.
            </summary>
        </member>
        <member name="T:TerrorTown.SettingSurface">
            <summary>
            Visibility surface for settings entries.
            </summary>
        </member>
        <member name="T:TerrorTown.SettingSurfaceAttribute">
            <summary>
            Restricts where a setting is visible in the in-game settings page.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingSurfaceAttribute.Surface">
            <summary>
            The surface where this setting should be visible.
            </summary>
        </member>
        <member name="T:TerrorTown.SettingTextEntryAttribute">
            <summary>
            Enables a text entry field for a setting value.
            </summary>
        </member>
        <member name="P:TerrorTown.SettingTextEntryAttribute.Enabled">
            <summary>
            Whether the text entry field should be shown.
            </summary>
        </member>
        <member name="T:TerrorTown.CookieJar">
            <summary>
            Lightweight local cookie cache for UI/tutorial state that doesn't belong in gameplay settings.
            </summary>
        </member>
        <member name="T:TerrorTown.CookieSystem">
            <summary>
            Compatibility wrapper around <see cref="P:Sandbox.Game.Cookies"/> for client-side UI state.
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "P:TerrorTown.CookieSystem.FilePath" -->
        <member name="T:TerrorTown.UserSettingAuthority">
            <summary>
            Declares who owns each persisted TTT user setting.
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "F:TerrorTown.UserSettingAuthority.NativeSeeded" -->
        <member name="F:TerrorTown.UserSettingAuthority.TerrorTown">
            <summary>
            TTT owns persistence and runtime application.
            </summary>
        </member>
        <member name="F:TerrorTown.UserSettingAuthority.Cookie">
            <summary>
            Native cookies own lightweight local UI state.
            </summary>
        </member>
        <member name="T:TerrorTown.UserSettingApplySurface">
            <summary>
            Runtime surface affected by a setting.
            </summary>
        </member>
        <member name="T:TerrorTown.GameSettingDefinition">
            <summary>
            Typed presentation/ownership metadata for a TTT user setting.
            </summary>
        </member>
        <member name="T:TerrorTown.GameSettingsRegistry">
            <summary>
            Small ownership registry used as a source of truth while the settings UI is simplified.
            </summary>
        </member>
        <member name="M:TerrorTown.GameSettings.OnAfkChanged(System.Boolean,System.Boolean)">
            <summary>
            Persist AFK preference and notify host of the local player's desired AFK baseline.
            </summary>
        </member>
        <member name="T:TerrorTown.GameSettingsSystem">
            <summary>
            Handles loading, saving, and applying <see cref="T:TerrorTown.GameSettings"/>.
            </summary>
        </member>
        <member name="P:TerrorTown.GameSettingsSystem.Current">
            <summary>
            Current settings instance (lazy-loaded from disk).
            </summary>
        </member>
        <member name="P:TerrorTown.GameSettingsSystem.FilePath">
            <summary>
            Data file path for serialized settings.
            </summary>
        </member>
        <member name="M:TerrorTown.GameSettingsSystem.Save">
            <summary>
            Writes settings to disk and applies runtime values.
            </summary>
        </member>
        <member name="M:TerrorTown.GameSettingsSystem.Apply">
            <summary>
            Applies runtime values that need to take effect immediately.
            Returns true only when every expected mixer was ready and all volumes were applied.
            </summary>
        </member>
        <member name="M:TerrorTown.GameSettingsSystem.Load">
            <summary>
            Loads settings from disk (or defaults) and applies them.
            </summary>
        </member>
        <member name="M:TerrorTown.GameSettingsSystem.RestoreDefaults">
            <summary>
            Resets settings to defaults and applies them.
            </summary>
        </member>
        <member name="M:TerrorTown.GameSettingsSystem.HasUnsavedChanges">
            <summary>
            Returns true when current settings differ from the last loaded/saved state.
            </summary>
        </member>
        <member name="M:TerrorTown.GameSettingsSystem.GetDefaultValue(Sandbox.PropertyDescription)">
            <summary>
            Resolves a property's default value from a fresh <see cref="T:TerrorTown.GameSettings"/> instance.
            </summary>
        </member>
        <member name="M:TerrorTown.GameSettingsSystem.IsDefaultValue(Sandbox.PropertyDescription,System.Object,System.Single)">
            <summary>
            Compares a value against the default value for the same property.
            </summary>
        </member>
        <member name="M:TerrorTown.GameSettingsSystem.IsCurrentValueDefault(Sandbox.PropertyDescription,System.Single)">
            <summary>
            Returns whether the current settings value for a property equals the default.
            </summary>
        </member>
        <member name="M:TerrorTown.GameSettingsSystem.ResetPropertyToDefault(System.Object,Sandbox.PropertyDescription,System.Single)">
            <summary>
            Resets one setting to its default value and persists settings.
            </summary>
        </member>
        <member name="M:TerrorTown.GameSettingsSystem.SaveAndSyncAfk(System.Boolean)">
            <summary>
            Persist AFK preference to disk and push it to the host so it survives map changes.
            </summary>
        </member>
        <member name="M:TerrorTown.GameSettingsSystem.SaveAndSyncDeveloperBadge">
            <summary>
            Persist developer badge preference and publish the current local scoreboard state.
            </summary>
        </member>
        <member name="T:TerrorTown.MainMenuStemMixer">
            <summary>
            Keeps main menu stems in sync by only changing volume while all emitters keep playing.
            </summary>
        </member>
        <member name="T:TerrorTown.PlayerFootsteps">
            <summary>
            Produces footstep sounds for the player.
            </summary>
        </member>
        <member name="T:TerrorTown.RoundStartEndSounds">
            <summary>
            Handles certain events and plays radio sounds.
            </summary>
        </member>
        <member name="T:TerrorTown.SoundEmitter">
            <summary>
            A simple component that plays a sound.
            </summary>
        </member>
        <member name="P:TerrorTown.SoundEmitter.SoundEvent">
            <summary>
            How long until we destroy the GameObject.
            </summary>
        </member>
        <member name="P:TerrorTown.SoundEmitter.Volume">
            <summary>
            Playback volume for this emitter.
            </summary>
        </member>
        <member name="P:TerrorTown.SoundEmitter.Follow">
            <summary>
            Shoulud we follow the current GameObject?
            </summary>
        </member>
        <member name="M:TerrorTown.GameObjectExtensions.PlaySound(Sandbox.GameObject,Sandbox.SoundEvent,System.Boolean)">
            <summary>
            Creates a GameObject that plays a sound.
            </summary>
            <param name="self"></param>
            <param name="sndEvent"></param>
            <param name="follow"></param>
        </member>
        <member name="M:TerrorTown.GameObjectExtensions.PlaySound(Sandbox.GameObject,System.String,System.Boolean)">
            <inheritdoc cref="M:TerrorTown.GameObjectExtensions.PlaySound(Sandbox.GameObject,Sandbox.SoundEvent,System.Boolean)"/>
        </member>
        <member name="M:TerrorTown.GameObjectExtensions.TakeDamage(Sandbox.GameObject,TerrorTown.DamageInfo)">
            <summary>
            Take damage.
            </summary> 
        </member>
        <member name="M:TerrorTown.GameObjectExtensions.DestroyAsync(Sandbox.GameObject,System.Single)">
            <summary>
            Creates a <see cref="T:TerrorTown.TimedDestroyComponent"/> which will deferred delete the <see cref="T:Sandbox.GameObject"/>.
            </summary>
            <param name="self"></param>
            <param name="seconds"></param>
        </member>
        <member name="M:TerrorTown.GameObjectExtensions.EnableAsync(Sandbox.GameObject,Sandbox.Component,System.Single)">
            <summary>
            Creates a <see cref="T:TerrorTown.TimedDestroyComponent"/> which will deferred delete the <see cref="T:Sandbox.GameObject"/>.
            </summary>
            <param name="self"></param>
            <param name="seconds"></param>
        </member>
        <member name="T:TerrorTown.IVoiceFilter">
            <summary>
            One in a scene, used by <see cref="T:TerrorTown.PlayerVoiceComponent"/> to dictate rules around who can broadcast their voices to who.
            </summary>
        </member>
        <member name="M:TerrorTown.IVoiceFilter.GetExcludeFilter">
            <summary>
            Should we exclude this potential listener from hearing our voice?
            </summary>
            <returns></returns>
        </member>
        <member name="T:TerrorTown.VoiceMuteSystem">
            <summary>
            Client-side spectator voice-mute cycle (OG TTT style). While the local player is dead/spectating,
            the current mode filters incoming voices: hear all, mute living, mute spectators, or mute everyone.
            Persists across rounds and launches via <see cref="T:TerrorTown.CookieSystem"/>.
            </summary>
        </member>
        <member name="T:TerrorTown.ParticleSimplePhysicsComponent">
            <summary>
            Adds casing spin and impact audio around the engine's native particle collision.
            Retains the legacy type name so existing casing prefabs remain compatible.
            </summary>
        </member>
        <member name="T:TerrorTown.EditorDirectSceneMapBootstrap">
            <summary>
            Editor-only bridge for playing a scene directly with the TTT system scene enabled.
            It lets authored scene maps use the same bootstrap/reset path as loaded maps without
            requiring the engine scene or Hammer map loader.
            </summary>
        </member>
        <member name="T:TerrorTown.LoadingScreenController">
            <summary>
            Centralized owner of <see cref="P:Sandbox.LoadingScreen.IsVisible"/>.
            Hides are debounced so rapid show/hide races during a join don't flicker the panel.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.AnimationCurve">
            <summary>
            Animation curve to use, X is the time between 0-1 and Y is how much the door is open to its target angle from 0-1.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.OpenSound">
            <summary>
            Sound to play when a door is opened.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.OpenFinishedSound">
            <summary>
            Sound to play when a door is fully opened.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.CloseSound">
            <summary>
            Sound to play when a door is closed.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.CloseFinishedSound">
            <summary>
            Sound to play when a door has finished closing.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.Pivot">
            <summary>
            Optional pivot point, origin will be used if not specified.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.Axis">
            <summary>
            The axis the door rotates/moves on.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.Distance">
            <summary>
            How far should the door rotate.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.OpenTime">
            <summary>
            How long in seconds should it take to open this door.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.OpenAwayFromPlayer">
            <summary>
            Open away from the person who uses this door.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.Locked">
            <summary>
            Can we open the door at all?
            </summary>
        </member>
        <member name="T:TerrorTown.IResettable">
            <summary>
            Interface for components that can reset their state without being destroyed/recreated
            </summary>
        </member>
        <member name="M:TerrorTown.IResettable.Reset">
            <summary>
            Reset this component to its initial state
            </summary>
        </member>
        <member name="T:TerrorTown.MapAuthoredNetworkingBootstrap">
            <summary>
            Promotes authored map primitives that rely on Sync/host-owned transforms into real network objects.
            These objects already exist in the authored scene; we bootstrap networking in-place after map load.
            </summary>
        </member>
        <member name="T:TerrorTown.MapAuthoredToolRecovery">
            <summary>
            Restores map-authored tool components to the immutable baseline captured
            from the loaded map so host migration does not preserve transient motion
            state from the old host.
            </summary>
        </member>
        <member name="T:TerrorTown.RegisteredResetModule">
            <summary>
            Host-side registry for map-authored IResettable components.
            Captures once and reuses stable references during round cleanup to reduce scene-wide churn.
            </summary>
        </member>
        <member name="T:TerrorTown.ResettableMapInstance">
            <summary>
            A map instance that can be reset to its initial state, inspired by Source 1's map reset methodology.
            </summary>
        </member>
        <member name="F:TerrorTown.ResettableMapInstance._preservedTags">
            <summary>
            A list of tags for GameObjects that should be preserved during a map reset.
            This is analogous to Source 1's s_PreserveEnts list.
            </summary>
        </member>
        <member name="F:TerrorTown.ResettableMapInstance._initialMapObjects">
            <summary>
            Stores the serialized data of all non-preserved objects from the initial map load.
            </summary>
        </member>
        <member name="F:TerrorTown.ResettableMapInstance._capturedChildIds">
            <summary>
            Stores the Ids of all objects we have captured for reset.
            </summary>
        </member>
        <member name="M:TerrorTown.ResettableMapInstance.CaptureInitialState">
            <summary>
            Captures the initial state of all resettable GameObjects in the scene.
            Objects without IResettable are serialized for recreation.
            </summary>
        </member>
        <member name="M:TerrorTown.ResettableMapInstance.ResetMap">
            <summary>
            Resets the map to its captured initial state.
            </summary>
        </member>
        <member name="M:TerrorTown.ResettableMapInstance.CleanupTemporaryEffects">
            <summary>
            Destroys all GameObjects that have a TemporaryEffect component.
            </summary>
        </member>
        <member name="T:TerrorTown.TemporaryEffect">
            <summary>
            Marks a GameObject as a temporary effect and destroys it after a short delay.
            Used by prefabs for transient particles/tracers.
            </summary>
        </member>
        <member name="P:TerrorTown.TemporaryEffect.DestroyAfterSeconds">
            <summary>
            How long until we destroy the GameObject.
            </summary>
        </member>
        <member name="P:TerrorTown.TemporaryEffect.WaitForChildEffects">
            <summary>
            If true, stop child particle emitters first, then destroy after a short delay.
            </summary>
        </member>
        <member name="T:TerrorTown.IMapSignalReceiver">
            <summary>
            Generic map-facing signal receiver contract used by mapper-authored primitives.
            </summary>
        </member>
        <member name="T:TerrorTown.MapSignalArgs">
            <summary>
            Generic signal payload passed between mapper-authored tools.
            </summary>
        </member>
        <member name="M:TerrorTown.MapSignalArgs.IsStartLike(System.String)">
            <summary>
            Shared positive-state alias check. Start is the preferred map-tool verb;
            Open remains a compatibility alias for door- or mover-shaped senders.
            </summary>
        </member>
        <member name="M:TerrorTown.MapSignalArgs.IsStopLike(System.String)">
            <summary>
            Shared negative-state alias check. Stop is the preferred map-tool verb;
            Close remains a compatibility alias for door- or mover-shaped senders.
            </summary>
        </member>
        <member name="T:TerrorTown.MapLink">
            <summary>
            Wiring entry for mapper-authored outputs.
            </summary>
        </member>
        <member name="T:TerrorTown.MapDispatch">
            <summary>
            Shared map-IO vocabulary and dispatch helpers. Keeping these in a dedicated core
            file makes the other mapping-tool folders read more like authored behaviors than
            infrastructure.
            </summary>
        </member>
        <member name="T:TerrorTown.MapToolActivator">
            <summary>
            Shared activator resolution helpers so map tools can translate direct use, RPC
            callers, and signal activators into the same player-aware runtime objects.
            </summary>
        </member>
        <member name="T:TerrorTown.MapToolAuthoring">
            <summary>
            Authoring-time and editor-friendly helpers shared by mapper-facing tools.
            </summary>
        </member>
        <member name="T:TerrorTown.MapToolUseMode">
            <summary>
            Common direct-use behaviors for mapper-authored buttons and binary movers.
            </summary>
        </member>
        <member name="T:TerrorTown.AmmoSpawner">
            <summary>
            Spawns a specific ammo box on round start.
            </summary>
        </member>
        <member name="T:TerrorTown.GrenadeSpawner">
            <summary>
            Spawns a specific grenade on round start.
            </summary>
        </member>
        <member name="T:TerrorTown.MapAuthoredAmmoPlacementNormalizer">
            <summary>
            Converts directly-authored ammo pickups in maps into backend ammo spawner markers.
            This keeps old maps playable while moving round lifecycle ownership to the pooled pickup director.
            </summary>
        </member>
        <member name="T:TerrorTown.MapAuthoredWeaponPlacementNormalizer">
            <summary>
            Converts directly-authored weapon objects in maps into backend fixed spawner markers.
            This avoids carrying stale serialized weapon component data forward after weapon prefab refactors.
            </summary>
        </member>
        <member name="T:TerrorTown.MapObjectSpawner">
            <summary>
            Spawns one map-authored weapon or prefab when activated by mapper I/O.
            </summary>
        </member>
        <member name="T:TerrorTown.MapPooledPickupReset">
            <summary>
            Marks a map-spawned pickup as reset-managed by a spawner or director.
            </summary>
        </member>
        <member name="T:TerrorTown.RandomAmmoSpawner">
            <summary>
            Spawns a random box of ammo with full ammo.
            </summary>
        </member>
        <member name="T:TerrorTown.RandomGrenadeSpawner">
            <summary>
            Spawns a random grenade on round start.
            </summary>
        </member>
        <member name="T:TerrorTown.RandomWeaponSpawner">
            <summary>
            Spawns a random weapon on round start. Can specify how much of its ammo spawns with it.
            </summary>
        </member>
        <member name="T:TerrorTown.RandomWorldPickupDirector">
            <summary>
            Coordinates map pickup spawners once per map reset generation.
            </summary>
        </member>
        <member name="T:TerrorTown.WeaponSpawner">
            <summary>
            Spawns a specific weapon on round start. Can specify how much of its ammo spawns with it.
            </summary>
        </member>
        <member name="T:TerrorTown.NetworkIdleAuditSystem">
            <summary>
            Opt-in diagnostics for tracking down persistent idle SyncVar traffic.
            </summary>
        </member>
        <member name="T:TerrorTown.WorldObjectNetworkVisibility">
            <summary>
            Conservative network visibility for world objects that do not need to always transmit.
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:TerrorTown.ProxyPhysicsSuppressor" -->
        <member name="F:TerrorTown.ExplosiveBarrelComponent.LastAttackerId">
            Track who damaged this barrel (for karma tracking when it explodes)
        </member>
        <member name="T:TerrorTown.ExplosiveBarrelSpawnRegistry">
            <summary>
            Host-only registry for authoritative explosive barrel spawn points.
            Keeps barrel respawn deterministic even if a barrel GameObject is destroyed mid-round.
            </summary>
        </member>
        <member name="T:TerrorTown.NewCollisionSoundSystem">
            <summary>
            This system exists to collect pending collision sounds and filter them into a unique set, to avoid
            unnesssary sounds playing, when they're going to be making the same sound anyway.
            </summary>
        </member>
        <member name="M:TerrorTown.NewCollisionSoundSystem.RegisterCollision(Sandbox.Collision@)">
            <summary>
            Register this physics collision with the sound system
            </summary>
        </member>
        <member name="M:TerrorTown.NewCollisionSoundSystem.AddShapeCollision(Sandbox.PhysicsShape,Sandbox.Surface,Vector3@,System.Single)">
            <summary>
            Add a collision sound for this shape
            </summary>
        </member>
        <member name="M:TerrorTown.NewCollisionSoundSystem.AddShapeCollision(Sandbox.PhysicsShape,Sandbox.Surface,Sandbox.PhysicsContact@)">
            <summary>
            Add a collision sound for this shape
            </summary>
        </member>
        <member name="M:TerrorTown.NewCollisionSoundSystem.ProcessQueue">
            <summary>
            Create the pending sounds
            </summary>
        </member>
        <member name="T:TerrorTown.PlayerPropInteractionSystem">
            <summary>
            Host-authored policy for ordinary player-vs-loose-prop contact.
            Keeps per-prop state on TerrorTownProp while centralizing contact push rules.
            </summary>
        </member>
        <member name="M:TerrorTown.TerrorTownProp.TryApplyPlayerPhysicsIntentHost(TerrorTown.PlayerComponent,System.String,Sandbox.Component,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Marks this prop as having been physically influenced by a player-authored action.
            Host-only. This deliberately does not change network ownership; ownership stays with the system
            that needs smooth control, while this records attribution and a short intentional-launch collision window.
            </summary>
        </member>
        <member name="M:TerrorTown.TerrorTownProp.IsBeingHeldByGrabber">
            Check if this prop is currently being held by a magneto stick (ObjectGrabberComponent)
        </member>
        <member name="M:TerrorTown.TerrorTownProp.OverrideResetTransform(Vector3,Rotation,Vector3)">
            <summary>
            Reset this prop to its initial state for map reset
            </summary>
        </member>
        <member name="T:TerrorTown.WorldPickupVoidGuardSystem">
            <summary>
            Host-side failsafe for pickups that fall out of the playable world and keep replicating physics.
            </summary>
        </member>
        <member name="T:TerrorTown.SurfaceReplacement">
            <summary>
            A physics surface replacement that controls the physical properties and sounds applied to physics shapes.
            </summary>
        </member>
        <member name="T:TerrorTown.TimedDestroyComponent">
            <summary>
            A simple component that destroys its GameObject.
            </summary>
        </member>
        <member name="P:TerrorTown.TimedDestroyComponent.Time">
            <summary>
            How long until we destroy the GameObject.
            </summary>
        </member>
        <member name="P:TerrorTown.TimedDestroyComponent.TimeUntilDestroy">
            <summary>
            The real time until we destroy the GameObject.
            </summary>
        </member>
        <member name="T:TerrorTown.TimedParticleDestroyComponent">
            <summary>
            Destroys the GameObject after a delay, optionally tied to a legacy particle system.
            </summary>
        </member>
        <member name="P:TerrorTown.TimedParticleDestroyComponent.ParticleToDestroy">
            <summary>
            Optional particle system to stop before destruction.
            </summary>
        </member>
        <member name="P:TerrorTown.TimedParticleDestroyComponent.Time">
            <summary>
            How long until we destroy the GameObject.
            </summary>
        </member>
        <member name="P:TerrorTown.TimedParticleDestroyComponent.TimeUntilDestroy">
            <summary>
            The real time until we destroy the GameObject.
            </summary>
        </member>
        <member name="T:TerrorTown.TerrorTownLegacyWaterCameraProvider">
            <summary>
            Bridge our baseline water tag + trigger collider into Atmokinetic's local camera presentation
            </summary>
        </member>
        <member name="T:TerrorTown.TerrorTownWaterAudio">
            <summary>
            Water audio for TTT
            The interaction events are owned by <see cref="T:TerrorTown.TerrorTownWaterInteractions"/>.
            </summary>
        </member>
        <member name="T:TerrorTown.TerrorTownWaterBloodSystem">
            <summary>
            Host-simulated corpses -> one-shot emitters for localized water surface tint
            The water shader still owns diffusion after stains get made
            </summary>
        </member>
        <member name="T:TerrorTown.WaterBloodStainSnapshot">
            <summary>
            Reliable late-join snapshot for a fixed GPU stain record. After creation, age and local
            ripple presentation drive its diffusion without further corpse or network updates.
            </summary>
        </member>
        <member name="T:TerrorTown.TerrorTownWaterIntegrationSystem">
            <summary>
            Applies TTT-specific policy to e8 water without coupling the library to our player controller
            </summary>
        </member>
        <member name="T:TerrorTown.TerrorTownWaterInteractions">
            <summary>
            TTT presentation and gameplay integration for Atmokinetic water
            Also attempt @ bullets hits/splashes, leaving this in for now. Tries to keep
            high-frequency hitscan handling local and bounded
            </summary>
        </member>
        <member name="M:TerrorTown.TerrorTownWaterInteractions.ProcessBulletSegment(Vector3,Vector3,System.Single)">
            <summary>
            Called from the already-broadcast tracer path. This needs to be local, broadcasting here would duplicate traffic for every bullet
            </summary>
        </member>
        <member name="M:TerrorTown.TerrorTownWaterInteractions.BroadcastPlayerSplash(Vector3,System.Boolean)">
            <summary>
            Player entry/exit is an infrequent owner-detected presentation event
            1 discardable broadcast lets remote observers see the splash without syncing
            continuous water state or creating a networked particle object, which are uglier options
            </summary>
        </member>
        <member name="M:Vector2Extensions.Angle(Vector2,Vector2)">
            <summary>
            Gets the angle (in degrees) between two Vector2s
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="T:GameMode">
            <summary>
            P2P/listen-host migration recovery. Dedicated servers have a stable server host and use
            GameNetworkManager.Dedicated for empty-server baseline resets instead.
            </summary>
            <summary>
            Handles the main game loop, using components that listen to state change
            events to handle game logic.
            </summary>
            
        </member>
        <member name="M:GameMode.GetAll(Sandbox.SceneFile)">
            <summary>
            Gets all game modes referenced by a scene.
            </summary>
        </member>
        <member name="P:GameMode.State">
            <summary>
            Current game state (controlled by the host.)
            </summary>
        </member>
        <member name="P:GameMode.TimeSinceStateChanged">
            <summary>
            Current game time (controlled by the host.)
            </summary>
        </member>
        <member name="P:GameMode.Round">
            <summary>
            Current round number, starting at 1.
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "P:GameMode.ResyncUseProperties" -->
        <member name="P:GameMode.ResyncEnabledSetting">
            <summary>
            Enables owner-requested snapshot resync when local life/lifecycle state diverges.
            </summary>
        </member>
        <member name="P:GameMode.ResyncIntervalSeconds">
            <summary>
            Minimum seconds between resync requests from the same client.
            Default: 1
            </summary>
        </member>
        <member name="P:GameMode.ResyncBroadcastIntervalSeconds">
            <summary>
            Host-only: if > 0, broadcast authoritative state every N seconds.
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "P:GameMode.DebugStateAuthorSetting" -->
        <member name="P:GameMode.DebugResyncSetting">
            <summary>
            Enable verbose resync request/apply logs.
            </summary>
        </member>
        <member name="P:GameMode.DumpStateNow">
            <summary>
            Host-only: toggling true will dump lobby state once and then reset.
            </summary>
        </member>
        <member name="M:IGameEndCondition.ShouldGameEnd">
            <summary>
            Called on the host at the end of a round to determine if the game should end.
            </summary>
        </member>
        <member name="M:IRoundEndCondition.CheckRoundEnd">
            <summary>
            Called on the host every update during a round to determine if it should end. TODO: perhaps CheckRoundEnd should return a team?
            </summary>
        </member>
        <member name="T:IGameStartListener">
            <summary>
            Game start is when "Preparing..." pops up on the screen, after at least 2 players have joined. 
            </summary>
        </member>
        <member name="M:IGameStartListener.PreGameStart">
            <summary>
            Called on the host before <see cref="M:IGameStartListener.OnGameStart"/>.
            </summary>
        </member>
        <member name="M:IGameStartListener.OnGameStart">
            <summary>
            Called on the host when a game is starting.
            </summary>
        </member>
        <member name="M:IGameStartListener.PostGameStart">
            <summary>
            Called on the host after <see cref="M:IGameStartListener.OnGameStart"/> completes.
            </summary>
        </member>
        <member name="T:IGameEndListener">
            <summary>
            Game end is when the ROUND is over, AFTER the 5 seconds or so post-team winning
            </summary>
        </member>
        <member name="M:IGameEndListener.PreGameEnd">
            <summary>
            Called on the host before <see cref="M:IGameEndListener.OnGameEnd"/>.
            </summary>
        </member>
        <member name="M:IGameEndListener.OnGameEnd">
            <summary>
            Called on the host when a game is ending.
            </summary>
        </member>
        <member name="M:IGameEndListener.PostGameEnd">
            <summary>
            Called on the host after <see cref="M:IGameEndListener.OnGameEnd"/> completes.
            </summary>
        </member>
        <member name="T:IRoundStartListener">
            <summary>
            Round start is when the round formally begins and the roles are assigned to players that are participating
            </summary>
        </member>
        <member name="M:IRoundStartListener.PreRoundStart">
            <summary>
            Called on the host before <see cref="M:IRoundStartListener.OnRoundStart(System.Boolean)"/>.
            </summary>
        </member>
        <member name="M:IRoundStartListener.OnRoundStart(System.Boolean)">
            <summary>
            Called on the host when a round is starting.
            </summary>
        </member>
        <member name="M:IRoundStartListener.PostRoundStart">
            <summary>
            Called on the host after <see cref="M:IRoundStartListener.OnRoundStart(System.Boolean)"/> completes.
            </summary>
        </member>
        <member name="T:IRoundEndListener">
            <summary>
            Round end is when a team is determined to have won, the toast pops up and the 5ish seconds of "Game Over" begin 
            </summary>
        </member>
        <member name="M:IRoundEndListener.PreRoundEnd">
            <summary>
            Called on the host before <see cref="M:IRoundEndListener.OnRoundEnd"/>.
            </summary>
        </member>
        <member name="M:IRoundEndListener.OnRoundEnd">
            <summary>
            Called on the host when a round is ending.
            </summary>
        </member>
        <member name="M:IRoundEndListener.PostRoundEnd">
            <summary>
            Called on the host after <see cref="M:IRoundEndListener.OnRoundEnd"/> completes.
            </summary>
        </member>
        <member name="M:IPlayerSpawnListener.PrePlayerSpawn(TerrorTown.PlayerComponent)">
            <summary>
            Called on the host before <see cref="M:IPlayerSpawnListener.OnPlayerSpawn(TerrorTown.PlayerComponent)"/>.
            </summary>
        </member>
        <member name="M:IPlayerSpawnListener.OnPlayerSpawn(TerrorTown.PlayerComponent)">
            <summary>
            Called on the host when <paramref name="player"/> respawns.
            </summary>
        </member>
        <member name="M:IPlayerSpawnListener.PostPlayerSpawn(TerrorTown.PlayerComponent)">
            <summary>
            Called on the host after <see cref="M:IPlayerSpawnListener.OnPlayerSpawn(TerrorTown.PlayerComponent)"/>.
            </summary>
        </member>
        <member name="M:IPlayerJoinedListener.OnConnect(TerrorTown.PlayerComponent)">
            <summary>
            Called on the host when a new player joins, before NetworkSpawn is called.
            </summary>
        </member>
        <member name="M:IPlayerJoinedListener.OnJoined(TerrorTown.PlayerComponent)">
            <summary>
            Called on the host when a new player joins, after NetworkSpawn is called.
            </summary>
        </member>
        <member name="M:ITeamAssignedListener.OnTeamAssigned(TerrorTown.PlayerComponent,TerrorTown.Team)">
            <summary>
            Called on the host when a player is assigned to a team.
            </summary>
        </member>
        <member name="T:PostponeGameForever">
            <summary>
            Never start the game, useful for testing weapons.
            </summary>
        </member>
        <member name="T:TeamAssigner">
            <summary>
            Split players into two balanced teams.
            </summary>
        </member>
        <member name="T:TeamWinConditions">
            <summary>
            Check team win conditions.
            </summary>
        </member>
        <member name="T:AmmoData">
            <summary>
            Ammo resource metadata used to describe an ammo type as an asset.
            </summary>
        </member>
        <member name="P:AmmoData.MainPrefab">
            <summary>
            The prefab to create and attach to the player when spawning it in.
            </summary>
        </member>
        <member name="P:AmmoData.WorldModel">
            <summary>
            The Ammo's model
            </summary>
        </member>
        <member name="P:AmmoData.LegacyEntityName">
            <summary>
            The optional legacy Entity name for this weapon, for map compatibility reasons.
            </summary>
        </member>
        <member name="F:WeaponSlot.Melee">
            <summary>
            Knives etc.
            </summary>
        </member>
        <member name="F:WeaponSlot.Secondary">
            <summary>
            Pistols.
            </summary>
        </member>
        <member name="F:WeaponSlot.Primary">
            <summary>
            Non-pistol guns.
            </summary>
        </member>
        <member name="F:WeaponSlot.Throwable">
            <summary>
            Grenades etc.
            </summary>
        </member>
        <member name="F:WeaponSlot.Special">
            <summary>
            Magneto Stick etc.
            </summary>
        </member>
        <member name="F:WeaponSlot.Equipment">
            <summary>
            Traitor items etc.
            </summary>
        </member>
        <member name="F:WeaponSlot.Holstered">
            <summary>
            Do not use.
            </summary>
        </member>
        <member name="T:WeaponData">
            <summary>
            A resource containing basic information about a weapon.
            </summary>
        </member>
        <member name="P:WeaponData.RandomlySpawns">
            <summary>
            If true, randomly spawns throughout the map
            </summary>
        </member>
        <member name="P:WeaponData.WorldPickupSpawnOffset">
            <summary>
            Local offset applied when this weapon is spawned as a map-authored world pickup.
            This replaces model-level spawn-only translation without affecting held weapon presentation.
            </summary>
        </member>
        <member name="P:WeaponData.DropOnDisconnect">
            <summary>
            If true, owner will drop this weapon if they disconnect.
            </summary>
        </member>
        <member name="P:WeaponData.Icon">
            <summary>
            The weapon's icon
            </summary>
        </member>
        <member name="P:WeaponData.IsPurchasable">
            <summary>
            Is this weapon shown in the buy menu
            </summary>
        </member>
        <member name="P:WeaponData.BuyMenuCategory">
            <summary>
            The tab this weapon is shown in the buy menu
            </summary>
        </member>
        <member name="P:WeaponData.BuyMenuType">
            <summary>
            The tab this weapon is shown in the buy menu
            </summary>
        </member>
        <member name="P:WeaponData.Price">
            <summary>
            How much is this weapon to buy in the buy menu?
            </summary>
        </member>
        <member name="P:WeaponData.LimitOnePurchasePerRound">
            <summary>
            If true, once purchased, this item can't be bought again until the next round.
            </summary>
        </member>
        <member name="P:WeaponData.MainPrefab">
            <summary>
            The prefab to create and attach to the player when spawning it in.
            </summary>
        </member>
        <member name="P:WeaponData.ViewModelPrefab">
            <summary>
            The prefab to create when making a viewmodel for this weapon.
            </summary>
        </member>
        <member name="P:WeaponData.RagdollImpulseScale">
            <summary>
            Ragdoll impulse scale for this weapon. Higher values throw bodies more.
            </summary>
        </member>
        <member name="P:WeaponData.RagdollImpulseUpBias">
            <summary>
            Extra upward bias for ragdoll impulse (0-1 recommended).
            </summary>
        </member>
        <member name="P:WeaponData.IgnoreBodyArmorOnHeadshot">
            <summary>
            If true, body armor does not reduce this weapon's headshots.
            Intended for classic one-shot headshot weapons like the Deagle and M24.
            </summary>
        </member>
        <member name="P:WeaponData.SuppressesDeathSound">
            <summary>
            If true, this weapon suppresses the victim's death scream/audio cue.
            This is separate from corpse/death-camera flow and is intended for silent-kill behavior.
            </summary>
        </member>
        <member name="P:WeaponData.ArticleIsAn">
            <summary>
            If true, text generators will use 'an' instead of 'a' before this weapon's name.
            Examples: an Uzi, an M24, a Glock.
            </summary>
        </member>
        <member name="P:WeaponData.ModelPreviewRotation">
            <summary>
            Rotation override for this weapon's model preview.
            Useful when a world model faces an awkward direction by default.
            </summary>
        </member>
        <member name="P:WeaponData.ModelPreviewLookAtOffset">
            <summary>
            Additional offset applied to the model preview camera look-at target.
            Use this to nudge tall or asymmetrical models back into frame.
            </summary>
        </member>
        <member name="P:WeaponData.ModelPreviewDistanceScale">
            <summary>
            Multiplies the auto-fit camera distance for the model preview.
            Values above 1 pull the camera back; below 1 push it closer.
            </summary>
        </member>
        <member name="P:WeaponData.ModelPreviewFov">
            <summary>
            Field of view override for this weapon's model preview camera.
            </summary>
        </member>
        <member name="P:WeaponData.LegacyEntityName">
            <summary>
            The optional legacy Entity name for this weapon, for map compatibility reasons.
            </summary>
        </member>
        <member name="T:ParticleLineEmitter">
            <summary>
            Emits particles evenly along a defined line.
            </summary>
        </member>
        <member name="P:ParticleLineEmitter.StartPoint">
            <summary>
            The starting point of the line in local space.
            </summary>
        </member>
        <member name="P:ParticleLineEmitter.EndPoint">
            <summary>
            The ending point of the line in local space.
            </summary>
        </member>
        <member name="P:ParticleLineEmitter.UseGameObjects">
            <summary>
            If true, the Start/End Point properties will be ignored, and GameObjects will be used instead.
            </summary>
        </member>
        <member name="P:ParticleLineEmitter.StartObject">
            <summary>
            The GameObject to use as the starting point of the line.
            </summary>
        </member>
        <member name="P:ParticleLineEmitter.EndObject">
            <summary>
            The GameObject to use as the ending point of the line.
            </summary>
        </member>
        <member name="T:ParticleRopeRenderer">
            <summary>
            Renders a single continuous rope between all particles in the system using a LineRenderer.
            </summary>
        </member>
        <member name="P:ParticleRopeRenderer.Colour">
            <summary>
            The colour of the rope over its length.
            </summary>
        </member>
        <member name="P:ParticleRopeRenderer.Width">
            <summary>
            The width of the rope over its length.
            </summary>
        </member>
        <member name="P:ParticleRopeRenderer.Texturing">
            <summary>
            How the texture is applied to the rope.
            </summary>
        </member>
        <member name="T:ParticleMathOperator">
            <summary>
            A generic, configurable operator that performs a mathematical operation on a
            particle property every frame.
            </summary>
        </member>
        <member name="T:DestroyBetweenRounds">
            <summary>
            Destroy this object before a round starts if the current game mode has a <see cref="T:TerrorTown.RoundCleanupSystem"/> component.
            </summary>
        </member>
        <member name="T:DestroyOnMapCleanup">
            <summary>
            Destroy this object before a round starts if the current game mode has a <see cref="T:TerrorTown.RoundCleanupSystem"/> component.
            </summary>
        </member>
        <member name="T:IResettableSpawner">
            <summary>
            Implement this interface on components that need to reset their state before map state capture.
            </summary>
        </member>
    </members>
</doc>
