<?xml version="1.0"?>
<doc>
    <assembly>
        <name>package.facepunch.sandbox</name>
    </assembly>
    <members>
        <member name="T:Sandbox.CleanupSystem">
            <summary>
            A system that tracks the baseline scene state and allows resetting the map to its original state.
            Removes all spawned props and restores destroyed map objects while leaving players untouched.
            </summary>
        </member>
        <member name="F:Sandbox.CleanupSystem._baselineObjectIds">
            <summary>
            Set of GameObjects that existed in the original scene baseline.
            </summary>
        </member>
        <member name="F:Sandbox.CleanupSystem._baselineObjectData">
            <summary>
            Serialized data of baseline objects so we can restore them if destroyed.
            </summary>
        </member>
        <member name="P:Sandbox.CleanupSystem.HasBaseline">
            <summary>
            Whether a baseline has been captured.
            </summary>
        </member>
        <member name="M:Sandbox.CleanupSystem.PreserveBaselineForSaveLoad">
            <summary>
            Call from SaveSystem before Game.ChangeScene() to snapshot the current baseline
            </summary>
        </member>
        <member name="M:Sandbox.CleanupSystem.CaptureBaseline">
            <summary>
            Captures the current scene state as the baseline.
            All objects that exist at this point are considered part of the original map.
            </summary>
        </member>
        <member name="M:Sandbox.CleanupSystem.IsPlayerObject(Sandbox.GameObject)">
            <summary>
            Determines if a GameObject is a player or belongs to a player.
            </summary>
        </member>
        <member name="M:Sandbox.CleanupSystem.Cleanup">
            <summary>
            Cleans up the scene by removing all spawned objects and restoring destroyed baseline objects.
            Players and their belongings are preserved.
            </summary>
        </member>
        <member name="M:Sandbox.CleanupSystem.CleanupCommand(System.String)">
            <summary>
            Console command to cleanup the map.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.CombatNpc.CombatEngageSchedule">
            <summary>
            Engages a visible player: close the gap, fire a burst, pause, then reposition to a flanking point.
            Cancels immediately if the target leaves sight.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatEngageSchedule.Target">
            <summary>
            The player to engage.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatEngageSchedule.Weapon">
            <summary>
            Weapon to fire. Should be a child component on the NPC's GameObject. Its NPC usage decides
            the engagement range, burst length and the rest between bursts.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatEngageSchedule.EngageSpeed">
            <summary>
            Speed the NPC moves when engaging.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatEngageSchedule.StrafeSpeed">
            <summary>
            Speed the NPC strafes at when it repositions without sprinting.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatEngageSchedule.RepositionChance">
            <summary>
            Chance to reposition after a burst. Otherwise the NPC holds its ground and fires again.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatEngageSchedule.ReactionTime">
            <summary>
            Seconds to react before the first burst - set for a fresh contact, zero while a fight is
            already going. The NPC calls the contact out, turns to face it and brings its weapon up in
            this time, and won't fire before it's up however quickly those finish.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatEngageSchedule.LostSightGrace">
            <summary>
            How long the target can drop out of sight (ducking behind something, a glimpse through a
            gap) before we give up on this engagement and go searching instead.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatEngageSchedule.FlankRadius">
            <summary>
            Radius around the current position to pick a flanking point.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.CombatNpc.CombatEngageSchedule.AwaitReaction">
            <summary>
            Holds until the schedule's reaction time is up, however long the tasks before it took.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.CombatNpc.CombatEngageSchedule.GetFlankPosition">
            <summary>
            Pick a random position perpendicular to the NPC→target axis at <see cref="P:Sandbox.Npcs.CombatNpc.CombatEngageSchedule.FlankRadius"/>.
            Snaps to navmesh if possible.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.CombatNpc.CombatIdleSchedule">
            <summary>
            Hold a post, HL2-style: stand at ease facing the way we were posted, now and then glance
            around, and walk back to the post if a fight or search pulled us away from it.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatIdleSchedule.Post">
            <summary>
            Where to stand.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatIdleSchedule.PostForward">
            <summary>
            Which way to face while standing there.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatIdleSchedule.WalkSpeed">
            <summary>
            Walking pace back to the post.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatIdleSchedule.ReturnRange">
            <summary>
            Further than this from the post (chased someone a long way), we hold where we are instead.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.CombatNpc.CombatNpc">
            <summary>
            A combat NPC that searches for players, advances on them, fires in bursts, and repositions.
            When friendly, can be recruited to follow a player and engages hostile NPCs instead.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.Friendly">
            <summary>
            When true, this NPC is friendly to players and will follow them, engaging hostile NPCs.
            When false, this NPC targets players and friendly NPCs.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.Weapon">
            <summary>
            The weapon this NPC uses to attack. Its NPC usage decides the engagement range and burst
            cadence - the same soldier fights differently with a shotgun than an SMG.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.WeaponChoices">
            <summary>
            Weapon prefabs to arm this NPC with - one is picked at random when it spawns, replacing
            <see cref="P:Sandbox.Npcs.CombatNpc.CombatNpc.Weapon"/>. Empty keeps the prefab's weapon.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.AimSpreadScale">
            <summary>
            Skill multiplier on the weapon's NPC spread - 1 is a average shot, lower is more accurate.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.EngageSpeed">
            <summary>
            Movement speed while engaging an enemy.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.PatrolSpeed">
            <summary>
            Walking pace while patrolling.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.SearchSpeed">
            <summary>
            Cautious walking pace - sweeping for a hostile we've lost, checking out a noise, strafing to a
            new position. Kept to a walk; only fighting and hot pursuit break into a jog.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.SpeedVariation">
            <summary>
            Each soldier moves up to this much faster or slower than the rest (0.05 = ±5%), so a squad
            doesn't move in lockstep. Keep it small - too much pushes a walk into a jog.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.SearchTimeout">
            <summary>
            How long after the last intel on a hostile (seen, heard or called out) to keep searching for it.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.CalloutRange">
            <summary>
            Allies of the same faction within this range are told where a spotted hostile is.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.Patrols">
            <summary>
            Wander between random points when there's nothing going on, instead of holding a post.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.RelaxDelay">
            <summary>
            How long the weapon stays up after the last sign of trouble before the NPC relaxes.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.ReactionTimeRelaxed">
            <summary>
            Seconds (min, max) to react to a fresh contact when caught at ease - weapon lowered.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.ReactionTimeAlert">
            <summary>
            Seconds (min, max) to react to a fresh contact when already alert - weapon up, searching or fighting.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.DroppedWeaponLifetime">
            <summary>
            Seconds a weapon dropped on death lies around before it's removed, if nobody picks it up.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.FollowDistance">
            <summary>
            How far a friendly NPC will follow a player before stopping.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.Leader">
            <summary>
            The player this friendly NPC is following, if any.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.LastKnownPosition">
            <summary>
            Where we last saw, heard or were told a hostile was. Null when we've got nothing to go on.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.LastKnownVelocity">
            <summary>
            Which way that hostile was moving, so a search can head where it was going.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatNpc.TimeSinceIntel">
            <summary>
            Time since <see cref="P:Sandbox.Npcs.CombatNpc.CombatNpc.LastKnownPosition"/> was last updated.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.CombatNpc.CombatNpc.ArmWithRandomWeapon">
            <summary>
            Swap the prefab's weapon for a random one from <see cref="P:Sandbox.Npcs.CombatNpc.CombatNpc.WeaponChoices"/>.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.CombatNpc.CombatNpc.RememberHostile(Vector3,Vector3)">
            <summary>
            Remember where a hostile is (and which way it's heading).
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.CombatNpc.CombatNpc.GatherAwareness">
            <summary>
            Keep the last known position fresh from everything we sense, every think -- not just when a
            fight starts -- and tell nearby allies about anything we can see.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.CombatNpc.CombatNpc.TrackKill">
            <summary>
            The last hostile we saw is gone - dead. If we were in the fight, remember where the body is so
            we can walk over and check, and stop hunting it.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.CombatNpc.CombatNpc.GetReactionTime(Sandbox.GameObject)">
            <summary>
            How long it takes to react to spotting a hostile: longer when caught at ease (the weapon has
            to come up) than when already alert, plus a little more to pick out something far away.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.CombatNpc.CombatNpc.CallOut(Sandbox.GameObject)">
            <summary>
            Tell allies of our faction nearby where a hostile is. They'll come and help search, or join
            the fight once they see it themselves.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.CombatNpc.CombatNpc.DropWeapon">
            <summary>
            Drop the held weapon into the world where the hand was, so it survives the NPC's death and can
            be picked up. If nobody takes it within <see cref="P:Sandbox.Npcs.CombatNpc.CombatNpc.DroppedWeaponLifetime"/> it's cleaned up.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.CombatNpc.CombatNpc.RemoveIfUnclaimed(BaseSandboxWeapon)">
            <summary>
            Remove a gun we dropped, unless a player has picked it up since. A player who picked it up and
            dropped it again owns it now, so that drop is theirs to keep.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.CombatNpc.CombatPatrolSchedule">
            <summary>
            Wanders to random nearby points when no player is known.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatPatrolSchedule.PatrolRadius">
            <summary>
            Maximum distance from current position to pick a patrol destination.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatPatrolSchedule.Speed">
            <summary>
            Walking pace between patrol points.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.CombatNpc.CombatSearchSchedule">
            <summary>
            Hunt for a hostile we can't see: run to where it was heading, look around, then sweep a couple of
            nearby spots at a cautious pace. Re-plans if fresh intel moves the last known position, and
            spotting the hostile preempts it with <see cref="T:Sandbox.Npcs.CombatNpc.CombatEngageSchedule"/>.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatSearchSchedule.Speed">
            <summary>
            Speed to run to the last known position at.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatSearchSchedule.SweepSpeed">
            <summary>
            Cautious speed to sweep the area at once we get there.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatSearchSchedule.SweepChance">
            <summary>
            Chance to sweep a nearby spot after looking around, rather than holding where we lost them.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatSearchSchedule.LeadTime">
            <summary>
            How far ahead to lead a moving hostile, in seconds of its last known velocity.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.CombatNpc.CombatSearchSchedule.SearchRadius">
            <summary>
            How far around the last known position to sweep.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Disposition">
            <summary>
            How one NPC regards another entity. Drives target selection -- who to fight, follow,
            ignore, or flee from.
            </summary>
        </member>
        <member name="F:Sandbox.Npcs.Disposition.Neutral">
            <summary>No strong feeling -- ignore them.</summary>
        </member>
        <member name="F:Sandbox.Npcs.Disposition.Friendly">
            <summary>An ally -- protect or assist.</summary>
        </member>
        <member name="F:Sandbox.Npcs.Disposition.Hostile">
            <summary>An enemy -- attack on sight.</summary>
        </member>
        <member name="F:Sandbox.Npcs.Disposition.Fearful">
            <summary>A threat to avoid -- flee from them.</summary>
        </member>
        <member name="T:Sandbox.Npcs.Relationship">
            <summary>
            A disposition plus a priority. Priority breaks ties when an NPC must choose between
            several valid targets -- higher wins.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Relationship.#ctor(Sandbox.Npcs.Disposition,System.Int32)">
            <summary>
            A disposition plus a priority. Priority breaks ties when an NPC must choose between
            several valid targets -- higher wins.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Examples.ExampleNpc">
             <summary>
             A minimal NPC to copy when making your own. This "curious villager" wanders around, and
             goes to investigate any gunshot or disturbance it hears nearby.
            
             Everything an NPC needs is here:
               1. A <see cref="P:Sandbox.Npcs.Npc.Faction"/> -- who it is, so others know how to treat it.
               2. Relationships -- who it fights / fears / likes (see <see cref="M:Sandbox.Npcs.Examples.ExampleNpc.SetupRelationships"/>).
               3. A <see cref="M:Sandbox.Npcs.Examples.ExampleNpc.GetSchedule"/> -- what it wants to do right now.
            
             To put one in the world, make a prefab with this component plus a NavMeshAgent, a
             SkinnedModelRenderer (wire it to the Renderer field), and a Collider. The four AI layers
             (Senses, Navigation, Animation, Speech) are added for you automatically.
             </summary>
        </member>
        <member name="T:Sandbox.Npcs.Factions">
            <summary>
            The built-in faction names -- an NPC's faction is its identity to others, like a Source
            engine NPC's class. These are plain strings so UGC NPCs can reuse them or invent their own;
            this list is just the common set so content interoperates.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Layers.AnimationLayer">
            <summary>
            Provides animation parameters and helpers for behaviors.
            Also handles look-at (eyes/head) and body turning via animator parameters.
            Synced properties replicate animation state to all clients.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.AnimationLayer.BodyTurnSpeed">
            <summary>
            How fast the body turns to face a look target, in degrees per second.
            Constant rate - an exponential turn covers most of a half-circle in its
            first moments, which reads as a jolting spin.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.AnimationLayer.MaxAimYaw">
            <summary>How far the head can aim away from the body, in degrees of yaw.</summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.AnimationLayer.AimSmoothSpeed">
            <summary>How quickly the head sweeps onto (and lets go of) a look target.</summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.AnimationLayer.EnableFootsteps">
            <summary>Play footstep sounds from the model's footstep animation events.</summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.AnimationLayer.FootstepVolume">
            <summary>Overall footstep volume multiplier.</summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.AnimationLayer.LookTarget">
            <summary>
            Current world-space target the Npc is looking at (if any). Host-only.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.AnimationLayer.LookTargetObject">
            <summary>
            The GameObject being tracked as the look target, if any. Host-only.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.AnimationLayer.WeaponLowered">
            <summary>
            Hold the weapon lowered, at ease, instead of up and ready. Synced to all clients.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.AnimationLayer.DebugJitter">
            <summary>
            Shows what's feeding the head every frame, to hunt down rhythmic jitter.
            Watch which value pulses: body yaw (someone rotating the object), aim
            (look target moving or flickering), or move params (animgraph input).
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.AnimationLayer.AddLookTarget(Sandbox.GameObject,System.Single)">
            <summary>
            Look at a target for a limited time, overriding the persistent look target.
            The NPC aims at the target's eyes. Call again to extend - when it expires we
            fall back to the persistent target, if any.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.AnimationLayer.GetEyePosition(Sandbox.GameObject)">
            <summary>
            Where a GameObject's eyes are - the "eyes" attachment if it has a model with
            one (players, NPCs), otherwise roughly head height above its position.
            The local player in first person is really "at" their camera, so on their
            own screen we look straight down the lens.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.AnimationLayer.GetOwnEyePosition">
            <summary>
            Where this NPC looks from.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.AnimationLayer.SetLookTarget(Sandbox.GameObject)">
            <summary>
            Set a persistent look target that tracks a GameObject each frame.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.AnimationLayer.SetLookTarget(Vector3)">
            <summary>
            Set a persistent look target at a fixed world position.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.AnimationLayer.ClearLookTarget">
            <summary>
            Clear the persistent look target. The NPC will stop tracking.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.AnimationLayer.ApplyAim(Vector3,System.Single)">
            <summary>
            Ease the applied aim toward a desired direction and weight, clamped to what
            a neck can actually do. Every look path feeds through here, so the head
            sweeps onto targets instead of snapping, and never flip-flops on a target
            directly behind us.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.AnimationLayer.LookAt(Vector3)">
            <summary>
            Command this layer to look at a target (one-shot, no tracking).
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.AnimationLayer.StopLooking">
            <summary>Stop looking.</summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.AnimationLayer.IsFacingTarget">
            <summary>
            Returns true if the NPC body is facing the current look target within MaxHeadAngle.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.AnimationLayer.SetMove(Vector3,Rotation)">
            <summary>
            Records move state for replication. Called by NavigationLayer on the host.
            All clients apply this each frame in OnUpdate.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.AnimationLayer.TriggerAttack">
            <summary>
            Broadcasts the attack trigger to all clients so the animation plays everywhere.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.AnimationLayer.SetHoldType(System.String)">
            <summary>
            Sets the holdtype so the NPC poses its arms for the held item - an option name on the
            animgraph's holdtype enum (e.g. "pistol"). Synced to all clients via HoldType.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Layers.BaseNpcLayer">
            <summary>
            A behavior layer provides specific services for tasks to use -- we don't use behavior layers for state, they are services.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.BaseNpcLayer.Npc">
            <summary>
            The owning NPC
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.BaseNpcLayer.GetDebugString">
            <summary>
            Optional debug string shown in the NPC debug overlay. Return null to skip.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.BaseNpcLayer.ResetLayer">
            <summary>
            Reset any runtime state on this layer.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Layers.NavigationLayer">
            <summary>
            Handles Npc navigation
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.NavigationLayer.WishSpeed">
            <summary>
            The desired movement speed for the agent (its normal walk). Schedules can raise this.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.NavigationLayer.RunSpeed">
            <summary>
            Speed used to run when the destination is far away -- HL-style: walk when close, run
            when there's ground to cover. Acts as a floor, so a schedule that sets a higher
            <see cref="P:Sandbox.Npcs.Layers.NavigationLayer.WishSpeed"/> (fleeing, charging) is never slowed down.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.NavigationLayer.RunDistance">
            <summary>Distance beyond which the NPC breaks into a run.</summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.NavigationLayer.FaceMovementDirection">
            <summary>
            When true (the default) the NPC turns to face the direction it's moving, so it runs
            forward. Combat schedules set this false to strafe -- face a target while moving.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.NavigationLayer.TurnSpeed">
            <summary>How quickly the body turns to face the movement direction.</summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.NavigationLayer.IsMoving">
            <summary>
            True while the agent is actually travelling. Standing NPCs are free to turn
            their body toward whatever they're looking at.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.NavigationLayer.MoveTo(Vector3,System.Single,System.Nullable{System.Single},Sandbox.GameObject)">
            <summary>
            Command this layer to move to a target
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.NavigationLayer.Stop">
            <summary>
            Stop moving and forget the current move target.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.NavigationLayer.GetStatus">
            <summary>
            Current navigation status — reached target, still moving, or failed.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Layers.SensesLayer">
            <summary>
            Handles awareness and environmental scanning.
            Scans for all objects matching <see cref="P:Sandbox.Npcs.Layers.SensesLayer.ScanTags"/> and caches them by tag.
            Whether a scanned object is a hostile target is decided by the NPC's disposition
            toward it (see <see cref="M:Sandbox.Npcs.Npc.GetDisposition(Sandbox.GameObject)"/>), not by tags.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.SensesLayer.FieldOfView">
            <summary>
            Total horizontal field of view in degrees. Targets outside this cone aren't seen
            (they can still be heard, or noticed if they're right next to the NPC).
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.SensesLayer.QuietSpeed">
            <summary>
            Hostiles moving slower than this can't be heard -- creep (crouch-walk) to sneak up on someone.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.SensesLayer.ScanTags">
            <summary>
            Which agents the NPC scans for and caches: "npc" for other NPCs, "player" for players.
            This is just the broad-phase filter -- disposition decides who counts as hostile.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.SensesLayer.VisibleThreats">
            <summary>Visible entities this NPC is disposed Fearful toward (things to flee from).</summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.SensesLayer.Disturbance">
            <summary>
            The most relevant disturbance (gunshot, death, etc.) this NPC currently senses, if any.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SensesLayer.PerceiveStimuli">
            <summary>
            Find the nearest world stimulus this NPC can sense (ignoring its own noise).
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SensesLayer.ScanEnvironment">
            <summary>
            Scan for all objects matching <see cref="P:Sandbox.Npcs.Layers.SensesLayer.ScanTags"/>, bucket by tag, and populate
            the hostile-filtered <see cref="P:Sandbox.Npcs.Layers.SensesLayer.VisibleTargets"/>/<see cref="P:Sandbox.Npcs.Layers.SensesLayer.AudibleTargets"/> using
            the NPC's disposition toward each.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SensesLayer.HasLineOfSight(Sandbox.GameObject)">
            <summary>
            Check if we have line of sight to target
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SensesLayer.IsInViewCone(Sandbox.GameObject,System.Single)">
            <summary>
            True if a target is within the NPC's forward field of view. Anything inside personal
            space is always in view -- you notice someone right next to you, even behind.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SensesLayer.GetNearestVisible">
            <summary>
            Get the nearest visible hostile target (anything this NPC is disposed Hostile toward).
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SensesLayer.GetBestTarget">
            <summary>
            Get the visible hostile this NPC should engage first: highest relationship priority,
            nearest breaking ties.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SensesLayer.GetNearestVisible(System.String)">
            <summary>
            Get the nearest visible object with a specific tag.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SensesLayer.GetNearestVisible(Sandbox.Npcs.Disposition)">
            <summary>
            Get the nearest visible entity this NPC regards with the given disposition
            (e.g. the nearest thing it's afraid of).
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SensesLayer.GetHeardHostile">
            <summary>
            The nearest hostile we can hear moving -- inside <see cref="P:Sandbox.Npcs.Layers.SensesLayer.HearingRange"/> and going faster
            than <see cref="P:Sandbox.Npcs.Layers.SensesLayer.QuietSpeed"/>. Null when nobody's making noise.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SensesLayer.GetPushingPlayer">
            <summary>
            A player inside our personal space who's moving toward us -- they're trying to
            get past and we're in their way. Returns null when nobody is barging in.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SensesLayer.GetVelocity(Sandbox.GameObject)">
            <summary>
            Resolve a scanned object's velocity from whatever movement source it has.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SensesLayer.GetVisible(System.String)">
            <summary>
            Get all visible objects with a specific tag from the cache.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SensesLayer.GetAudible(System.String)">
            <summary>
            Get all audible objects with a specific tag from the cache.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Layers.SpeechLayer">
            <summary>
            Manages NPC speech state and plays sound files.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.SpeechLayer.CurrentSpeech">
            <summary>
            The subtitle text of the current line, if any. Synced to all clients.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.SpeechLayer.IsSpeaking">
            <summary>
            Whether the NPC is currently speaking. Voice lines usually have no subtitle,
            so this has to watch the sound itself, not just the subtitle text.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.SpeechLayer.Cooldown">
            <summary>
            Minimum seconds between speeches.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.SpeechLayer.FallbackSound">
            <summary>
            A generic fallback sound (e.g. a grunt or mumble) played when we're talking without a specific sound.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Layers.SpeechLayer.CanSpeak">
            <summary>
            Whether the cooldown has elapsed and the NPC can speak again.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SpeechLayer.Say(Sandbox.SoundEvent,System.Single,Sandbox.GameObject)">
            <summary>
            Play a sound event, with its subtitle (if one exists) as the current speech.
            If <paramref name="lookAt"/> is given, the NPC looks them in the eyes
            while talking.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SpeechLayer.TrySay(Sandbox.SoundEvent,System.Single,Sandbox.GameObject,Sandbox.TagSet,System.Int32,System.Single)">
            <summary>Attempts to play a tagged sound event.</summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SpeechLayer.Say(Sandbox.SoundEvent,System.String,System.Single,Sandbox.GameObject)">
            <summary>
            Play a sound event with an explicit subtitle override.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SpeechLayer.TrySay(Sandbox.SoundEvent,System.String,System.Single,Sandbox.GameObject,Sandbox.TagSet,System.Int32,System.Single)">
            <summary>Attempts to play a tagged sound event with a subtitle.</summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SpeechLayer.Say(System.String,System.Single,Sandbox.GameObject)">
            <summary>
            Say a string message using the fallback sound, with the string as the subtitle.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SpeechLayer.TrySay(System.String,System.Single,Sandbox.GameObject,Sandbox.TagSet,System.Int32,System.Single)">
            <summary>Attempts to show a tagged message using the fallback sound.</summary>
        </member>
        <member name="M:Sandbox.Npcs.Layers.SpeechLayer.Stop">
            <summary>
            Stop any current speech and sound.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Npc.MaxSafeImpactSpeed">
            <summary>
            Hitting something at or below this speed while airborne doesn't hurt - landing from a throw or
            a fall, or being slammed into a wall.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Npc.FatalImpactSpeed">
            <summary>
            Hitting something at or above this speed is fatal.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Npc.IsAirborne">
            <summary>
            Off our feet - thrown, dropped, or dangling from a physgun. Only NPCs that walk on the navmesh;
            ones that roll around on physics (rollermines) are never "airborne".
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.UpdateAirborne">
            <summary>
            While airborne the animation falls with the body - the animgraph's in-air pose, driven by the
            rigidbody rather than the (disabled) nav agent.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.OnPutDown">
            <summary>
            Back on our feet after a physgun carried us - keep whichever way it turned us, rather than
            snapping back to whatever we were looking at or doing before.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.Sandbox#Component#ICollisionListener#OnCollisionStart(Sandbox.Collision)">
            <summary>
            Hitting something hard while airborne - a wall we've been thrown into, or the floor if the
            collision beats the ground check to it. Only the speed straight into the surface counts, so
            skidding along it doesn't.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.TakeImpact(System.Single,Vector3,Vector3,Sandbox.GameObject,System.String)">
            <summary>
            A hard hit hurts - harsher than a player's fall damage, being flung around by a physgun
            should hurt. Nothing at or below <see cref="P:Sandbox.Npcs.Npc.MaxSafeImpactSpeed"/>, fatal at <see cref="P:Sandbox.Npcs.Npc.FatalImpactSpeed"/>.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.SplatterBlood(Vector3,Vector3,Sandbox.GameObject,System.Single)">
            <summary>
            Paint the surface we smacked into - a big splat where we hit, with droplets around it. Harder
            hits make more mess. Purely cosmetic, so every client makes its own.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Npc.Faction">
            <summary>
            The faction this NPC belongs to -- its identity to others, like a Source NPC's class.
            Override per NPC type.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.SetupRelationships">
            <summary>
            Declare this NPC's relationships toward other factions with <see cref="M:Sandbox.Npcs.Npc.Hates(System.String[])"/> /
            <see cref="M:Sandbox.Npcs.Npc.Fears(System.String[])"/> / <see cref="M:Sandbox.Npcs.Npc.Likes(System.String[])"/>. Anything not listed is neutral (ignored).
            Override per NPC type.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.Hates(System.String[])">
            <summary>Attack members of these factions.</summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.Hates(System.String,System.Int32)">
            <summary>Attack members of a faction, with a target-selection priority.</summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.Fears(System.String[])">
            <summary>Flee members of these factions.</summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.Likes(System.String[])">
            <summary>Treat members of these factions as allies.</summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.SetDisposition(Sandbox.GameObject,Sandbox.Npcs.Disposition,System.Int32)">
            <summary>
            Override how this NPC regards a specific entity, ignoring faction defaults -- e.g. a
            cop turning hostile toward someone it saw commit a crime.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.ClearDisposition(Sandbox.GameObject)">
            <summary>Remove a per-entity override, falling back to the faction default.</summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.GetRelationship(Sandbox.GameObject)">
            <summary>
            The full relationship (disposition + priority) this NPC has toward another entity.
            Per-entity overrides win, then the faction default, then neutral. Override this for
            fully dynamic relationships (the equivalent of Source's IRelationType).
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.GetDisposition(Sandbox.GameObject)">
            <summary>How this NPC regards another entity.</summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.GetFactionOf(Sandbox.GameObject)">
            <summary>
            Resolve any entity's faction -- an NPC's own faction, or the player faction. Returns
            null for things that don't take part in relationships.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Npc.IsOnGround">
            <summary>
            Are we on the ground?
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Npc.GroundObject">
            <summary>
            The object we're standing on. Null if we're standing on nothing.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Npc.GroundComponent">
            <summary>
            The collider component we're standing on. Null if we're standing nothing
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Npc.GroundSurface">
            <summary>
            If we're stnding on a surface this is it
            </summary>
        </member>
        <member name="F:Sandbox.Npcs.Npc.isPickedUp">
            <summary>
            Are we being held by a player?
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Npc.Senses">
            <summary>
            Senses layer - handles environmental awareness and target detection
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Npc.Navigation">
            <summary>
            Navigation layer - handles pathfinding and movement
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Npc.Animation">
            <summary>
            Animation layer - handles look-at and animation parameters
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Npc.Speech">
            <summary>
            Speech layer - handles talking, lipsync, etc..
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Npc.ActiveSchedule">
            <summary>
            The current running schedule for this NPC.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Npc.Awareness">
            <summary>
            What the NPC is aware of this tick, refreshed before selection.
            Schedules declare which of these interrupt them via <see cref="P:Sandbox.Npcs.ScheduleBase.InterruptedBy"/>.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.GetSchedule``1">
            <summary>
            Get a schedule -- if it doesn't exist, one will be created. The instance is reused
            across selections, so set its inputs each time you return it; its runtime state is
            reset when it starts.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.GetSchedule">
            <summary>
            Pick the schedule the NPC most wants to run right now -- return the highest-priority
            applicable one. Only called when (re)selecting, so a little work is fine, but keep it
            free of side effects and avoid randomness that shouldn't re-roll each selection.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.GatherAwareness">
            <summary>
            Build what the NPC is aware of this tick. Override to add NPC-specific
            awareness -- call base first.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.TickSchedule">
            <summary>
            Runs once per tick: refresh conditions, then preempt the active schedule with
            something more important, run it, or select a new one when it finishes.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.SelectNewSchedule">
            <summary>
            End the active schedule and start whatever the NPC wants next.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.EndCurrentSchedule">
            <summary>
            End the current schedule cleanly. Can be called by subclasses to interrupt
            the active schedule (e.g. when damaged).
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.EmitStimulus(System.String,System.Single,System.Single)">
            <summary>
            Broadcast a stimulus from this NPC's position for nearby NPCs to sense (a gunshot when
            it fires, a death when it dies, and so on).
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Npc.DisplayName">
            <summary>
            The name shown in the kill feed when this NPC is killed.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Npc.Health">
            <summary>
            Current health. The NPC dies when this drops below 1.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.CreateRagdoll(Vector3,Vector3,System.Single)">
            <summary>
            Spawns a networked ragdoll prop at the NPC's current position, copying the renderer and clothing,
            and optionally applies a launch velocity from the attacker. Host only.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.GetAttackerVelocity(Sandbox.GameObject)">
            <summary>
            Resolves the attacker's current velocity from whatever movement source it has.
            </summary>
        </member>
        <member name="F:Sandbox.Npcs.Npc.MeleeKnockback">
            <summary>
            How hard a melee kill knocks the body - a solid whack, not a launch.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.GetDeathLaunchVelocity(Sandbox.DamageInfo@)">
            <summary>
            Calculates the launch velocity for a ragdoll based on the damage source.
            For explosions, uses the direction from the blast origin to this NPC. Bullets push along the
            shot by the weapon's ballistic force, melee gives a shove along the swing.
            Otherwise, falls back to the attacker's physical velocity.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.Sandbox#Component#IDamageable#OnDamage(Sandbox.DamageInfo@)">
            <summary>
            Base damage handling: subtract health, let the subclass react via <see cref="M:Sandbox.Npcs.Npc.OnHurt(Sandbox.DamageInfo@)"/>,
            and die at zero. Subclasses react by overriding OnHurt and Die -- they don't touch this.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.OnHurt(Sandbox.DamageInfo@)">
            <summary>Called when the NPC takes damage (before the death check). Override to react.</summary>
        </member>
        <member name="M:Sandbox.Npcs.Npc.Die(Sandbox.DamageInfo@)">
            <summary>
            Notifies the kill feed, spawns a ragdoll, and destroys this NPC. Called automatically
            when health drops below 1. Override to add NPC-specific behaviour before/after death.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.NpcAwareness">
            <summary>
            What an NPC perceives this tick. Schedules declare which of these interrupt them via
            <see cref="P:Sandbox.Npcs.ScheduleBase.InterruptedBy"/>, so an idle schedule yields the moment a threat
            or disturbance appears without having to poll for it itself.
            </summary>
        </member>
        <member name="F:Sandbox.Npcs.NpcAwareness.SeesHostile">
            <summary>A hostile target is visible.</summary>
        </member>
        <member name="F:Sandbox.Npcs.NpcAwareness.SeesThreat">
            <summary>A visible entity the NPC is afraid of -- something it wants to flee.</summary>
        </member>
        <member name="F:Sandbox.Npcs.NpcAwareness.HeardDisturbance">
            <summary>A notable disturbance was sensed nearby -- a gunshot, a death, a scream.</summary>
        </member>
        <member name="F:Sandbox.Npcs.NpcAwareness.PlayerPushing">
            <summary>A player is walking into us -- they want to get past and we're in the way.</summary>
        </member>
        <member name="F:Sandbox.Npcs.NpcAwareness.HostileIntel">
            <summary>
            Learned where a hostile is without seeing it -- heard it moving or shooting, or an ally called it out.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.NpcConVars">
            <summary>
            Console variables that control NPC AI behaviour globally.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.NpcConVars.Enabled">
            <summary>
            When disabled, all NPC AI thinking is paused — they just stand idle.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.NpcConVars.NoTarget">
            <summary>
            When enabled, NPCs cannot target players.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.ClothingPreset">
            <summary>
            A designed outfit - a set of clothing to dress an NPC in. Just clothes: heads, hair and facial
            hair come from a <see cref="T:Sandbox.Npcs.FacialAppearance"/>.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.FacialAppearance">
            <summary>
            A head with the hair and beard that go with it, picked together - so nobody ends up with jet
            black hair and a blonde beard, or a beard that doesn't suit their face.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.FacialAppearance.Head">
            <summary>The head (skin clothing).</summary>
        </member>
        <member name="P:Sandbox.Npcs.FacialAppearance.Hair">
            <summary>Hair, if any.</summary>
        </member>
        <member name="P:Sandbox.Npcs.FacialAppearance.Beard">
            <summary>Beard, moustache or the like, if any. Coloured to match the hair.</summary>
        </member>
        <member name="P:Sandbox.Npcs.FacialAppearance.HairTint">
            <summary>
            Where on the hair's colour range to tint it - 0 is white, through blonde, brown and ginger, to
            black at 1. The beard is matched to whatever colour that gives.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.NpcOutfits">
            <summary>
            Dresses an NPC in one of a few designed outfits and one of a few facial appearances, each picked
            at random when it spawns. Replaces whatever's set on the <see cref="T:Sandbox.Dresser"/>, which
            still does the actual dressing.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.NpcOutfits.Dresser">
            <summary>
            The dresser to put the outfit on.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.NpcOutfits.Outfits">
            <summary>
            Outfits to pick from. Empty leaves the dresser's clothes as they are.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.NpcOutfits.FacialAppearances">
            <summary>
            Heads with their hair and beard, picked on top of the outfit. Empty leaves the face alone.
            Headgear in the outfit wins: hair or a beard that can't be worn with it is left off.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.NpcOutfits.MatchFacialHair(System.Collections.Generic.List{Sandbox.ClothingContainer.ClothingEntry})">
            <summary>
            Tint beards, moustaches and the like the same colour as the hair on their head. Each item has
            its own tint gradient, so match the colour rather than the tint value.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.NpcStimulusSystem">
            <summary>
            The world stimulus bus. Anything can broadcast a <see cref="T:Sandbox.Npcs.Stimulus"/> (a gunshot, a
            death, a crime) and nearby NPCs sense it through their <see cref="T:Sandbox.Npcs.Layers.SensesLayer"/>.
            This is how the world pushes events at NPCs, rather than NPCs only polling for entities.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.NpcStimulusSystem.Broadcast(System.String,Vector3,Sandbox.GameObject,System.Single,System.Single)">
            <summary>
            Broadcast a stimulus into the world. <paramref name="radius"/> is how far it can be
            sensed; <paramref name="lifetime"/> is how long it lingers (seconds).
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.NpcStimulusSystem.Near(Vector3)">
            <summary>
            Active stimuli whose range reaches a position.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.NpcSystem">
            <summary>NPC speech coordination.</summary>
            <summary>Shared NPC coordination for a scene.</summary>
        </member>
        <member name="M:Sandbox.Npcs.NpcSystem.TryBeginSpeech(Sandbox.Npcs.Npc,System.Single,Sandbox.TagSet,System.Int32,System.Single)">
            <summary>
            Attempts to reserve speech around an NPC. Higher priorities preempt lower priorities.
            The reservation expires after <paramref name="duration"/> unless stopped early.
            </summary>
            <param name="speaker">NPC requesting the reservation.</param>
            <param name="duration">Length of the selected speech in seconds.</param>
            <param name="tags">Optional tags matched against tag cooldowns.</param>
            <param name="priority">Priority used for blocking and preemption. Defaults to 1000; <see cref="F:System.Int32.MaxValue"/> always speaks.</param>
            <param name="radius">Coordination radius for this line. Defaults to 1500.</param>
        </member>
        <member name="M:Sandbox.Npcs.NpcSystem.StopSpeech(Sandbox.Npcs.Npc)">
            <summary>Releases all speech reservations owned by an NPC before their normal expiry.</summary>
            <param name="speaker">NPC whose reservations should be released.</param>
        </member>
        <member name="M:Sandbox.Npcs.NpcSystem.SetTagCooldown(Vector3,System.String,System.Single,System.Single,System.Int32)">
            <summary>Adds a timed tag cooldown around a position.</summary>
            <param name="position">Center of the cooldown area.</param>
            <param name="tag">Speech tag blocked by the cooldown.</param>
            <param name="duration">Cooldown duration in seconds.</param>
            <param name="radius">Cooldown radius. Defaults to 1500.</param>
            <param name="priority">Requests above this priority bypass the cooldown.</param>
        </member>
        <member name="M:Sandbox.Npcs.NpcSystem.IsWithinSpeechRadius(Vector3,System.Single,Vector3,System.Single)">
            <summary>Returns whether two speech areas overlap, using the larger radius.</summary>
            <param name="firstPosition">Center of the first speech area.</param>
            <param name="firstRadius">Radius of the first speech area.</param>
            <param name="secondPosition">Center of the second speech area.</param>
            <param name="secondRadius">Radius of the second speech area.</param>
        </member>
        <member name="P:Sandbox.Npcs.NpcSystem.Npcs">
            <summary>NPCs currently registered in the scene.</summary>
        </member>
        <member name="M:Sandbox.Npcs.NpcSystem.#ctor(Sandbox.Scene)">
            <summary>Creates the scene NPC coordinator.</summary>
        </member>
        <member name="M:Sandbox.Npcs.NpcSystem.Register(Sandbox.Npcs.Npc)">
            <summary>Registers an NPC with the scene.</summary>
        </member>
        <member name="M:Sandbox.Npcs.NpcSystem.Unregister(Sandbox.Npcs.Npc)">
            <summary>Removes an NPC and any speech reservation it owns.</summary>
        </member>
        <member name="T:Sandbox.Npcs.Roller.Schedules.RollerChaseSchedule">
            <summary>
            Roller chase: roll toward target then leap at it.
            On completion the schedule ends naturally, GetSchedule re-picks it and loops.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Roller.Schedules.RollerIdleSchedule">
            <summary>
            Roller idles when no target is visible — waits briefly then re-evaluates.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Roller.RollerMorphs">
            <summary>
            Drives morph targets and material glow on the rollermine mesh based on hunting state.
            Same mesh as hoverball — uses Coils_Deployed and Pins_Deployed morphs.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Roller.RollerNpc">
            <summary>
            A physics-driven NPC that chases players, leaps at them, and bounces off dealing damage on contact.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Roller.RollerNpc.RollForce">
            <summary>
            Continuous force applied per-frame while rolling toward a target.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Roller.RollerNpc.RollTorque">
            <summary>
            Torque applied per-frame to spin the sphere visually.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Roller.RollerNpc.StuckJumpForce">
            <summary>
            Upward impulse applied when the rollermine gets stuck.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Roller.RollerNpc.LeapForce">
            <summary>
            Impulse applied when leaping at the target.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Roller.RollerNpc.LeapUpwardBias">
            <summary>
            Upward component added to the leap direction (0 = flat, 1 = 45°).
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Roller.RollerNpc.BounceForce">
            <summary>
            Impulse magnitude applied to self when bouncing off a surface/player.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Roller.RollerNpc.ContactDamage">
            <summary>
            Damage applied to anything we crash into.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Roller.RollerNpc.LeapRange">
            <summary>
            Distance at which we switch from rolling to leaping.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Roller.RollerNpc.Eye">
            <summary>
            Eye child GameObject — assign in editor.
            Rotated to face the current target each frame.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Roller.RollerNpc.HuntingEffects">
            <summary>
            GameObject whose child ParticleEffects are enabled while actively hunting a target.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Roller.RollerNpc.LeapEffect">
            <summary>
            Prefab cloned at world position when leaping at the target.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Roller.RollerNpc.ContactEffect">
            <summary>
            Prefab cloned at the contact point when hitting a player.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Roller.RollerNpc.RollSound">
            <summary>
            Looping roll sound — pitch is driven by speed.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Roller.RollerNpc.PitchSpeedMax">
            <summary>Speed (units/s) at which pitch reaches PitchMax.</summary>
        </member>
        <member name="P:Sandbox.Npcs.Roller.RollerNpc.PitchMin">
            <summary>Pitch at rest.</summary>
        </member>
        <member name="P:Sandbox.Npcs.Roller.RollerNpc.PitchMax">
            <summary>Pitch at full speed.</summary>
        </member>
        <member name="M:Sandbox.Npcs.Roller.RollerNpc.SetHunting(System.Boolean)">
            <summary>
            Called by chase/idle schedules to toggle the hunting particle children.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Roller.RollerNpc.BroadcastLeapEffect">
            <summary>
            Clones the leap effect prefab at our current position (broadcast so all clients see it).
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Roller.RollerNpc.BroadcastContactEffect(Vector3)">
            <summary>
            Clones the contact effect prefab at the hit position (broadcast so all clients see it).
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Roller.Tasks.RollerLeapTask">
            <summary>
            Leaps at the current target with a clean impulse (velocity zeroed first),
            then waits for cooldown before handing back to the roll task.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Roller.Tasks.RollerRollTask">
            <summary>
            Rolls toward the current target by applying force and torque.
            Succeeds when within LeapRange.  Fails if target is lost.
            Force/torque values are configured on RollerNpc.
            </summary>
        </member>
        <member name="F:Sandbox.Npcs.Roller.Tasks.RollerRollTask.StuckSpeedThreshold">
            <summary>If lateral speed stays below this for StuckTime, jump to un-stick.</summary>
        </member>
        <member name="T:Sandbox.Npcs.ScheduleBase">
            <summary>
            A schedule -- can be understood as a way to execute a sequence of tasks
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.ScheduleBase.Priority">
            <summary>
            Selection priority. A running schedule is only preempted by one with a strictly
            higher priority. Use <see cref="T:Sandbox.Npcs.SchedulePriority"/> for the common tiers.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.ScheduleBase.InterruptedBy">
            <summary>
            Stimuli that should make this schedule reconsider mid-run. When one of these newly
            appears, the NPC re-selects and a higher-priority schedule can take over. Defaults
            to the "drop everything and re-think" stimuli so ambient schedules yield to threats
            for free; combat and flee schedules override this to stay focused.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.ScheduleBase.InternalInit(Sandbox.Npcs.Npc)">
            <summary>
            Initialize the schedule with the Behavior context
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.ScheduleBase.OnCancelled">
            <summary>
            Called when task is ended because of ShouldCancel returning true
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.ScheduleBase.InternalUpdate">
            <summary>
            Called every frame while schedule is running
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.ScheduleBase.InternalEnd">
            <summary>
            Called once when schedule ends
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.ScheduleBase.OnStart">
            <summary>
            Called when this schedule starts -- this is where you can add tasks to run
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.ScheduleBase.OnEnd">
            <summary>
            Called when this schedule ends -- this is where you can clean stuff up
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.ScheduleBase.AddTask(Sandbox.Npcs.TaskBase)">
            <summary>
            Add a task to the sequence
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.ScheduleBase.StartCurrentTask">
            <summary>
            Start the current task in sequence
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.ScheduleBase.GetDebugString">
            <summary>
            Information about this schedule for debugging purposes
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.SchedulePriority">
            <summary>
            Common schedule priority tiers. A running schedule is only preempted by one with a
            strictly higher priority, so these tiers decide who interrupts whom. Authors are free
            to use their own numbers — these are just sensible defaults.
            </summary>
        </member>
        <member name="F:Sandbox.Npcs.SchedulePriority.Idle">
            <summary>Doing nothing in particular. Yields to everything.</summary>
        </member>
        <member name="F:Sandbox.Npcs.SchedulePriority.Ambient">
            <summary>Ambient behaviour — wandering, patrolling, following, inspecting.</summary>
        </member>
        <member name="F:Sandbox.Npcs.SchedulePriority.Alert">
            <summary>Reacting to something — searching a last-known position, investigating.</summary>
        </member>
        <member name="F:Sandbox.Npcs.SchedulePriority.Combat">
            <summary>Actively fighting a target.</summary>
        </member>
        <member name="F:Sandbox.Npcs.SchedulePriority.Survival">
            <summary>Self-preservation — fleeing, panicking. Overrides combat.</summary>
        </member>
        <member name="T:Sandbox.Npcs.Schedules.FollowSchedule">
            <summary>
            Follow a target around, keeping a respectful distance. Re-evaluates each cycle so it
            tracks a moving target. Higher-priority schedules (like fleeing danger) preempt it.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Schedules.FollowSchedule.FollowDistance">
            <summary>
            How close we walk up to the target before stopping.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Schedules.FollowSchedule.CatchUpDistance">
            <summary>
            How far the target gets before we start walking again. The band between
            this and FollowDistance is "close enough" - without it, a crowd of
            followers endlessly jockeys and shoves to close the last few units.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Schedules.FollowSchedule.TooCloseDistance">
            <summary>
            If the target walks right up into our face, back off to arm's length --
            facing them and walking backwards, not turning our back on them.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Schedules.InvestigateSchedule">
            <summary>
            Move to a point, look around, and wait -- used to check out a last-known position or a
            heard disturbance. Re-spotting a target preempts this with a higher-priority schedule.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Schedules.InvestigateSchedule.Speed">
            <summary>
            Speed to head over at. Null walks, breaking into a run if it's far.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Schedules.MoveAsideSchedule">
            <summary>
            A player is walking into us -- step sideways out of their path and let them
            through, HL2 companion style. We step to whichever side of their path we're
            already closest to, so we clear it instead of crossing in front of them,
            and watch them as they pass.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Schedules.MoveAsideSchedule.Blocker">
            <summary>The player barging into us.</summary>
        </member>
        <member name="P:Sandbox.Npcs.Schedules.MoveAsideSchedule.StepDistance">
            <summary>How far to step out of the way.</summary>
        </member>
        <member name="P:Sandbox.Npcs.Schedules.MoveAsideSchedule.Speed">
            <summary>Speed to step aside at. Null uses the NPC's walk.</summary>
        </member>
        <member name="T:Sandbox.Npcs.Schedules.WanderSchedule">
            <summary>
            Wander to a random reachable point nearby, then pause. A simple ambient behaviour any
            NPC can use as its default.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Schedules.WanderSchedule.Radius">
            <summary>How far to roam from the current position.</summary>
        </member>
        <member name="T:Sandbox.Npcs.Schedules.ScientistFarewellSchedule">
            <summary>
            Stop, turn to face whoever we're talking to, deliver a line while looking them
            in the eyes, and only then get on with life. Used when a player dismisses the
            scientist, so it says goodbye to their face instead of muttering it while
            wandering off.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Schedules.ScientistFleeSchedule">
            <summary>
            Panic flee — scream while sprinting away from the source.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Schedules.ScientistFleeSchedule.PanicLevel">
            <summary>
            0–1 panic intensity. Higher values mean faster speed and longer flee distance.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Schedules.ScientistIdleSchedule">
            <summary>
            Idle in place — glance around at eye level, and watch the people we can see,
            HL2 style: a visible player gets looked at for a while, then other NPCs, and
            otherwise we just scan the room.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Schedules.ScientistInspectPropSchedule">
            <summary>
            Walk to a nearby prop, look at it, and maybe comment on it.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Schedules.ScientistInspectPropSchedule.Speed">
            <summary>
            Walking pace.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Schedules.ScientistWanderSchedule">
            <summary>
            Wander to a random nearby point, avoiding player directions.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Schedules.ScientistWanderSchedule.Speed">
            <summary>
            Walking pace.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Scientist.ScientistNpc.AfraidLevel">
            <summary>
            Current fear level (0–1). Computed from peak fear and time since last hurt.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Scientist.ScientistNpc.FearGracePeriod">
            <summary>
            Seconds at full fear before decay begins.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Scientist.ScientistNpc.FearDecayRate">
            <summary>
            Fear units lost per second after the grace period.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Scientist.ScientistNpc.WalkSpeed">
            <summary>
            Walking pace while pottering about. Scientists only run when they're scared, or to keep up
            with a player they're following.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Scientist.ScientistNpc.Leader">
            <summary>
            The player this scientist is following, if any. Press USE on the scientist to toggle.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Scientist.ScientistNpc.GetIdleSchedule">
            <summary>
            Pick a random idle behavior so the scientist doesn't just stand around.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Scientist.ScientistNpc.FindNearbyProp">
            <summary>
            Find the nearest prop within range to inspect.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Stimulus">
            <summary>
            Something that happened in the world that NPCs can sense -- a gunshot, an explosion, a
            scream. Broadcast via <see cref="T:Sandbox.Npcs.NpcStimulusSystem"/>; sensed by <see cref="T:Sandbox.Npcs.Layers.SensesLayer"/>.
            </summary>
        </member>
        <member name="M:Sandbox.Npcs.Stimulus.#ctor(System.String,Vector3,Sandbox.GameObject,System.Single,System.Single)">
            <summary>
            Something that happened in the world that NPCs can sense -- a gunshot, an explosion, a
            scream. Broadcast via <see cref="T:Sandbox.Npcs.NpcStimulusSystem"/>; sensed by <see cref="T:Sandbox.Npcs.Layers.SensesLayer"/>.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.StimulusKind">
            <summary>
            Common stimulus kinds. Plain strings so UGC can add its own; this is just the shared set.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.TaskBase">
            <summary>
            A task
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.TaskBase.Status">
            <summary>
            What is the current status of this task?
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.TaskStatus">
            <summary>
            Status returned by task execution
            </summary>
        </member>
        <member name="F:Sandbox.Npcs.TaskStatus.Running">
            <summary>
            Task is still running, continue executing
            </summary>
        </member>
        <member name="F:Sandbox.Npcs.TaskStatus.Success">
            <summary>
            Task completed successfully
            </summary>
        </member>
        <member name="F:Sandbox.Npcs.TaskStatus.Failed">
            <summary>
            Task failed or was cancelled
            </summary>
        </member>
        <member name="F:Sandbox.Npcs.TaskStatus.Interrupted">
            <summary>
            Task was interrupted by conditions
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Tasks.FireWeapon">
            <summary>
            Fires a burst at a target. The burst length comes from the weapon's NPC usage - a random shot
            count between its burst min and max. Shots only fire while the target is inside the weapon's
            engagement band.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Tasks.FireWeapon.Weapon">
            <summary>The weapon component to fire.</summary>
        </member>
        <member name="P:Sandbox.Npcs.Tasks.FireWeapon.Target">
            <summary>The GameObject to aim at.</summary>
        </member>
        <member name="P:Sandbox.Npcs.Tasks.FireWeapon.AimTurnSpeed">
            <summary>Body rotation speed (degrees/s scale) used while actively aiming. Higher than the default look speed.</summary>
        </member>
        <member name="T:Sandbox.Npcs.Tasks.LookAt">
            <summary>
            Sets a persistent look target on the AnimationLayer and waits until the NPC is facing it.
            The look target persists after this task completes — call <see cref="M:Sandbox.Npcs.Layers.AnimationLayer.ClearLookTarget"/>
            when you no longer need it (typically in <see cref="M:Sandbox.Npcs.ScheduleBase.OnEnd"/>).
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Tasks.MoveTo">
            <summary>
            Task that commands the NavigationLayer to move to a target position or GameObject.
            When tracking a GameObject, re-evaluates the path periodically.
            Does not override the NPC's look target — but will rotate the body to face the
            movement direction when the angle would otherwise cause silly walking
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Tasks.MoveTo.Speed">
            <summary>Movement speed for this task. Null uses the NPC's configured speed.</summary>
        </member>
        <member name="P:Sandbox.Npcs.Tasks.MoveTo.FaceTarget">
            <summary>
            Keep facing this object while moving instead of turning into the movement
            direction. The NPC backpedals or strafes -- short moves away from someone
            happen without turning our back on them.
            </summary>
        </member>
        <member name="T:Sandbox.Npcs.Tasks.Say">
            <summary>
            Task that plays speech via the SpeechLayer. Waits for the speech to finish before completing.
            Accepts either a SoundEvent or a plain string (which uses the fallback sound).
            If LookAt is set, the NPC looks them in the eyes while talking.
            </summary>
        </member>
        <member name="P:Sandbox.Npcs.Tasks.Say.Tags">
            <summary>Tags describing the line and its shared cooldown groups.</summary>
        </member>
        <member name="P:Sandbox.Npcs.Tasks.Say.Priority">
            <summary>Admission and interruption priority for this line.</summary>
        </member>
        <member name="P:Sandbox.Npcs.Tasks.Say.Radius">
            <summary>Distance within which this line coordinates with other NPC speech.</summary>
        </member>
        <member name="T:Sandbox.Npcs.Tasks.Wait">
            <summary>
            Task that waits for a specified duration
            </summary>
        </member>
        <member name="P:Sandbox.SandboxVoice.MutedList">
            <summary>
            A list of muted users.
            </summary>
        </member>
        <member name="M:Sandbox.SandboxVoice.Mute(Sandbox.SteamId)">
            <summary>
            Toggles mute for a user
            </summary>
            <param name="id"></param>
        </member>
        <member name="M:Sandbox.SandboxVoice.IsMuted(Sandbox.SteamId)">
            <summary>
            Is this user muted?
            </summary>
            <param name="id"></param>
            <returns></returns>
        </member>
        <member name="T:Sandbox.SaveSystem">
            <summary>
            A saving/loading system that captures the differences between the current scene state and the original scene.
            </summary>
        </member>
        <member name="P:Sandbox.SaveSystem.SaveVersion">
            <summary>
            The current save format version. Saves with a different version are incompatible.
            </summary>
        </member>
        <member name="P:Sandbox.SaveSystem.LoadedSavePath">
            <summary>
            The path of the save file that was most recently loaded, if any.
            </summary>
        </member>
        <member name="P:Sandbox.SaveSystem.HasLoadedSave">
            <summary>
            Whether a save file is currently loaded.
            </summary>
        </member>
        <member name="M:Sandbox.SaveSystem.SetMetadata(System.String,System.String)">
            <summary>
            Set metadata on the current session's save.
            This will be written on the next <see cref="M:Sandbox.SaveSystem.Save(System.String)"/> call.
            </summary>
        </member>
        <member name="M:Sandbox.SaveSystem.GetMetadata(System.String,System.String)">
            <summary>
            Get a metadata value from the current session, falling back to a default value.
            </summary>
        </member>
        <member name="M:Sandbox.SaveSystem.GetAllMetadata">
            <summary>
            Get a copy of all metadata for the current session.
            </summary>
        </member>
        <member name="M:Sandbox.SaveSystem.GetFileMetadata(System.String)">
            <summary>
            Read metadata from a save file on disk without loading the full save.
            Returns null if the file doesn't exist or is invalid.
            </summary>
        </member>
        <member name="M:Sandbox.SaveSystem.GetFileSaveVersion(System.String)">
            <summary>
            Read the save format version from a save file without loading the full save.
            Returns 0 if the file doesn't exist, is invalid, or has no version field.
            </summary>
        </member>
        <member name="M:Sandbox.SaveSystem.Save(System.String)">
            <summary>
            Saves the current world to the given path. This means any changes made to the those original
            scenes are preserved when loading an older save.
            </summary>
            <returns>True if the save was successful.</returns>
        </member>
        <member name="M:Sandbox.SaveSystem.Load(System.String)">
            <summary>
            Load a previously saved game state from a file, applying the differences to the original scene file(s) to reconstruct the saved scene.
            </summary>
            <returns>True if the load was successful.</returns>
        </member>
        <member name="M:Sandbox.SaveSystem.BuildCompositeBaseline">
            <summary>
            This builds a baseline JSON from all the loaded scene files that we've tracked in BeforeLoad.
            The final scene gets diffed against this.
            </summary>
        </member>
        <member name="M:Sandbox.SaveSystem.BuildCompositeBaselineFromFiles(System.Collections.Generic.List{Sandbox.SceneFile},System.Guid)">
            <summary>
            Builds a composite baseline JSON from a list of scene files by merging
            all their GameObjects into a single root node.
            </summary>
            <param name="sceneFiles">The scene files to merge.</param>
            <param name="rootId">The GUID to use for the root node. Match the scene's root ID to make sure diffs dont get fucked.</param>
        </member>
        <member name="M:Sandbox.SaveSystem.BuildCurrentSceneJson(Sandbox.Scene)">
            <summary>
            Serializes the current live scene as a JSON object in the same format as <see cref="M:Sandbox.SaveSystem.BuildCompositeBaseline"/> so the two can be diffed.
            </summary>
        </member>
        <member name="M:Sandbox.SaveSystem.SerializeScenePropertyDiffs(Sandbox.Scene,Sandbox.SceneFile)">
            <summary>
            Get any changes made to scene-level properties (like gravity, nav mesh settings, etc)
            </summary>
        </member>
        <member name="M:Sandbox.SaveSystem.CollectNetworkOwnership(Sandbox.Scene)">
            <summary>
            Snapshots network ownership for all owned GameObjects in the scene, storing the owner's SteamID.
            </summary>
        </member>
        <member name="M:Sandbox.SaveSystem.RestoreNetworkOwnership(Sandbox.Scene,System.Text.Json.Nodes.JsonObject)">
            <summary>
            Restores network ownership by matching saved SteamIDs to connected players.
            </summary>
        </member>
        <member name="M:Sandbox.SaveSystem.CollectSyncState(Sandbox.Scene)">
            <summary>
            Collects all [Sync]-only property values from every component in the scene, so the networked state can be restored
            </summary>
        </member>
        <member name="M:Sandbox.SaveSystem.RestoreSyncState(Sandbox.Scene,System.Text.Json.Nodes.JsonObject)">
            <summary>
            Restore the [Sync]-only properties
            </summary>
        </member>
        <member name="M:Sandbox.SaveSystem.BroadcastShowLoadingScreen">
            <summary>
            Tells all clients to show the loading screen immediately, before Scene.Load() fires.
            </summary>
        </member>
        <member name="M:Sandbox.SaveSystem.BuildPatchedSceneFile(Sandbox.SceneFile,System.Text.Json.Nodes.JsonObject,System.Text.Json.Nodes.JsonNode)">
            <summary>
            Constructs a <see cref="T:Sandbox.SceneFile"/> from the patched JSON data so we can load it just like any other scene
            </summary>
        </member>
        <member name="T:Sandbox.ChatBox">
            <summary>
            The chat UI. The platform handles sending, validation and delivery, this only shows the messages it reports through <see cref="T:Sandbox.IChatEvent"/>
            </summary>
        </member>
        <member name="F:Sandbox.ChatBox.MaxEntries">
            <summary>
            Messages kept in the history
            </summary>
        </member>
        <member name="F:Sandbox.ChatBox.SlideOutTime">
            <summary>
            Slideout speed, make sure to keep this inline with ChatBox scss
            </summary>
        </member>
        <member name="M:Sandbox.ChatBox.AddSystem(System.String,System.Nullable{Color})">
            <summary>
            Shows a message with no sender on this client only, optionally in a colour of its own. It doesn't go through the platform, so other players don't see it.
            </summary>
        </member>
        <member name="M:Sandbox.ChatBox.Open">
            <summary>
            Opens the box for typing
            </summary>
        </member>
        <member name="M:Sandbox.ChatBox.Close">
            <summary>
            Closes the box without sending what was typed
            </summary>
        </member>
        <member name="T:Sandbox.ChatEntry">
            <summary>
            Chat message. Comes from the platform's <see cref="T:Sandbox.ChatMessageEvent"/>
            </summary>
        </member>
        <member name="F:Sandbox.ChatEntry.JoinedColor">
            <summary>
            Colour of the platform's "player joined" notice
            </summary>
        </member>
        <member name="F:Sandbox.ChatEntry.LeftColor">
            <summary>
            Colour of the platform's "player left" notice
            </summary>
        </member>
        <member name="P:Sandbox.ChatEntry.Name">
            <summary>
            The player's name, empty for <see cref="F:Sandbox.ChatEntryKind.System"/>
            </summary>
        </member>
        <member name="P:Sandbox.ChatEntry.SteamId">
            <summary>
            Whose avatar to show, zero for none
            </summary>
        </member>
        <member name="P:Sandbox.ChatEntry.TextColor">
            <summary>
            A system message's own cvolor
            </summary>
        </member>
        <member name="T:Sandbox.ChatLine">
            <summary>
            A single chat entry. Used twice per entry: in the chat box history, and in the list of recent
            messages shown while the box is closed, where it fades out on its own.
            </summary>
        </member>
        <member name="F:Sandbox.ChatLine.VisibleTime">
            <summary>
            How long a recent message stays fully visible
            </summary>
        </member>
        <member name="F:Sandbox.ChatLine.FadeTime">
            <summary>
            How long it then takes to fade out
            </summary>
        </member>
        <member name="T:Sandbox.UI.IMixedVirtualGridFullRow">
            <summary>
            Implemented by items that occupy a complete row in a <see cref="T:Sandbox.UI.MixedVirtualGrid"/>.
            </summary>
        </member>
        <member name="T:Sandbox.UI.MixedVirtualGrid">
            <summary>
            A virtual grid that mixes fixed-size tiles with full-width rows.
            </summary>
        </member>
        <member name="M:Sandbox.UI.MixedVirtualGrid.RecreateCells">
            <summary>
            Builds the cells again, for when they show more than their item, like the tile size.
            </summary>
        </member>
        <member name="M:Sandbox.UI.ClientInputControl.LanguageChanged">
            <summary>
            Refreshes composed binding and connection labels when the language changes.
            </summary>
        </member>
        <member name="F:Sandbox.UI.NoticePanel.SlideDuration">
            <summary>
            How long the slide in / slide out takes. You need to manually sync this timing with NoticePanel scss file!!
            </summary>
        </member>
        <member name="P:Sandbox.UI.NoticePanel.Duration">
            <summary>
            How long the notice lives for. Zero will make the notification stay visible until it is manually dismissed
            </summary>
        </member>
        <member name="P:Sandbox.UI.NoticePanel.Manual">
            <summary>
            If true, the notice won't be automatically dismissed. Call Dismiss() to remove it.
            </summary>
        </member>
        <member name="M:Sandbox.UI.NoticePanel.Dismiss">
            <summary>
            Dismiss a manual notice, causing it to slide out and be deleted.
            </summary>
        </member>
        <member name="T:Sandbox.UI.Notices">
            <summary>
            Displays transient HUD notices and delivers messages to individual players.
            </summary>
        </member>
        <member name="M:Sandbox.UI.Notices.SendLocalizedNotice(Sandbox.Connection,System.String,Color,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Single)">
            <summary>
            Sends a phrase and its parameters to a connection, resolving them in the recipient's language.
            Must be called from the host.
            </summary>
        </member>
        <member name="P:Sandbox.UI.Notices.Current">
            <summary>
            The notice display in the active scene.
            </summary>
        </member>
        <member name="F:Sandbox.UI.Notices.VoicesGap">
            <summary>
            Space between the list of who is talking and the notices above it
            </summary>
        </member>
        <member name="M:Sandbox.UI.Notices.AddNotice(System.String,System.Single)">
            <summary>
            Displays already formatted text without interpreting leading hashes as phrase references.
            </summary>
        </member>
        <member name="M:Sandbox.UI.Notices.AddNotice(System.String,Color,System.String,System.Single)">
            <summary>
            Displays an icon and already formatted text without interpreting leading hashes as phrase references.
            </summary>
        </member>
        <member name="F:Sandbox.UI.Notices.DefaultColor">
            <summary>
            The colour of a notice's icon, and its timer bar, unless it is given another
            </summary>
        </member>
        <member name="M:Sandbox.UI.Notices.AddNotice(System.String,System.String,System.Single)">
            <summary>
            Displays an icon in the default colour and already formatted text.
            </summary>
        </member>
        <member name="M:Sandbox.UI.Notices.Create(System.String,Color,System.String,System.Single)">
            <summary>
            Every notice is made here, so anything a notice can be configured with (icon, colour, duration) goes through this one place.
            </summary>
        </member>
        <member name="M:Sandbox.UI.Notices.SendNotice(Sandbox.Connection,System.String,Color,System.String,System.Single)">
            <summary>
            Send a notice to a specific connection. Must be called from the host.
            </summary>
        </member>
        <member name="M:Sandbox.UI.Scoreboard.BuildHash">
            <summary>
            update every second
            </summary>
        </member>
        <member name="T:Sandbox.ComponentHandle">
            <summary>
            This component has a kill icon that can be used in the killfeed, or somewhere else.
            </summary>
        </member>
        <member name="T:Sandbox.InspectorEditorAttribute">
            <summary>
            Put this on a panel implementing <see cref="T:Sandbox.IInspectorEditor"/> to register it with the inspector.
            </summary>
        </member>
        <member name="T:Sandbox.DragData">
            <summary>
            Data being dragged. Carries enough info for both the visual and the drop action.
            </summary>
        </member>
        <member name="P:Sandbox.DragData.Type">
            <summary>
            The spawner type, e.g. "prop", "entity", "dupe".
            </summary>
        </member>
        <member name="P:Sandbox.DragData.Path">
            <summary>
            The cloud ident or resource path.
            </summary>
        </member>
        <member name="P:Sandbox.DragData.Icon">
            <summary>
            The icon URL to display while dragging.
            </summary>
        </member>
        <member name="P:Sandbox.DragData.Title">
            <summary>
            Optional display title.
            </summary>
        </member>
        <member name="P:Sandbox.DragData.Source">
            <summary>
            The panel that initiated the drag, so we can ignore it as a drop target.
            </summary>
        </member>
        <member name="P:Sandbox.DragData.SpawnlistItemId">
            <summary>
            Stable spawnlist entry ID when reordering an editable spawnlist.
            </summary>
        </member>
        <member name="P:Sandbox.DragData.Handled">
            <summary>
            Set to true when a drop target has already handled this drag (e.g. slot-to-slot swap),
            so the source panel's OnDragEnd can skip secondary actions like dropping to the world.
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:Sandbox.HudCanvas" -->
        <member name="P:Sandbox.HudCanvas.Layer">
            <summary>
            The component that owns the effect settings
            </summary>
        </member>
        <member name="F:Sandbox.HudCanvas._regions">
            <summary>
            Screen rects the sections draw into this frame. Empty means there is nothing to paint
            </summary>
        </member>
        <member name="P:Sandbox.HudCanvas.PixelSize">
            <summary>
            Canvas size in whole pixels, which is what the paint target is created with
            </summary>
        </member>
        <member name="M:Sandbox.HudCanvas.Section``1(System.Boolean)">
            <summary>
            The section of type <typeparamref name="T"/>, added on first use unless <paramref name="create"/> is false (then null if there is none)
            </summary>
        </member>
        <member name="T:Sandbox.HudSection">
            <summary>
            One part of the HUD (vitals, weapon buckets etc) painted into the shared HudCanvas
            </summary>
        </member>
        <member name="P:Sandbox.HudSection.Order">
            <summary>
            Paint order, lowest first
            </summary>
        </member>
        <member name="M:Sandbox.HudSection.Paint(Sandbox.Painter)">
            <summary>
            Paint this section
            </summary>
        </member>
        <member name="M:Sandbox.HudSection.GetCompositeRegions(System.Collections.Generic.List{Sandbox.Rect})">
            <summary>
            Screen rects the composite shader runs over. Everything painted (plus its glow) must sit inside them.
            </summary>
        </member>
        <member name="T:Sandbox.HudStyle">
            <summary>
            The look of the HUD (font, colours, panels, HDR glow), shared by the HUD sections and the weapon screens
            </summary>
        </member>
        <member name="F:Sandbox.HudStyle.PanelColor">
            <summary>
            Background colour of HUD panels
            </summary>
        </member>
        <member name="F:Sandbox.HudStyle.TitleColor">
            <summary>
            Small captions like HEALTH and AMMO
            </summary>
        </member>
        <member name="M:Sandbox.HudStyle.Brightened(Color,System.Single)">
            <summary>
            Scales the colour, leaving its alpha alone. A gain past 1 goes over 1 for HDR glow, below 1 darkens.
            </summary>
        </member>
        <member name="M:Sandbox.HudStyle.DrawPanel(Sandbox.Painter,Sandbox.Rect,Color,System.Single)">
            <summary>
            A flat panel with rounded corners
            </summary>
        </member>
        <member name="T:Sandbox.HudStyle.Look">
            <summary>
            The HUD's tint and HDR gains, for things painted outside the HUD canvas like the weapon screens
            </summary>
        </member>
        <member name="M:Sandbox.HudStyle.Look.#ctor(Color,System.Single,System.Single)">
            <summary>
            The HUD's tint and HDR gains, for things painted outside the HUD canvas like the weapon screens
            </summary>
        </member>
        <member name="M:Sandbox.HudStyle.Look.Text(Color)">
            <summary>
            Tinted text at the regular HUD brightness
            </summary>
        </member>
        <member name="M:Sandbox.HudStyle.Look.Glow(Color)">
            <summary>
            Tinted and pushed into HDR like the HUD digits, so it glows
            </summary>
        </member>
        <member name="T:Sandbox.IKeepsMenuOpen">
            <summary>
            Add this to a popup panel so it can keep spawn menu up for as long as the popup exists.
            </summary>
        </member>
        <member name="P:Sandbox.IKeepsMenuOpen.KeepsMenuOpen">
            <summary>
            Whether the menu is held up right now. Set it to false to let the menu close as usual, for example while the popup is only hovered.
            </summary>
        </member>
        <member name="T:Sandbox.InventorySection">
            <summary>
            Paints the weapon buckets at the top of the screen
            </summary>
        </member>
        <member name="P:Sandbox.InventorySection.Open">
            <summary>
            Should the menu be open right now?
            </summary>
        </member>
        <member name="M:Sandbox.InventorySection.ColumnWidth(System.Int32,System.Single)">
            <summary>
            Collapsed columns are small squares, the selected one grows to 2:1 as it expands
            </summary>
        </member>
        <member name="M:Sandbox.InventorySection.UpdateLayout">
            <summary>
            Works out where the menu sits this frame, so the composite regions are known before anything is painted.
            Leaves <see cref="F:Sandbox.InventorySection._menuRect"/> empty while the menu is not visible
            </summary>
        </member>
        <member name="M:Sandbox.InventorySection.DrawBar(Sandbox.Painter,Sandbox.Rect,System.Single)">
            <summary>
            A collapsed child slot: just a flat bar, CollapsedHeight tall.
            </summary>
        </member>
        <member name="M:Sandbox.InventorySection.NameLabel(BaseSandboxWeapon)">
            <summary>
            Cached uppercase display name for the inventory weapon
            </summary>
        </member>
        <member name="F:Sandbox.BaseSpawnMenu.roots">
            <summary>
            Top level options and headers.
            </summary>
        </member>
        <member name="F:Sandbox.BaseSpawnMenu.currentHeader">
            <summary>
            The header new options are added under, or null for the root.
            </summary>
        </member>
        <member name="F:Sandbox.BaseSpawnMenu.knownHeaders">
            <summary>
            Headers we've opened once already. New headers start open, after that the tree remembers.
            </summary>
        </member>
        <member name="M:Sandbox.BaseSpawnMenu.AddHeader(System.String,System.String)">
            <summary>
            Start a collapsible section. Options added after this go inside it.
            </summary>
        </member>
        <member name="P:Sandbox.BaseSpawnMenu.SpawnMenuOption.Tokenize">
            <summary>
            Whether the name is allowed to reference a localization phrase.
            Disable this for user-authored entries.
            </summary>
        </member>
        <member name="P:Sandbox.BaseSpawnMenu.SpawnMenuOption.Key">
            <summary>
            Identifies this option across rebuilds, so the tree keeps it open and selected.
            Defaults to the name - set it when names can repeat, like folders.
            </summary>
        </member>
        <member name="P:Sandbox.BaseSpawnMenu.SpawnMenuOption.LoadChildren">
            <summary>
            Makes the children the first time the option is opened, for trees too big to build up front.
            </summary>
        </member>
        <member name="P:Sandbox.BaseSpawnMenu.SpawnMenuOption.HasChildren">
            <summary>
            Whether this can be opened, without loading the children to find out.
            </summary>
        </member>
        <member name="T:Sandbox.BaseSpawnMenu.OptionComparer">
            <summary>
            Options are recreated on every rebuild. Match them by key so open ones stay open.
            </summary>
        </member>
        <member name="T:Sandbox.EntityListCloud">
            <summary>
            Local scripted entities followed by cloud entity packages.
            </summary>
        </member>
        <member name="T:Sandbox.SpawnPageCloud">
            <summary>
            Local props followed by cloud model packages.
            </summary>
        </member>
        <member name="T:Sandbox.SpawnlistCollection">
            <summary>
            Class that handles all the spawnlist data fetching and workshop fetching so it's not a huge mess everywhere.
            </summary>
        </member>
        <member name="P:Sandbox.SpawnlistCollection.OnChanged">
            <summary>
            Raised whenever the visible entry list changes.
            </summary>
        </member>
        <member name="P:Sandbox.SpawnlistCollection.OnInstalled">
            <summary>
            Raised after a workshop install, with the installed entry name.
            </summary>
        </member>
        <member name="E:Sandbox.SpawnlistCollection.Uninstalled">
            <summary>
            Raised after an uninstall.
            </summary>
        </member>
        <member name="P:Sandbox.SpawnlistCollection.PendingCount">
            <summary>
            Number of cookie-tracked workshop entries not yet resolved from storage or the cloud.
            Non-zero while the initial cloud fetch is in progress.
            </summary>
        </member>
        <member name="M:Sandbox.SpawnlistCollection.Refresh">
            <summary>
            Rebuilds the visible list and triggers a cloud re-fetch.
            </summary>
        </member>
        <member name="M:Sandbox.SpawnlistCollection.InstallAsync(Sandbox.Storage.QueryItem)">
            <summary>
            Install a workshop item, persist its ID to cookie, and refresh.
            </summary>
        </member>
        <member name="M:Sandbox.SpawnlistCollection.Uninstall(System.UInt64)">
            <summary>
            Uninstall a workshop-installed entry: remove from cookie, cloud list, and rebuild.
            </summary>
        </member>
        <member name="M:Sandbox.SpawnlistCollection.Delete(Sandbox.Storage.Entry)">
            <summary>
            Delete a locally editable spawnlist and rebuild.
            </summary>
        </member>
        <member name="T:Sandbox.SpawnlistItem">
            <summary>
            A spawnlist item -- lots of cleanup needed, docs, etc
            </summary>
        </member>
        <member name="E:Sandbox.SpawnlistData.SpawnlistCreated">
            <summary>
            Raised whenever a new spawnlist is created, so UI can refresh without needing a panel ancestor walk.
            </summary>
        </member>
        <member name="P:Sandbox.SpawnlistData.Name">
            <summary>
            The literal name chosen by the author. Only the initial fallback is localized.
            </summary>
        </member>
        <member name="M:Sandbox.SpawnlistData.PromptCreate(Sandbox.UI.Panel,System.Action,System.Action{Sandbox.Storage.Entry},Sandbox.SpawnlistItem,System.String)">
            <summary>
            Asks for a name in a window over the menu, then makes the spawnlist.
            </summary>
            <param name="initialItem">An item the new list starts with.</param>
            <param name="name">What the name box starts with.</param>
        </member>
        <member name="M:Sandbox.SpawnlistData.ItemCountText(System.Int32)">
            <summary>
            "1 item" or "N items", in the player's language.
            </summary>
        </member>
        <member name="P:Sandbox.SpawnlistResource.Icon">
            <summary>
            Material icon shown next to the list in the spawn menu sidebar.
            </summary>
        </member>
        <member name="P:Sandbox.SpawnlistResource.RequiredMount">
            <summary>
            Mount required to see this list in the spawn menu. Leave empty for no requirement.
            </summary>
        </member>
        <member name="P:Sandbox.SpawnlistResource.Parent">
            <summary>
            Nests this list under another one in the spawn menu tree. Leave empty for a top level list.
            </summary>
        </member>
        <member name="P:Sandbox.SpawnlistResource.Order">
            <summary>
            Lists are sorted by this, then by title.
            </summary>
        </member>
        <member name="P:Sandbox.SpawnlistResource.Entry.Ident">
            <summary>
            A raw spawn ident, for anything that isn't a local model or entity,
            e.g. <c>prop:facepunch.wooden_crate</c>. Used when no model or entity is set.
            </summary>
        </member>
        <member name="P:Sandbox.SpawnlistResource.Entry.Title">
            <summary>
            Item label, or the section heading for a title row.
            </summary>
        </member>
        <member name="P:Sandbox.SpawnlistResource.Entry.Icon">
            <summary>
            Optional thumbnail override. Defaults to the content's own thumbnail.
            </summary>
        </member>
        <member name="P:Sandbox.SpawnlistResource.DisplayName">
            <summary>
            The title in the player's language. Titles can be <c>#phrase</c> references.
            </summary>
        </member>
        <member name="M:Sandbox.SpawnlistResource.ToData">
            <summary>
            The resource in the shape the spawnlist view draws. Items get stable ids
            from their position so the view can tell when the resource changes.
            </summary>
        </member>
        <member name="M:Sandbox.SpawnlistResource.GetVisible">
            <summary>
            Every authored spawnlist the player should see, in display order.
            </summary>
        </member>
        <member name="T:Sandbox.SpawnlistsPage">
            <summary>
            Shared spawnlist support for spawn menu pages.
            </summary>
        </member>
        <member name="M:Sandbox.SpawnlistsPage.RefreshList">
            <summary>Refresh after external changes (create, etc.).</summary>
        </member>
        <member name="T:Sandbox.SpawnMenuIconSize">
            <summary>
            How big tiles are in spawn menu grids.
            </summary>
        </member>
        <member name="F:Sandbox.SpawnMenuIconSize.Small">
            <summary>
            Compact tiles with an icon only.
            </summary>
        </member>
        <member name="F:Sandbox.SpawnMenuIconSize.Medium">
            <summary>
            Standard tiles with an icon and title.
            </summary>
        </member>
        <member name="F:Sandbox.SpawnMenuIconSize.Large">
            <summary>
            Large tiles with an icon and title.
            </summary>
        </member>
        <member name="P:Sandbox.SpawnMenuIconSizeExtensions.Current">
            <summary>
            The user's chosen tile size, persisted between sessions.
            </summary>
        </member>
        <member name="M:Sandbox.SpawnMenuIconSizeExtensions.ItemSize(Sandbox.SpawnMenuIconSize)">
            <summary>
            Cell size to give a <see cref="T:Sandbox.UI.VirtualGrid"/> for this tile size.
            </summary>
        </member>
        <member name="M:Sandbox.SpawnMenuIconSizeExtensions.CssClass(Sandbox.SpawnMenuIconSize)">
            <summary>
            CSS class to put on the grid so tiles can adapt their text to the size.
            </summary>
        </member>
        <member name="M:Sandbox.SpawnMenuIconSizeExtensions.Icon(Sandbox.SpawnMenuIconSize)">
            <summary>
            Material icon representing this size in the toolbar and its menu.
            </summary>
        </member>
        <member name="M:Sandbox.SpawnMenuIconSizeExtensions.OpenMenu(Sandbox.UI.Panel,System.Action{Sandbox.SpawnMenuIconSize})">
            <summary>
            Open the menu that picks a tile size, under the mouse.
            </summary>
        </member>
        <member name="P:Sandbox.IToolInfo.Hints">
            <summary>
            The key hints to show, in order.
            </summary>
        </member>
        <member name="T:Sandbox.ToolHint">
            <summary>
            What pressing <paramref name="Actions"/> together does.
            </summary>
        </member>
        <member name="M:Sandbox.ToolHint.#ctor(System.String,System.String[])">
            <summary>
            What pressing <paramref name="Actions"/> together does.
            </summary>
        </member>
        <member name="T:Sandbox.VehicleDebugSection">
            <summary>
            The vehicle tuning readout, painted into the HUD canvas: gear, speed, rpm, inputs and a per-wheel breakdown of
            suspension, slip and grip. Fed by <see cref="T:FourWheelVehicle"/> while <c>vehicle_debug</c> is on.
            </summary>
        </member>
        <member name="F:Sandbox.VehicleDebugSection.WheelReadout.Height">
            <summary>
            Wheel centre above its hard point, inches, and the most it goes either way.
            </summary>
        </member>
        <member name="F:Sandbox.VehicleDebugSection.WheelReadout.Sliding">
            <summary>
            Asking for more grip than the tyre has.
            </summary>
        </member>
        <member name="T:Sandbox.VitalsSection">
            <summary>
            Paints the health, armour and ammo HUD
            </summary>
        </member>
        <member name="P:Sandbox.VitalsSection.Settings">
            <summary>
            The component that owns the warning and flash settings
            </summary>
        </member>
        <member name="P:Sandbox.VitalsSection.BoxTop">
            <summary>
            Top edge of the health box on the canvas, so other HUD can sit above it. Zero until it has been painted.
            </summary>
        </member>
        <member name="M:Sandbox.VitalsSection.StatTop(Sandbox.Painter,System.String,System.Single,System.Single)">
            <summary>
            Where the title of a counter whose digits end at <paramref name="bottom"/> starts
            </summary>
        </member>
        <member name="M:Sandbox.VitalsSection.DrawStat(Sandbox.Painter,System.String,Sandbox.VitalsSection.DigitCounter,System.Int32,System.Int32,System.Single,System.Single,System.Single,System.Single,System.Single,System.Nullable{System.Single})">
            <summary>
            Paints a counter, and when <paramref name="boxBottom"/> is given a box around it. Returns how wide the counter is.
            </summary>
        </member>
        <member name="M:Sandbox.VitalsSection.DrawClipBar(Sandbox.Painter,Sandbox.Rect,System.Int32,System.Int32,System.Single)">
            <summary>
            One segment per round, capped at <see cref="F:Sandbox.VitalsSection.MaxClipSegments"/>. Past the cap each segment covers a share
            of the clip and fills by remaining fraction, rounded up so the last one stays lit until the clip is empty
            </summary>
        </member>
        <member name="M:Sandbox.VitalsSection.DrawShade(Sandbox.Painter,Vector2,System.Single)">
            <summary>
            Radial darkening centred on a screen corner (todo: make it optional?)
            </summary>
        </member>
        <member name="T:Sandbox.VitalsSection.DigitCounter">
            <summary>
            Digit slots for one counter, each with one of the background variants picked randomly per digit
            </summary>
        </member>
        <member name="M:Sandbox.VitalsSection.DigitCounter.Glyph(System.Int32)">
            <summary>
            The digit shown in slot <paramref name="i"/>, or null if the slot is blank
            </summary>
        </member>
        <member name="T:Sandbox.VitalsSection.IntText">
            <summary>
            Formats an int once per change instead of every frame
            </summary>
        </member>
        <member name="T:Sandbox.UIActionProperty">
            <summary>
            A button for a <see cref="T:Sandbox.UISheet"/> that is made while the game runs
            </summary>
        </member>
        <member name="P:Sandbox.UIActionProperty.Enabled">
            <summary>
            The button can be pressed while this says true. Always, when not set.
            </summary>
        </member>
        <member name="M:Sandbox.UIActionProperty.#ctor(System.String,System.String,System.Action,System.Int32,System.Boolean,System.Boolean)">
            <param name="title">What the button says, can be a localization token.</param>
            <param name="order">Where it goes among the other properties of the sheet.</param>
        </member>
        <member name="T:Sandbox.UIButton">
            <summary>
            UI button. A <see cref="T:Sandbox.UISheet"/> uses it for methods marked with [Button], and [EnabledIf] decides when they can be pressed.
            </summary>
        </member>
        <member name="P:Sandbox.UIButton.Method">
            <summary>
            The method this runs when pressed, set by a sheet. It takes the title and icon from [Button], or the name of the method.
            </summary>
        </member>
        <member name="T:Sandbox.UIColor">
            <summary>
            Property for a color swatch and hex value, clicking on it open a color picker
            </summary>
        </member>
        <member name="T:Sandbox.UIDropdown.Item">
            <summary>
            One entry of the list. The label can be a localization token, and is drawn in <paramref name="Font"/> when one is given.
            </summary>
        </member>
        <member name="M:Sandbox.UIDropdown.Item.#ctor(System.String,System.Object,System.String)">
            <summary>
            One entry of the list. The label can be a localization token, and is drawn in <paramref name="Font"/> when one is given.
            </summary>
        </member>
        <member name="M:Sandbox.UIDropdown.ForEnum``1">
            <summary>
            An item for each value of an enum, named by its [Title].
            </summary>
        </member>
        <member name="P:Sandbox.UIDropdown.ValueChanged">
            <summary>
            Called with the <see cref="P:Sandbox.UIDropdown.Item.Value"/> that was picked.
            </summary>
        </member>
        <member name="P:Sandbox.UIDropdown.Tokenize">
            <summary>
            Whether the labels may be localization tokens.
            </summary>
        </member>
        <member name="P:Sandbox.UIDropdown.OpenPicker">
            <summary>
            Opens a custom picker instead of the item list when provided.
            </summary>
        </member>
        <member name="P:Sandbox.UIDropdown.Value">
            <summary>
            The picked value, shown in the box.
            </summary>
        </member>
        <member name="T:Sandbox.UIDropdownList">
            <summary>
            The list under an open <see cref="T:Sandbox.UIDropdown"/>. It's a popup, so it lives above the menu and closes by itself when something else is pressed.
            </summary>
        </member>
        <member name="T:Sandbox.UIEnumControl">
            <summary>
            An enum property. Two options are shown side by side as a segmented control, anything more as a <see cref="T:Sandbox.UIDropdown"/>.
            </summary>
        </member>
        <member name="T:Sandbox.UIFontControl">
            <summary>
            A string property marked [FontName], picked from <see cref="T:GameFonts"/>. Each one is shown in its own font.
            </summary>
        </member>
        <member name="T:Sandbox.UIHintLabel">
            <summary>
            A label with a <see cref="T:Sandbox.UIHintPanel"/> for a tooltip: its own text as the title and a
            description. Without a description there's no tooltip.
            </summary>
        </member>
        <member name="P:Sandbox.UIHintLabel.Hint">
            <summary>
            What the tooltip says under the name. Can be a localization token or carry markup.
            </summary>
        </member>
        <member name="T:Sandbox.UIModal">
            <summary>
            A small window with a title bar and a <see cref="T:Sandbox.UISheet"/> of whatever object you give it.
            </summary>
        </member>
        <member name="P:Sandbox.UIModal.Body">
            <summary>
            What goes under the title bar.
            </summary>
        </member>
        <member name="P:Sandbox.UIModal.OnSubmit">
            <summary>
            Called when Enter is pressed in one of its text boxes.
            </summary>
        </member>
        <member name="P:Sandbox.UIModal.OnClosed">
            <summary>
            Called after it closed, by any of the ways.
            </summary>
        </member>
        <member name="M:Sandbox.UIModal.Show(Sandbox.UI.Panel,System.String,System.Object)">
            <summary>
            Opens a window over the menu the panel is in. Only one stays open, a new one replaces it.
            </summary>
        </member>
        <member name="M:Sandbox.UIModal.Prompt(Sandbox.UI.Panel,System.String,System.String,System.Action{System.String},System.String,System.String,System.String,System.String)">
            <summary>
            A window with a text box and two buttons, for asking a name
            </summary>
            <param name="title">The title bar, can be a localization token.</param>
            <param name="value">What the text box starts with.</param>
            <param name="onConfirm">Called with the name when it is confirmed.</param>
            <param name="placeholder">What the empty text box says.</param>
            <param name="confirmText">What the confirm button says.</param>
            <param name="confirmIcon">The icon of the confirm button.</param>
            <param name="message">A line above the text box, rich text like <see cref="M:Sandbox.UIModal.Confirm(Sandbox.UI.Panel,System.String,System.String,System.Action,System.String,System.String)"/>'s.</param>
        </member>
        <member name="M:Sandbox.UIModal.Confirm(Sandbox.UI.Panel,System.String,System.String,System.Action,System.String,System.String)">
            <summary>
            A confirmation window with buttons underneath
            </summary>
            <param name="title">The title bar, can be a localization token.</param>
            <param name="message">The question, rich text, so &lt;b&gt; works. Escape names in it with <see cref="M:Sandbox.UIModal.Escape(System.String)"/>.</param>
            <param name="onConfirm">Called when it is confirmed.</param>
            <param name="confirmText">What the confirm button says.</param>
            <param name="cancelText">What the cancel button says, no cancel button when null.</param>
        </member>
        <member name="M:Sandbox.UIModal.Escape(System.String)">
            <summary>
            Makes text safe to put in the rich message of <see cref="M:Sandbox.UIModal.Confirm(Sandbox.UI.Panel,System.String,System.String,System.Action,System.String,System.String)"/>
            </summary>
        </member>
        <member name="T:Sandbox.UIModalLayer">
            <summary>
            Centers a <see cref="T:Sandbox.UIModal"/> over the HUD when it isn't opened from the menu. Goes away with its last modal.
            </summary>
        </member>
        <member name="T:Sandbox.UIResourceGrid">
            <summary>
            A resource property that shows all available options in a grid
            </summary>
        </member>
        <member name="M:Sandbox.UIResourceGrid.FitCells">
            <summary>
            Make sure all cells fit in grid space properly regardless of screen resolution
            </summary>
        </member>
        <member name="T:Sandbox.UIResourceGrid.Cell">
            <summary>
            One pickable resource
            </summary>
        </member>
        <member name="T:Sandbox.UISeparator">
            <summary>
            A thin horizontal line between parts of a panel. A sheet makes one for <see cref="T:Sandbox.SeparatorAttribute"/>.
            </summary>
        </member>
        <member name="P:Sandbox.UISheet.Target">
            <summary>
            The object whose properties we show, or a list of already serialized properties.
            </summary>
        </member>
        <member name="P:Sandbox.UISheet.PropertyFilter">
            <summary>
            Decides which properties get a row. All of them when not set, <see cref="M:Sandbox.UISheet.PropertiesAndButtons(Sandbox.SerializedProperty)"/> is the usual choice.
            </summary>
        </member>
        <member name="M:Sandbox.UISheet.PropertiesAndButtons(Sandbox.SerializedProperty)">
            <summary>
            A filter for <see cref="P:Sandbox.UISheet.PropertyFilter"/>: members marked [Property] and methods marked [Button], without delegates.
            </summary>
        </member>
        <member name="M:Sandbox.UISheet.Rebuild">
            <summary>
            Throws the rows away and makes them again from the target.
            </summary>
        </member>
        <member name="T:Sandbox.UISheetGroup">
            <summary>
            A titled run of rows. A toggle group has a checkbox in its title that shows and hides the rows.
            </summary>
        </member>
        <member name="T:Sandbox.UISheetRow">
            <summary>
            One property, its name on the left and its control on the right, wide controls like the resource grid go under the name instead.
            A button has no name and takes the row, and the buttons that follow with [SameLine] share it.
            </summary>
        </member>
        <member name="M:Sandbox.UISheetRow.AddToRow(Sandbox.SerializedProperty)">
            <summary>
            Another property on the same row, after the ones already there.
            </summary>
        </member>
        <member name="M:Sandbox.UISheetRow.IsHidden(Sandbox.InspectorVisibilityAttribute[],Sandbox.SerializedObject)">
            <summary>
            Whether every one of the conditions says to hide.
            </summary>
        </member>
        <member name="M:Sandbox.UISheetRow.CreateControl(Sandbox.SerializedProperty,System.Boolean@)">
            <summary>
            Pick the control for a property. Anything we don't have a Sandbox one for gets the engine's.
            </summary>
        </member>
        <member name="T:Sandbox.SeparatorAttribute">
            <summary>
            Draws a thin line above this property or button in a <see cref="T:Sandbox.UISheet"/>.
            </summary>
        </member>
        <member name="T:Sandbox.SameLineAttribute">
            <summary>
            Puts this property or button in the same row as the one above it, buttons share the row evenly.
            </summary>
        </member>
        <member name="T:Sandbox.HideLabelAttribute">
            <summary>
            Leaves out the name on the left of a property in a <see cref="T:Sandbox.UISheet"/>, its control takes the whole row.
            </summary>
        </member>
        <member name="T:Sandbox.EnabledIfAttribute">
            <summary>
            A button or property in a <see cref="T:Sandbox.UISheet"/> only works while a property of the same object has this value, otherwise it shows greyed out.
            </summary>
        </member>
        <member name="T:Sandbox.UISlider">
            <summary>
            A number with a range
            </summary>
        </member>
        <member name="P:Sandbox.UISlider.Min">
            <summary>
            The left end of the bar. Set from the property's [Range] when there is one.
            </summary>
        </member>
        <member name="P:Sandbox.UISlider.Max">
            <summary>
            The right end of the bar. Set from the property's [Range] when there is one.
            </summary>
        </member>
        <member name="P:Sandbox.UISlider.Step">
            <summary>
            Values snap to this, and it's marked under the bar - coarsened to a round multiple when there
            would be too many marks. 0 for none, which marks tenths of the range instead.
            </summary>
        </member>
        <member name="P:Sandbox.UISlider.OnValueChanged">
            <summary>
            Called with the new value when the user changes it.
            </summary>
        </member>
        <member name="P:Sandbox.UISlider.Value">
            <summary>
            The number the slider shows. With a property it reads and writes that, without one it
            keeps the number itself - so the slider can be used anywhere
            </summary>
        </member>
        <member name="M:Sandbox.UISlider.SetFromUser(System.Single)">
            <summary>
            Sets the value from the user's input, so <see cref="P:Sandbox.UISlider.OnValueChanged"/> hears of it.
            </summary>
        </member>
        <member name="M:Sandbox.UISlider.TickInterval(System.Single)">
            <summary>
            The step, or a tenth of the range without one, grown by 2/5/10-style multiples until it
            marks at most <see cref="F:Sandbox.UISlider.MaxStepTicks"/> divisions.
            </summary>
        </member>
        <member name="T:Sandbox.UIVector">
            <summary>
            A Vector2, Vector3 or Vector4 property, a number box for each axis with the axis letter in front of it.
            </summary>
        </member>
        <member name="M:Sandbox.UIVector.Supports(System.Type)">
            <summary>
            Whether we have a control for this type.
            </summary>
        </member>
        <member name="T:Sandbox.UIVectorAxis">
            <summary>
            One axis of a <see cref="T:Sandbox.UIVector"/>.
            </summary>
        </member>
        <member name="F:Sandbox.Hud.StackGap">
            <summary>
            Space kept between the vitals and the HUD stacked above them (chat, notices, the voice list)
            </summary>
        </member>
        <member name="M:Sandbox.Hud.IsVisible(HudElement)">
            <summary>
            True if none of the given elements are hidden. HUD panels call this before drawing. The answer
            comes from every <see cref="T:IHudEvents"/> listener in the scene, asked once per frame.
            </summary>
        </member>
        <member name="T:Sandbox.WorkshopPager`1">
            <summary>
            Loads a workshop query one page at a time. Restarting it drops pages of the old query that are still on their way.
            </summary>
        </member>
        <member name="P:Sandbox.WorkshopPager`1.Started">
            <summary>
            Whether the first page has been asked for yet.
            </summary>
        </member>
        <member name="M:Sandbox.WorkshopPager`1.#ctor(System.Func{Sandbox.Storage.Query},System.Func{Sandbox.Storage.QueryItem,`0},System.Action)">
            <param name="createQuery">Builds the query for the first page.</param>
            <param name="select">Turns a result into what <see cref="P:Sandbox.WorkshopPager`1.Items"/> holds.</param>
            <param name="changed">Called when <see cref="P:Sandbox.WorkshopPager`1.Items"/> or <see cref="P:Sandbox.WorkshopPager`1.Loading"/> change.</param>
        </member>
        <member name="M:Sandbox.WorkshopPager`1.LoadMore">
            <summary>
            The next page, one at a time.
            </summary>
        </member>
        <member name="T:Sandbox.CloudSpawnList.Entry">
            <summary>
            A single tile in the grid, whether it came from disk or from the cloud.
            </summary>
        </member>
        <member name="M:Sandbox.CloudSpawnList.Entry.#ctor(System.String,System.String,System.Boolean,System.Boolean)">
            <summary>
            A single tile in the grid, whether it came from disk or from the cloud.
            </summary>
        </member>
        <member name="M:Sandbox.CloudSpawnList.LanguageChanged">
            <summary>
            Reapplies searches and sorting to the translated names of local entries.
            </summary>
        </member>
        <member name="P:Sandbox.CloudSpawnList.PackageType">
            <summary>
            Value of the "type:" term in the package search, e.g. "sent" or "model".
            </summary>
        </member>
        <member name="P:Sandbox.CloudSpawnList.PackageQuery">
            <summary>
            Extra terms appended to the package search.
            </summary>
        </member>
        <member name="P:Sandbox.CloudSpawnList.EmptyTitle">
            <summary>
            Title shown when nothing matched. Null uses the empty state's default.
            </summary>
        </member>
        <member name="M:Sandbox.CloudSpawnList.PackageIdent(Sandbox.Package)">
            <summary>
            Build the spawn ident for a cloud package.
            </summary>
        </member>
        <member name="M:Sandbox.CloudSpawnList.FindLocalEntries">
            <summary>
            Local entries shown ahead of cloud results in Popular mode, otherwise after them.
            Should respect <see cref="P:Sandbox.CloudSpawnList.Filter"/>.
            </summary>
        </member>
        <member name="M:Sandbox.ContextMenuHost.BuildMenuBar">
            <summary>
            The strip of settings along the top, like Garry's Mod's context menu bar. Its menus come from <see cref="T:IMenuBarEvent"/>.
            </summary>
        </member>
        <member name="P:Sandbox.DragHandler.Current">
            <summary>
            The data currently being dragged, or null.
            </summary>
        </member>
        <member name="P:Sandbox.DragHandler.IsDragging">
            <summary>
            True if something is actively being dragged.
            </summary>
        </member>
        <member name="M:Sandbox.DragHandler.StartDragging(Sandbox.DragData)">
            <summary>
            Start dragging with the given data.
            </summary>
        </member>
        <member name="M:Sandbox.DragHandler.StopDragging">
            <summary>
            Stop dragging and clear all state.
            </summary>
        </member>
        <member name="P:Sandbox.DresserEditor.Title">
            <summary>
            Localized title of the clothing inspector.
            </summary>
        </member>
        <member name="T:Sandbox.EffectsList.EffectsSource">
            <summary>
            Where the listed effects come from.
            </summary>
        </member>
        <member name="M:Sandbox.EffectsList.LanguageChanged">
            <summary>
            Sorts installed effects by their translated names after a language change.
            </summary>
        </member>
        <member name="P:Sandbox.FacePoseEditor.Title">
            <summary>
            Localized title of the face pose inspector.
            </summary>
        </member>
        <member name="P:Sandbox.GameObjectInspector.Title">
            <summary>
            Localized inspector title including any additional selected objects.
            </summary>
        </member>
        <member name="M:Sandbox.GameResourceControl.Rebuild">
            <summary>
            Refreshes the displayed resource type and current selection.
            </summary>
        </member>
        <member name="M:Sandbox.GameResourceControl.OnValueChanged">
            <summary>
            Updates the preview and display title when the selected resource changes.
            </summary>
        </member>
        <member name="F:Sandbox.HudLayer.DefaultTint">
            <summary>
            The HUD colour when nothing has set one, also what the HUD panels fall back to without a layer
            </summary>
        </member>
        <member name="P:Sandbox.HudLayer.Tint">
            <summary>
            Colour multiplied into every HUD element
            </summary>
        </member>
        <member name="P:Sandbox.HudLayer.DigitExponent">
            <summary>
            HDR color exponent for highlighted HUD elements like digits or selected hotbar slots
            </summary>
        </member>
        <member name="P:Sandbox.HudLayer.TextExponent">
            <summary>
            HDR color exponent for regular HUD text
            </summary>
        </member>
        <member name="P:Sandbox.HudLayer.DigitGain">
            <summary>
            HDR multipliers from <see cref="P:Sandbox.HudLayer.DigitExponent"/> and <see cref="P:Sandbox.HudLayer.TextExponent"/>
            </summary>
        </member>
        <member name="P:Sandbox.HudLayer.ScanlinePeriod">
            <summary>
            Scanline frequency in pixels
            </summary>
        </member>
        <member name="M:Sandbox.HudLayer.Find(Sandbox.Component,System.Boolean)">
            <summary>
            The scene's HUD layer. With <paramref name="create"/> it is added next to the screen panel <paramref name="from"/> lives under if there isn't one yet
            </summary>
        </member>
        <member name="M:Sandbox.HudLayer.FindSection``1(Sandbox.Component,``0)">
            <summary>
            A section of the scene's HUD layer. Hand back the previous result to skip the scene lookup while its canvas is still alive
            </summary>
        </member>
        <member name="T:Sandbox.InspectWindow.Tab">
            <summary>
            Puts a panel in the window at the top left of the inspect menu, under a tab of its own, can be implemented this way:
            <code>
            [InspectWindow.Tab, Title( "My Tab" ), Order( 300 )]
            public class MyTab : Panel { }
            </code>
            Tabs are sorted by [Order], then by title.
            </summary>
        </member>
        <member name="T:Sandbox.InspectWindow.Tab`1">
            <summary>
            A tab that only shows while <typeparamref name="T"/> says so, like <see cref="T:Sandbox.SpawnMenuHost.HostOnly"/>.
            </summary>
        </member>
        <member name="M:Sandbox.InspectWindow.ScanTabs">
            <summary>
            Makes a panel for every tab type and drops the ones whose type is gone
            </summary>
        </member>
        <member name="P:Sandbox.Inventory.SelectionTimeout">
            <summary>
            Seconds after the last selection change before the menu closes on its own, keeping the current weapon
            </summary>
        </member>
        <member name="M:Sandbox.Inventory.HandleScrollInput">
            <summary>
            The scroll wheel steps the selection. Runs after the weapon's update, so a weapon that uses the wheel
            (physgun distance, wire tool ports) clears Input.MouseWheel first and nothing reaches the menu
            </summary>
        </member>
        <member name="M:Sandbox.Inventory.SelectBucket(System.Int32)">
            <summary>
            Pressing a bucket's key opens it on its first weapon (or the one after the held weapon), pressing it again steps through the bucket
            </summary>
        </member>
        <member name="M:Sandbox.Inventory.Step(System.Int32)">
            <summary>
            The wheel steps through every weapon across all buckets
            </summary>
        </member>
        <member name="M:Sandbox.LocalDupeIcon.AddLocalizedCategory``1(Sandbox.Modals.WorkshopPublishOptions,System.String,System.String)">
            <summary>
            Localize the modal label while keeping the workshop metadata key stable.
            </summary>
        </member>
        <member name="P:Sandbox.MountContent.Folder">
            <summary>
            Show the models in this folder and everything under it. Null shows the whole mount.
            </summary>
        </member>
        <member name="P:Sandbox.ResourcePickerButton.Thumb">
            <summary>
            Image url of the picked resource. The badge shows when it's empty.
            </summary>
        </member>
        <member name="P:Sandbox.ResourcePickerButton.Badge">
            <summary>
            Shown instead of the image, cut to three letters so it fits.
            </summary>
        </member>
        <member name="P:Sandbox.ResourcePickerButton.Empty">
            <summary>
            Greys the title out, for "none selected" and the like.
            </summary>
        </member>
        <member name="P:Sandbox.ResourceSelectControl.Extension">
            <summary>
            The extension being picked, from the asset type or straight from the attribute for types without one (materials).
            </summary>
        </member>
        <member name="M:Sandbox.ResourceSelectControl.Rebuild">
            <summary>
            Refreshes the resource type metadata and current selection.
            </summary>
        </member>
        <member name="M:Sandbox.ResourceSelectControl.OnValueChanged">
            <summary>
            Updates the preview and display title when the selected resource path changes.
            </summary>
        </member>
        <member name="P:Sandbox.ResourceSelectPopup.Title">
            <summary>
            Title bar text, "Surface Selection" or similar when not set.
            </summary>
        </member>
        <member name="M:Sandbox.ResourceSelectPopup.Open(Sandbox.UI.Panel,System.String,System.String,System.Action{System.String},System.Boolean,System.String)">
            <summary>
            Opens a picker over the menu <paramref name="source"/> is in.
            </summary>
        </member>
        <member name="P:Sandbox.ResourceSelectPopup.IconSize">
            <summary>
            Tile size, kept apart from the spawn menu's since these tiles also show a description.
            </summary>
        </member>
        <member name="P:Sandbox.ResourceSelectPopup.Search">
            <summary>
            What's typed in the search box. Local items are filtered right away, the workshop is asked once typing pauses.
            </summary>
        </member>
        <member name="M:Sandbox.SignalsOverlay.Show(Sandbox.SignalsOverlay.Entry)">
            <summary>
            Keep the overlay visible this frame — call every frame while a tool wants it up,
            optionally with a hover card to show. The overlay also shows itself while the
            inspect menu is open; either way it collects and draws the wires on its own.
            </summary>
        </member>
        <member name="M:Sandbox.SignalsOverlay.CollectConnectors(System.Collections.Generic.List{Sandbox.SignalsOverlay.Connector})">
            <summary>
            Find every wire around the camera: signal connections on outputs, and component
            links (references and presence) on their ManualLink stamps.
            </summary>
        </member>
        <member name="M:Sandbox.SignalsOverlay.TryGetScreenBounds(Sandbox.CameraComponent,Sandbox.GameObject,Sandbox.Rect@)">
            <summary>
            The screen-space box around the object's projected bounds corners, in pixels.
            False when any corner is behind the camera — the box would be meaningless.
            </summary>
        </member>
        <member name="M:Sandbox.SignalsOverlay.ClipToBounds(Sandbox.Rect,Vector2,Vector2)">
            <summary>
            Slide a point sitting inside the box along the line towards the outside point,
            stopping at the box edge.
            </summary>
        </member>
        <member name="P:Sandbox.SpawnlistView.Entry">
            <summary>
            A player's spawnlist, local or installed from the workshop.
            </summary>
        </member>
        <member name="P:Sandbox.SpawnlistView.Resource">
            <summary>
            An authored spawnlist that ships with the game. Always read-only.
            </summary>
        </member>
        <member name="P:Sandbox.SpawnMenuHost.IsOpen">
            <summary>
            Whether the menu is currently up (held or pinned), in any mode.
            </summary>
        </member>
        <member name="P:Sandbox.SpawnMenuHost.ModalLayer">
            <summary>
            Where <see cref="T:Sandbox.UIModal"/> windows go. They are inside the menu, so it stays up while one has focus.
            </summary>
        </member>
        <member name="M:Sandbox.SpawnMenuHost.Local#IPlayerEvents#OnMove(System.Boolean@)">
            <summary>
            Opening the menu with a controller uses the same stick input as movement, so block movement
            while the open button is held (mouse/keyboard players can move and open the menu at once).
            </summary>
        </member>
        <member name="P:Sandbox.SpawnMenuIcon.WantsDrag">
            <summary>
            We want to drag from this panel
            </summary>
        </member>
        <member name="M:Sandbox.SpawnPageLocal.LanguageChanged">
            <summary>
            Reapplies the active search to the translated prop names.
            </summary>
        </member>
        <member name="M:Sandbox.ToolsTab.HasSettings(ToolMode)">
            <summary>
            Whether the sheet would have a single row for this tool.
            </summary>
        </member>
        <member name="M:Sandbox.ToolsTab.GetGroups">
            <summary>
            Every tool under its group, both sorted by what the player reads.
            </summary>
        </member>
        <member name="F:Sandbox.UICardDescription.PauseTime">
            <summary>
            How long text pauses scrolling before continuing
            </summary>
        </member>
        <member name="F:Sandbox.UICardDescription.ScrollSpeed">
            <summary>
            How fast we're scrolling overflowing description text
            </summary>
        </member>
        <member name="F:Sandbox.UICardDescription.MaxHeight">
            <summary>
            Maximum height of description block, all text that overflows will be scrolled
            </summary>
        </member>
        <member name="T:Sandbox.UIGroupedList.ListItem">
            <summary>
            A selectable entry. The title can be a localization token.
            </summary>
        </member>
        <member name="M:Sandbox.UIGroupedList.ListItem.#ctor(System.String,System.Object,System.Boolean)">
            <summary>
            A selectable entry. The title can be a localization token.
            </summary>
        </member>
        <member name="T:Sandbox.UIGroupedList.ListGroup">
            <summary>
            A blue header and the entries under it.
            </summary>
        </member>
        <member name="M:Sandbox.UIGroupedList.ListGroup.#ctor(System.String,System.Collections.Generic.List{Sandbox.UIGroupedList.ListItem})">
            <summary>
            A blue header and the entries under it.
            </summary>
        </member>
        <member name="P:Sandbox.UIGroupedList.Selected">
            <summary>
            The value of the entry that's highlighted.
            </summary>
        </member>
        <member name="P:Sandbox.UIGroupedList.Revision">
            <summary>
            Bump this when the groups changed in a way their item count does not show (titles, order, values), to make the list build again.
            </summary>
        </member>
        <member name="M:Sandbox.UIGroupedList.VisibleGroups">
            <summary>
            The groups with only the entries that match the quick filter, and without the emptied ones.
            </summary>
        </member>
        <member name="P:Sandbox.UILoadingState.Text">
            <summary>
            What's being waited for, can be a localization token.
            </summary>
        </member>
        <member name="P:Sandbox.UISettingsPane.Revision">
            <summary>
            Bump this when the content changed in a way the title does not show, to make the pane build it again.
            </summary>
        </member>
        <member name="M:Sandbox.UndoHistoryPage.LanguageChanged">
            <summary>
            Reformats action titles and object counts without requesting the history again.
            </summary>
        </member>
        <member name="P:Sandbox.Vitals.WarningColor">
            <summary>
            Draws this color when ammo/health reach a critical level
            </summary>
        </member>
        <member name="P:Sandbox.Vitals.DamageFlashColor">
            <summary>
            The health readout flashes this color when health drops
            </summary>
        </member>
        <member name="P:IPhysgunEvent.GrabEvent.Grabber">
            <summary>
            The connection attempting to grab this object.
            </summary>
        </member>
        <member name="P:IPhysgunEvent.GrabEvent.Cancelled">
            <summary>
            Set to true to cancel the grab.
            </summary>
        </member>
        <member name="M:IPhysgunEvent.OnPhysgunGrab(IPhysgunEvent.GrabEvent)">
            <summary>
            Called when a player attempts to grab this object with the physgun.
            Set <see cref="P:IPhysgunEvent.GrabEvent.Cancelled"/> to true to reject the grab.
            </summary>
        </member>
        <member name="M:IPhysgunEvent.OnPhysgunDrop">
            <summary>
            Called when a physgun stops moving this object, because it was let go, frozen or launched.
            Runs on the instance that simulates the object, the only one that can change its body.
            </summary>
        </member>
        <member name="P:IToolgunEvent.SelectEvent.User">
            <summary>
            The connection attempting to use a tool on this object.
            </summary>
        </member>
        <member name="P:IToolgunEvent.SelectEvent.Cancelled">
            <summary>
            Set to true to reject the toolgun selection.
            </summary>
        </member>
        <member name="M:IToolgunEvent.OnToolgunSelect(IToolgunEvent.SelectEvent)">
            <summary>
            Called when a player attempts to select this object with the toolgun.
            Set <see cref="P:IToolgunEvent.SelectEvent.Cancelled"/> to true to reject the selection.
            </summary>
        </member>
        <member name="T:ManualLink">
            <summary>
            A non-physics logical link between two GameObjects.
            Used by the Wire tool to group unconnected objects so the Duplicator
            treats them as part of the same contraption.
            </summary>
        </member>
        <member name="P:ManualLink.IsComponentWire">
            <summary>
            Wires whose output is the source component itself — reference and presence links.
            </summary>
        </member>
        <member name="M:ManualLink.SetWire(Sandbox.Component,System.String,Sandbox.Component,System.String)">
            <summary>
            Stamp the wire on both ends of the pair, so either side can resolve it from
            its own link children.
            </summary>
        </member>
        <member name="T:MorphState">
            <summary>
            Persists morph values on a GameObject so they survive over the network and dupes. 
            </summary>
        </member>
        <member name="P:MorphState.SerializedMorphs">
            <summary>
            Serialized morphs. Persisted for dupes/saves — not synced over the network.
            </summary>
        </member>
        <member name="M:MorphState.ApplyBatch(System.String)">
            <summary>
            Apply a partial morph batch on the host, then broadcast to all clients.
            </summary>
        </member>
        <member name="M:MorphState.ApplyPreset(System.String)">
            <summary>
            Apply a full morph preset on the host (resets all first), then broadcast to all clients.
            </summary>
        </member>
        <member name="M:MorphState.Capture(Sandbox.SkinnedModelRenderer)">
            <summary>
            Snapshot all current morph values from <paramref name="smr"/> into <see cref="P:MorphState.SerializedMorphs"/>.
            </summary>
        </member>
        <member name="M:MorphState.Apply">
            <summary>
            Apply the stored <see cref="P:MorphState.SerializedMorphs"/> to the first <see cref="T:Sandbox.SkinnedModelRenderer"/> we find.
            Called on spawn/dupe restore.
            </summary>
        </member>
        <member name="T:MountMetadata">
            <summary>
            Attached to mount-spawned props. This tries to show a graceful bounding box and hints the player what game it's from if they don't have the mount installed.
            </summary>
        </member>
        <member name="T:Ownable">
            <summary>
            Tracks which connection spawned this object
            </summary>
        </member>
        <member name="P:Ownable.Owner">
            <summary>
            I would fucking love to be able to Sync these..
            And it would just do this exact behaviour. Why not?
            </summary>
        </member>
        <member name="M:Ownable.Set(Sandbox.GameObject,Sandbox.Connection)">
            <summary>
            Sets a gameObject as owned by a connection. If the gameObject already has an Ownable component, it'll just update the owner.
            </summary>
            <param name="go"></param>
            <param name="owner"></param>
            <returns></returns>
        </member>
        <member name="P:Ownable.OwnershipChecks">
            <summary>
            When enabled, players can only physgun/toolgun objects they own.
            Host is always exempt. Off by default.
            </summary>
        </member>
        <member name="T:PhysicalProperties">
            <summary>
            Persists physical properties (mass, gravity, health) across duplication and networking.
            Attach this to any GameObject to ensure these values survive serialization.
            </summary>
        </member>
        <member name="T:BanSystem">
            <summary>
            Holds a banlist, can ban users
            </summary>
        </member>
        <member name="M:BanSystem.Ban(Sandbox.Connection,System.String)">
            <summary>
            Bans a connected player and kicks them immediately
            </summary>
        </member>
        <member name="M:BanSystem.Ban(Sandbox.SteamId,System.String)">
            <summary>
            Bans a Steam ID by value. Use for pre-banning or banning players who are not currently connected.
            Display name falls back to the Steam ID string.
            </summary>
        </member>
        <member name="M:BanSystem.Unban(Sandbox.SteamId)">
            <summary>
            Removes the ban for the given Steam ID.
            </summary>
        </member>
        <member name="M:BanSystem.IsBanned(Sandbox.SteamId)">
            <summary>
            Returns true if the given Steam ID is currently banned
            </summary>
        </member>
        <member name="M:BanSystem.GetBannedList">
            <summary>
            Returns a read-only view of all active bans
            </summary>
        </member>
        <member name="M:BanSystem.RpcBanPlayer(Sandbox.Connection,System.String)">
            <summary>
            RPC to ban a connected player. Caller must be host or have admin permission.
            </summary>
        </member>
        <member name="M:BanSystem.BanCommand(System.String,System.String)">
            <summary>
            Bans a player by name or Steam ID. Optionally provide a reason.
            Usage: ban [name|steamid] [reason]
            </summary>
        </member>
        <member name="T:ClientInput">
            <summary>
            A configurable input action for contraptions driven from a seat. This contains no state:
            it reads the active driver's connection while <see cref="M:IPlayerControllable.OnControl"/>
            is running. Wired inputs are ordinary <see cref="T:SignalInputAttribute"/> handlers instead.
            </summary>
        </member>
        <member name="T:ControlContext">
             <summary>
             Answers "which player caused this?" while entity code is running.
            
             When a signal input fires or a seat pushes key states, the system notes who did it here.
             If your code needs to blame someone — kill credit, undo, prop protection — just read
             <see cref="P:ControlContext.Player"/>. It's null when nobody is responsible (e.g. map logic).
             </summary>
        </member>
        <member name="P:ControlContext.Player">
            <summary>
            The player who caused whatever is currently running, or null.
            </summary>
        </member>
        <member name="T:ControlContext.Scope">
            <summary>
            Restores whoever was responsible before when disposed, so nested pushes unwind cleanly.
            </summary>
        </member>
        <member name="M:ControlContext.Push(Player,Sandbox.Connection)">
            <summary>
            Mark a player as responsible for the code that runs until the scope is disposed:
            <code>using var scope = ControlContext.Push( player );</code>
            </summary>
        </member>
        <member name="T:ControlSystem">
            <summary>
            Lets players drive contraptions from a seat. Every tick, this finds who's sitting in each
            chair and calls <see cref="M:IPlayerControllable.OnControl"/> on the attached contraption.
            </summary>
        </member>
        <member name="T:IPlayerControllable">
            <summary>
            A component that can be driven by the player occupying a linked seat.
            <see cref="M:IPlayerControllable.OnControl"/> runs once per fixed update with the player's input connection active.
            </summary>
        </member>
        <member name="T:SignalEvent">
            <summary>
            The raw value of a signal delivery. You rarely need this — declare inputs as plain
            <c>bool</c>, <c>float</c>, or parameterless methods and the system converts for you.
            </summary>
        </member>
        <member name="M:SignalEvent.#ctor(System.Single,System.Boolean,System.Boolean,System.Boolean,Player)">
            <summary>
            The raw value of a signal delivery. You rarely need this — declare inputs as plain
            <c>bool</c>, <c>float</c>, or parameterless methods and the system converts for you.
            </summary>
        </member>
        <member name="T:SignalInputAttribute">
            <summary>
            Makes a method or property wireable as an input. Works on: a parameterless method (fires
            once when the signal turns on), a method taking a <c>bool</c> or <c>float</c>, or a writable
            <c>bool</c>/<c>float</c> property.
            On a writable property of a Component type it becomes a component input instead: linking
            sets the property to the source component directly, and only components of that type
            (marked <see cref="T:SignalOutputAttribute"/> on their class) can be linked to it.
            The member's name is the wire's name — renaming it breaks saved contraptions.
            </summary>
        </member>
        <member name="P:SignalInputAttribute.Id">
            <summary>
            The stable port id. Defaults to the member name.
            </summary>
        </member>
        <member name="T:SignalOutputAttribute">
            <summary>
            Makes a <see cref="T:SignalOutput"/> property wireable as an output.
            The member's name is the wire's name — renaming it breaks saved contraptions.
            On a class it exposes the component itself as a linkable reference instead: players can
            wire it into any component input (<see cref="T:SignalInputAttribute"/> on a property of a
            matching type) and the input receives the component directly. Wired into a boolean
            input instead, it holds the input on for as long as the link exists.
            </summary>
        </member>
        <member name="T:SignalConnection">
            <summary>
            One wire: which component and which input it feeds into.
            </summary>
        </member>
        <member name="T:SignalOutput">
             <summary>
             An output port that players can wire to inputs on other entities. Call whichever
             <c>Emit</c> overload matches what you have — the receiving end converts as needed.
             State providers should emit every tick while active; this keeps continuous inputs push-driven.
             Only does anything on the host.
            
             Credit follows automatically: whoever last pressed or signaled this component is
             passed along with the emit. Pass an instigator explicitly only to override that.
             </summary>
        </member>
        <member name="M:SignalOutput.Emit(Sandbox.Component,Player)">
            <summary>
            Fire a one-shot pulse — "something happened once".
            </summary>
        </member>
        <member name="M:SignalOutput.Emit(Sandbox.Component,System.Boolean,Player)">
            <summary>
            Emit an on/off state.
            </summary>
        </member>
        <member name="M:SignalOutput.Emit(Sandbox.Component,System.Single,Player)">
            <summary>
            Emit a number. Values above 0.5 count as "on".
            </summary>
        </member>
        <member name="T:SignalInputBinding">
            <summary>
            What actually runs when a signal arrives at an input.
            </summary>
        </member>
        <member name="M:SignalInputBinding.#ctor(Sandbox.MethodDescription,Sandbox.PropertyDescription,SignalInputKind,System.Action{Sandbox.Component,SignalEvent})">
            <summary>
            What actually runs when a signal arrives at an input.
            </summary>
        </member>
        <member name="T:ISignalAdapter">
            <summary>
            Lets a custom property type act as a signal input. Just implement this anywhere —
            it's found automatically.
            </summary>
        </member>
        <member name="T:SignalPortDescription">
            <summary>
            The shared metadata exposed by both ends of a signal connection.
            </summary>
        </member>
        <member name="P:SignalPortDescription.ComponentType">
            <summary>
            Component ports: the component type this port provides or accepts. Null for signal ports.
            </summary>
        </member>
        <member name="T:SignalOutputDescription">
            <summary>
            An output port found on a component: its name and how to reach it.
            </summary>
        </member>
        <member name="T:SignalInputDescription">
            <summary>
            An input port found on a component: its name and how to reach it.
            </summary>
        </member>
        <member name="T:SignalPort">
            <summary>
            One input or output declared on a component type.
            </summary>
        </member>
        <member name="M:SignalPort.#ctor(System.String,System.String,System.String,System.String,System.Boolean,System.Int32)">
            <summary>
            One input or output declared on a component type.
            </summary>
        </member>
        <member name="P:SignalPort.Property">
            <summary>
            Outputs: the property holding the SignalOutput.
            </summary>
        </member>
        <member name="P:SignalPort.Binding">
            <summary>
            Inputs: what to run when a signal arrives.
            </summary>
        </member>
        <member name="P:SignalPort.ComponentType">
            <summary>
            Component ports: the component type this port provides or accepts.
            </summary>
        </member>
        <member name="T:SignalSystem">
            <summary>
            Delivers signals from outputs to the inputs they're wired to. Everything runs on the host;
            clients just see the results through normal networking. TypeLibrary owns member caching and
            hotload invalidation; this system resolves ports from its current descriptions when needed.
            </summary>
        </member>
        <member name="F:SignalSystem.ComponentOutputId">
            <summary>
            Port id of the synthetic output a class-level <see cref="T:SignalOutputAttribute"/> creates.
            Can't collide with member names — C# identifiers can't contain '$'.
            </summary>
        </member>
        <member name="M:SignalSystem.InstigatorFor(Sandbox.Component)">
            <summary>
            The player who last pressed or signaled this component, or null.
            </summary>
        </member>
        <member name="M:SignalSystem.GetOutputs(Sandbox.GameObject)">
            <summary>
            Every output under this object's root. Unsorted — UI that lists ports uses <see cref="M:SignalSystem.GetPorts(Sandbox.GameObject)"/>.
            </summary>
        </member>
        <member name="M:SignalSystem.AreCompatible(SignalOutputDescription,SignalInputDescription)">
            <summary>
            Any signal output can wire to any signal input. Component outputs wire to component
            inputs whose property type the component satisfies — or to boolean inputs, which they
            hold on for as long as the link exists.
            </summary>
        </member>
        <member name="M:SignalSystem.CreateLink(SignalOutputDescription,SignalInputDescription)">
            <summary>
            Create a logical object link and connect the selected signal ports in one host operation.
            </summary>
        </member>
        <member name="M:SignalSystem.StampWire(Sandbox.Component,System.String,Sandbox.Component,System.String)">
            <summary>
            Record the wire on the ManualLink pair that carries it, so destroying the link
            (undo, the wire tool's unlink) also disconnects the wire. Wires between objects
            joined some other way (welds, same root) have no pair — that's fine.
            </summary>
        </member>
        <member name="M:SignalSystem.DisconnectWire(ManualLink)">
            <summary>
            Disconnect the wire a dying ManualLink was carrying.
            </summary>
        </member>
        <member name="M:SignalSystem.SetComponentLinkInternal(Sandbox.Component,SignalPort,Sandbox.Component,SignalPort,System.Boolean,Player,ManualLink)">
            <summary>
            Component links set the input property to the source component directly — there is
            no connection list and nothing ever travels; the reference is the whole wire.
            Into a boolean input, the reference implicitly reads as a bool instead: on while
            anything is wired in, off when the last wire dies.
            </summary>
        </member>
        <member name="M:SignalSystem.FindPresenceWire(Sandbox.Component,System.String,Sandbox.Component,ManualLink)">
            <summary>
            Is there a stamped component wire into this input? Optionally from one specific
            source, optionally ignoring a link that's currently being destroyed.
            </summary>
        </member>
        <member name="M:SignalSystem.DestroyStampedWires(Sandbox.Component,System.String)">
            <summary>
            Destroy the stamped ManualLink pairs carrying wires into this input.
            </summary>
        </member>
        <member name="M:SignalSystem.GetContraptionOutputs(Sandbox.GameObject)">
            <summary>
            Every output on this object's contraption (anything joined by welds, joints or links).
            Tools and UI should use this so they all agree on what's wireable.
            </summary>
        </member>
        <member name="M:SignalSystem.GetContraptionInputs(Sandbox.GameObject)">
            <summary>
            Every input on this object's contraption.
            </summary>
        </member>
        <member name="T:DynamiteEntity">
            <summary>
            An explosive that can be activated by damage, player input, or a signal.
            </summary>
        </member>
        <member name="P:DynamiteEntity.Damage">
            <summary>
            The damage dealt by the explosion.
            </summary>
        </member>
        <member name="P:DynamiteEntity.Radius">
            <summary>
            The radius affected by the explosion.
            </summary>
        </member>
        <member name="P:DynamiteEntity.Force">
            <summary>
            The strength of the explosion's physical force.
            </summary>
        </member>
        <member name="P:DynamiteEntity.Activate">
            <summary>
            The input that detonates the explosive.
            </summary>
        </member>
        <member name="M:DynamiteEntity.Explode">
            <summary>
            Creates the explosion and removes this explosive.
            </summary>
        </member>
        <member name="M:DynamiteEntity.ActivateSignal">
            <summary>
            Detonates the explosive when its signal input is triggered.
            </summary>
        </member>
        <member name="M:DynamiteEntity.OnControl">
            <summary>
            Detonates the explosive when the owning player presses its activation input.
            </summary>
        </member>
        <member name="T:EmitMode">
            <summary>
            Whether the emitter fires while the input is held, or toggles on/off with a press.
            </summary>
        </member>
        <member name="F:EmitMode.Toggle">
            <summary>
            Press once to turn on, press again to turn off.
            </summary>
        </member>
        <member name="F:EmitMode.Hold">
            <summary>
            Emits only while the input is held down.
            </summary>
        </member>
        <member name="T:EmitterEntity">
            <summary>
            A world-placed SENT that spawns and controls a particle/VFX emitter.
            The emitter prefab is defined by a <see cref="T:ScriptedEmitter"/> resource.
            </summary>
        </member>
        <member name="P:EmitterEntity.Emitter">
            <summary>
            The emitter definition points to a prefab containing a particle system.
            </summary>
        </member>
        <member name="P:EmitterEntity.Mode">
            <summary>
            Whether this emitter toggles on/off with a press, or emits only while held.
            </summary>
        </member>
        <member name="P:EmitterEntity.ToggleInput">
            <summary>
            Used when <see cref="P:EmitterEntity.Mode"/> is <see cref="F:EmitMode.Toggle"/>.
            </summary>
        </member>
        <member name="P:EmitterEntity.HoldInput">
            <summary>
            Used when <see cref="P:EmitterEntity.Mode"/> is <see cref="F:EmitMode.Hold"/>.
            </summary>
        </member>
        <member name="P:EmitterEntity.IsEmitting">
            <summary>
            Whether the emitter is currently active. Synced to all clients.
            </summary>
        </member>
        <member name="P:EmitterEntity.ManualOn">
            <summary>
            When enabled, forces the emitter on regardless of input or mode.
            Can be set from the editor or wired up externally.
            </summary>
        </member>
        <member name="M:EmitterEntity.ToggleSignal">
            <summary>
            Toggles emission when a signal triggers in toggle mode.
            </summary>
        </member>
        <member name="M:EmitterEntity.HoldSignal(System.Boolean)">
            <summary>
            Updates emission from a signal in hold mode.
            </summary>
        </member>
        <member name="M:EmitterEntity.OnControl">
            <summary>
            Applies the owning player's emitter input for the current mode.
            </summary>
        </member>
        <member name="T:EntitySpawnerEntity">
            <summary>
            A world-placed SENT that spawns another SENT at its location.
            Can be triggered manually via player input or automatically on a timer.
            </summary>
        </member>
        <member name="P:EntitySpawnerEntity.Entity">
            <summary>
            The SENT to spawn.
            </summary>
        </member>
        <member name="P:EntitySpawnerEntity.SpawnInput">
            <summary>
            Input binding that triggers a manual spawn when the player uses this entity.
            </summary>
        </member>
        <member name="P:EntitySpawnerEntity.AutoSpawn">
            <summary>
            When enabled, spawns the entity automatically every <see cref="P:EntitySpawnerEntity.SpawnInterval"/> seconds.
            </summary>
        </member>
        <member name="P:EntitySpawnerEntity.SpawnInterval">
            <summary>
            Seconds between automatic spawns.
            </summary>
        </member>
        <member name="P:EntitySpawnerEntity.MaxEntities">
            <summary>
            Maximum number of entities spawned by this spawner allowed to exist at once.
            New spawns are suppressed until existing ones are destroyed.
            </summary>
        </member>
        <member name="M:EntitySpawnerEntity.SpawnSignal">
            <summary>
            Spawns an entity when the signal input is triggered.
            </summary>
        </member>
        <member name="M:EntitySpawnerEntity.OnControl">
            <summary>
            Spawns an entity when the owning player presses the spawn input.
            </summary>
        </member>
        <member name="T:PointLightEntity">
            <summary>
            A player-controlled point light.
            </summary>
        </member>
        <member name="P:PointLightEntity.On">
            <summary>
            Whether the light is switched on.
            </summary>
        </member>
        <member name="P:PointLightEntity.Shadows">
            <summary>
            Whether the light casts shadows.
            </summary>
        </member>
        <member name="P:PointLightEntity.Color">
            <summary>
            The color of the light.
            </summary>
        </member>
        <member name="P:PointLightEntity.Brightness">
            <summary>
            The brightness of the light.
            </summary>
        </member>
        <member name="P:PointLightEntity.Radius">
            <summary>
            The radius affected by the light.
            </summary>
        </member>
        <member name="P:PointLightEntity.Attenuation">
            <summary>
            How quickly the light fades with distance.
            </summary>
        </member>
        <member name="P:PointLightEntity.TurnOn">
            <summary>
            The input that switches the light on.
            </summary>
        </member>
        <member name="P:PointLightEntity.TurnOff">
            <summary>
            The input that switches the light off.
            </summary>
        </member>
        <member name="P:PointLightEntity.Toggle">
            <summary>
            The input that toggles the light.
            </summary>
        </member>
        <member name="P:PointLightEntity.OnGameObject">
            <summary>
            The object shown while the light is on.
            </summary>
        </member>
        <member name="P:PointLightEntity.OffGameObject">
            <summary>
            The object shown while the light is off.
            </summary>
        </member>
        <member name="M:PointLightEntity.ToggleSignal">
            <summary>
            Toggles the light when its signal input is triggered.
            </summary>
        </member>
        <member name="M:PointLightEntity.TurnOnSignal">
            <summary>
            Switches the light on when its signal input is triggered.
            </summary>
        </member>
        <member name="M:PointLightEntity.TurnOffSignal">
            <summary>
            Switches the light off when its signal input is triggered.
            </summary>
        </member>
        <member name="M:PointLightEntity.OnControl">
            <summary>
            Applies the owning player's light controls.
            </summary>
        </member>
        <member name="P:ScriptedEmitter.Prefab">
            <summary>
            The prefab containing the particle/VFX system to emit.
            </summary>
        </member>
        <member name="P:ScriptedEmitterModel.Prefab">
            <summary>
            The prefab containing the physical emitter body
            </summary>
        </member>
        <member name="P:ScriptedEntity.Category">
            <summary>
            Used to group this entity under a named category in the spawn menu (e.g. "Chair", "Weapon", "Npc", "World").
            Categories can be nested with <c>/</c>, such as <c>Weapon/Melee</c>.
            Leave blank to place it under "Other".
            </summary>
        </member>
        <member name="P:ScriptedEntity.IncludeCode">
            <summary>
            If this entity uses code then you should enable this so the code is included when publishing.
            </summary>
        </member>
        <member name="P:ScriptedEntity.Developer">
            <summary>
            If true, this entity only appears in the spawn menu when running in the editor.
            Use for test/debug entities that shouldn't ship to players.
            </summary>
        </member>
        <member name="T:SpotLightEntity">
            <summary>
            A player-controlled spotlight.
            </summary>
        </member>
        <member name="P:SpotLightEntity.On">
            <summary>
            Whether the light is switched on.
            </summary>
        </member>
        <member name="P:SpotLightEntity.Shadows">
            <summary>
            Whether the light casts shadows.
            </summary>
        </member>
        <member name="P:SpotLightEntity.Color">
            <summary>
            The color of the light.
            </summary>
        </member>
        <member name="P:SpotLightEntity.Brightness">
            <summary>
            The brightness of the light.
            </summary>
        </member>
        <member name="P:SpotLightEntity.Radius">
            <summary>
            The radius affected by the light.
            </summary>
        </member>
        <member name="P:SpotLightEntity.Angle">
            <summary>
            The outer angle of the spotlight cone.
            </summary>
        </member>
        <member name="P:SpotLightEntity.Attenuation">
            <summary>
            How quickly the light fades with distance.
            </summary>
        </member>
        <member name="P:SpotLightEntity.TurnOn">
            <summary>
            The input that switches the light on.
            </summary>
        </member>
        <member name="P:SpotLightEntity.TurnOff">
            <summary>
            The input that switches the light off.
            </summary>
        </member>
        <member name="P:SpotLightEntity.Toggle">
            <summary>
            The input that toggles the light.
            </summary>
        </member>
        <member name="P:SpotLightEntity.OnGameObject">
            <summary>
            The object shown while the light is on.
            </summary>
        </member>
        <member name="P:SpotLightEntity.OffGameObject">
            <summary>
            The object shown while the light is off.
            </summary>
        </member>
        <member name="M:SpotLightEntity.ToggleSignal">
            <summary>
            Toggles the light when its signal input is triggered.
            </summary>
        </member>
        <member name="M:SpotLightEntity.TurnOnSignal">
            <summary>
            Switches the light on when its signal input is triggered.
            </summary>
        </member>
        <member name="M:SpotLightEntity.TurnOffSignal">
            <summary>
            Switches the light off when its signal input is triggered.
            </summary>
        </member>
        <member name="M:SpotLightEntity.OnControl">
            <summary>
            Applies the owning player's light controls.
            </summary>
        </member>
        <member name="T:TVEntity">
            <summary>
            A TV screen entity that displays the feed from a linked <see cref="T:CameraWeapon"/>.
            Use the Wire tool to wire a Camera's video feed to this TV's display input.
            </summary>
        </member>
        <member name="P:TVEntity.Display">
            <summary>
            The camera whose view is on the screen. A component input: only a Camera
            can be linked here, and linking just sets this reference.
            </summary>
        </member>
        <member name="P:TVEntity.Brightness">
            <summary>
            The brightness of the television screen.
            </summary>
        </member>
        <member name="P:TVEntity.On">
            <summary>
            Whether the television screen is switched on.
            </summary>
        </member>
        <member name="P:TVEntity.HasLinkedCamera">
            <summary>
            True when a linked camera is actively providing a render texture.
            </summary>
        </member>
        <member name="T:ThumbnailCamera">
            <summary>
            Put this in a prefab to frame its thumbnail - it's rendered from this object's position and
            rotation instead of auto-framing the whole prefab. Point it at what should be in shot, or turn on
            <see cref="P:ThumbnailCamera.FitToBounds"/> to just set the angle and have the prefab fill the frame.
            </summary>
        </member>
        <member name="P:ThumbnailCamera.FieldOfView">
            <summary>
            Keep it narrow and pull the camera back - a long lens flattens the perspective and looks
            more cinematic than a wide one up close.
            </summary>
        </member>
        <member name="P:ThumbnailCamera.GizmoDistance">
            <summary>
            How far ahead to draw the framing in the editor - just a guide, it doesn't affect the render.
            </summary>
        </member>
        <member name="P:ThumbnailCamera.FitToBounds">
            <summary>
            Ignore where the camera is placed - keep its angle, but move it so the prefab's models fill the
            frame. Good for things that should all sit the same in a grid, like weapons.
            </summary>
        </member>
        <member name="P:ThumbnailCamera.Padding">
            <summary>
            Space left around the prefab when fitting, as a fraction of its size.
            </summary>
        </member>
        <member name="P:ThumbnailCamera.Zoom">
            <summary>
            Push in past the fit - above 1 crops into the prefab, so long things can run off the edge.
            </summary>
        </member>
        <member name="P:ThumbnailCamera.Focus">
            <summary>
            Slide the framing toward the interesting end when zoomed in, as a fraction of the fitted frame -
            x toward the right, y up. Measured before any roll on the camera, so a tilted gun slides along
            its own length.
            </summary>
        </member>
        <member name="M:ThumbnailCamera.TryRender(Sandbox.PrefabFile,Sandbox.Bitmap)">
            <summary>
            Render <paramref name="prefab"/> to <paramref name="bitmap"/> through the thumbnail camera it
            contains. Returns false if it doesn't have one.
            </summary>
        </member>
        <member name="M:ThumbnailCamera.VerticalOffset(Sandbox.Bitmap)">
            <summary>
            How far below the middle of the image the middle of what's drawn is, in pixels - null if
            nothing was drawn. Halfway between the middle of its outline and its centre of mass: a rifle's
            thin barrel along the top shouldn't count as much as the body hanging under it, but its
            magazine shouldn't drag it off the top either.
            </summary>
        </member>
        <member name="M:ThumbnailCamera.AddLights(Rotation,BBox)">
            <summary>
            Studio lighting that follows the camera, so every thumbnail is lit the same way: a warm key
            from above-left, a soft fill from beside the camera, and a cool rim from behind to pick out
            the edges.
            The rim is a point light - a scene only takes one directional light, a second replaces the first.
            </summary>
        </member>
        <member name="M:ThumbnailCamera.FitPosition(BBox,Rotation,System.Single,System.Single,System.Single,Vector2)">
            <summary>
            Where to put a camera looking along <paramref name="rotation"/> so <paramref name="bounds"/>
            fills a square frame - measured from the box's outline as seen from that angle, so long thin
            things fill the frame as well as chunky ones. Then pushed in by <paramref name="zoom"/> and slid
            across by <paramref name="focus"/>.
            </summary>
        </member>
        <member name="T:IKillSource">
            <summary>
            Implement on any component that can appear as an attacker in the kill feed.
            Examples: Player, Npc, explosive barrel, turret, whatever the fuck.
            </summary>
        </member>
        <member name="P:IKillSource.DisplayName">
            <summary>
            Display name
            </summary>
        </member>
        <member name="P:IKillSource.SteamId">
            <summary>
            Steam ID for the local "is-me" highlight. Defaults to 0 (not a player).
            </summary>
        </member>
        <member name="P:IKillSource.Tags">
            <summary>
            Entity-type tag passed as <c>attackerTags</c>.
            Return an empty string for plain player kills. Examples: "npc"
            </summary>
        </member>
        <member name="M:IKillSource.OnKill(Sandbox.GameObject)">
            <summary>
            Called on the host when this source kills something.
            Credit kills, update stats, etc. Default is no-op.
            </summary>
        </member>
        <member name="T:DefaultTonemapping">
            <summary>
            Drives the game's default <see cref="T:Sandbox.Tonemapping"/> on the same GameObject (the system scene camera).
            The default is disabled whenever the loaded scene provides its own global tonemapping, i.e. an enabled
            <see cref="T:Sandbox.Tonemapping"/> that is on a camera or inside an infinite <see cref="T:Sandbox.PostProcessVolume"/>.
            </summary>
        </member>
        <member name="T:PostProcessGroup">
            <summary>
            Categories for browsing post-processing effects.
            </summary>
        </member>
        <member name="F:PostProcessGroup.Effects">
            <summary>
            Effects entries.
            </summary>
        </member>
        <member name="F:PostProcessGroup.Overlay">
            <summary>
            Overlay entries.
            </summary>
        </member>
        <member name="F:PostProcessGroup.Shaders">
            <summary>
            Shaders entries.
            </summary>
        </member>
        <member name="F:PostProcessGroup.Textures">
            <summary>
            Textures entries.
            </summary>
        </member>
        <member name="F:PostProcessGroup.Misc">
            <summary>
            Misc entries.
            </summary>
        </member>
        <member name="T:IResourcePreview">
            <summary>
            Implement on a <see cref="T:Sandbox.GameResource"/> to enable in-picker previewing.
            When the user clicks an item in the resource picker, <see cref="M:IResourcePreview.OnPreview"/> is called
            instead of immediately selecting it. A "Select" button confirms the choice.
            </summary>
        </member>
        <member name="M:IResourcePreview.OnPreview">
            <summary>
            Called when the user clicks this resource in the picker for preview.
            Use this to play a sound, show a visual, etc.
            </summary>
        </member>
        <member name="M:IResourcePreview.OnPreviewStop">
            <summary>
            Called when the preview should stop (another item previewed, picker closed, or resource selected).
            </summary>
        </member>
        <member name="T:SoundDefinition">
            <summary>
            A categorized sound resource for use on spawned entities (thrusters, hoverballs, emitters, etc.).
            The <see cref="P:SoundDefinition.Category"/> field allows the editor to filter definitions by type.
            </summary>
        </member>
        <member name="P:SoundDefinition.Title">
            <summary>
            Display name for this sound definition.
            </summary>
        </member>
        <member name="P:SoundDefinition.Description">
            <summary>
            Optional description of the sound.
            </summary>
        </member>
        <member name="P:SoundDefinition.Category">
            <summary>
            Category tag used for filtering in the resource picker (e.g. "thruster", "hoverball").
            </summary>
        </member>
        <member name="P:SoundDefinition.Sound">
            <summary>
            The underlying sound event to play.
            </summary>
        </member>
        <member name="M:SoundDefinition.Play(Vector3)">
            <summary>
            Plays the sound at the given world position. Returns default if no sound is set.
            </summary>
        </member>
        <member name="M:SoundDefinition.Play(Vector3,Sandbox.GameObject)">
            <summary>
            Plays the sound at the given world position, parented to a GameObject. Returns default if no sound is set.
            </summary>
        </member>
        <member name="T:UtilityPage">
            <summary>
            Base class for pages opened in the utility tab right panel.
            Decorate subclasses with [Icon], [Title], [Group], and [Order].
            </summary>
        </member>
        <member name="M:UtilityPage.IsPageVisible">
            <summary>
            Return false to hide this page from the utility menu.
            </summary>
        </member>
        <member name="P:BaseBulletWeapon.RecoilPitch">
            <summary>Random pitch punch per shot (min, max degrees).</summary>
        </member>
        <member name="P:BaseBulletWeapon.RecoilYaw">
            <summary>Random yaw punch per shot (min, max degrees).</summary>
        </member>
        <member name="P:BaseBulletWeapon.CameraRecoilStrength">
            <summary>First-person camera shake strength per shot.</summary>
        </member>
        <member name="P:BaseBulletWeapon.CameraRecoilFrequency">
            <summary>First-person camera shake frequency per shot.</summary>
        </member>
        <member name="P:BaseBulletWeapon.ShootForce">
            <summary>
            Physical kick applied to a standalone (unheld) gun when it fires.
            </summary>
        </member>
        <member name="P:BaseBulletWeapon.RagdollImpactScale">
            <summary>
            Ragdolls take the bullet as a velocity change rather than a raw impulse, so a torso shot moves the
            body as visibly as a hand shot moves the hand. The struck bone gains <c>Ballistics.Force * RagdollImpactScale</c>
            units/sec along the shot; every other bone gains <see cref="P:BaseBulletWeapon.RagdollBodyShare"/> of that.
            </summary>
        </member>
        <member name="P:BaseBulletWeapon.RagdollBodyShare">
            <summary>Fraction of the struck bone's velocity change given to the rest of the ragdoll.</summary>
        </member>
        <member name="M:BaseBulletWeapon.DoRecoil">
            <summary>
            The per-shot kick - eye punch and camera shake for a held gun, a physical shove for a
            standalone one.
            </summary>
        </member>
        <member name="M:BaseBulletWeapon.OnShootEffects(Sandbox.BaseCombatWeapon.ShotEffect)">
            <summary>
            Runs for every pellet on every peer - death ragdolls are local to each peer, so the push has to be
            applied wherever the body is simulated, not just on the host.
            </summary>
        </member>
        <member name="M:BaseBulletWeapon.EmitGunfireNoise(Sandbox.BaseCombatWeapon.ShotEffect)">
            <summary>
            Gunfire is loud - let NPCs hear a player shooting. NPC shooters announce their own bursts.
            </summary>
        </member>
        <member name="M:BaseBulletWeapon.BulletTrace(Ray,System.Single,System.Single)">
            <summary>
            Bullet trace for this gun - the sandbox's bullet collision rules, skipping player controller
            colliders (players are hit through their hitboxes).
            </summary>
        </member>
        <member name="P:BaseSandboxWeapon.IsDropped">
            <summary>
            True while this weapon is loose in the world as a pickup rather than held. Host authoritative -
            the change callback toggles the pickup components (physics, the standalone model) on every peer.
            </summary>
        </member>
        <member name="M:BaseSandboxWeapon.CreateWorldModel(Sandbox.SkinnedModelRenderer)">
            <summary>
            Creates and attaches the world model to the given renderer's bone.
            Use this overload when the weapon is held by something other than a player (e.g. an NPC).
            </summary>
        </member>
        <member name="P:BaseSandboxWeapon.InventoryIconOverride">
            <summary>
            Used for overriding the display icon
            </summary>
        </member>
        <member name="P:BaseSandboxWeapon.WantsHideHud">
            <summary>
            If true the game should hide the hud when holding this weapon. Useful for cameras, or scopes.
            </summary>
        </member>
        <member name="P:BaseSandboxWeapon.HiddenHudElements">
            <summary>
            Which parts of the HUD <see cref="P:BaseSandboxWeapon.WantsHideHud"/> hides. Everything by default.
            </summary>
        </member>
        <member name="P:BaseSandboxWeapon.Owner">
            <summary>
            The owner of this carriable
            </summary>
        </member>
        <member name="P:BaseSandboxWeapon.IsTargetedAim">
            <summary>
            When true, seated aim uses the scene camera direction instead of the weapon's muzzle direction.
            Override in weapons that support player-directed aim (e.g. RPG tracked mode, Physgun aim mode).
            </summary>
        </member>
        <member name="P:BaseSandboxWeapon.NpcAimTarget">
            <summary>
            What an NPC holding this weapon is shooting at. While set, shots go from the muzzle to the
            target's chest instead of along the barrel, which follows the animation and drifts high.
            </summary>
        </member>
        <member name="P:BaseSandboxWeapon.UnheldAimRay">
            <summary>
            Controlled from a seat with targeted aim fires where the camera looks; an NPC fires at its
            <see cref="P:BaseSandboxWeapon.NpcAimTarget"/>; otherwise the engine's muzzle-based unheld aim applies.
            </summary>
        </member>
        <member name="M:BaseSandboxWeapon.GetChestPosition(Sandbox.GameObject)">
            <summary>
            Roughly chest height - most of the way from the feet up to the eyes, so it follows crouching.
            </summary>
        </member>
        <member name="P:BaseSandboxWeapon.AimIgnoreRoot">
            <summary>
            The root GameObject to ignore when tracing from AimRay.
            </summary>
        </member>
        <member name="P:BaseSandboxWeapon.Attacker">
            <summary>
            Who gets credit for this weapon's damage (the engine's <see cref="P:Sandbox.BaseCombatWeapon.Attacker"/>).
            The owning player if held, the seated player if controlled from a contraption seat, otherwise
            the nearest kill source or the weapon itself.
            </summary>
        </member>
        <member name="M:BaseSandboxWeapon.OnAdded(Sandbox.BaseInventoryComponent)">
            <summary>
            Runs on the host when added to an inventory. The engine base seeds the magazines and the
            shared reserve pool - only when they've never been filled, so a dropped gun keeps its rounds
            through a pickup.
            </summary>
        </member>
        <member name="P:BaseSandboxWeapon.ShootInput">
            <summary>
            The input that fires the primary attack when this weapon is controlled via a seat.
            </summary>
        </member>
        <member name="P:BaseSandboxWeapon.SecondaryInput">
            <summary>
            The input that fires the secondary attack when this weapon is controlled via a seat.
            </summary>
        </member>
        <member name="M:BaseSandboxWeapon.OnCanPickup(Sandbox.BaseInventoryComponent)">
            <summary>Weapons wired into a contraption stay put - no pickup prompt, no Touch pickup.</summary>
        </member>
        <member name="M:BaseSandboxWeapon.OnCanSwitchTo">
            <summary>Stays put away while the owner sits with their weapons holstered (see <see cref="P:PlayerInventory.IsSeatHolstered"/>).</summary>
        </member>
        <member name="M:BaseSandboxWeapon.CanControl(Player)">
            <summary>A seated player can only control this while not holding a weapon of their own.</summary>
        </member>
        <member name="M:BaseSandboxWeapon.ShootSignal(SignalEvent)">
            <summary>
            Dispatches a primary action from a connected signal.
            </summary>
        </member>
        <member name="M:BaseSandboxWeapon.SecondarySignal(SignalEvent)">
            <summary>
            Dispatches a secondary action from a connected signal.
            </summary>
        </member>
        <member name="M:BaseSandboxWeapon.OnCameraSetup(Player,Sandbox.CameraComponent)">
            <summary>
            Called when setting up the camera - use this to apply effects on the camera based on this carriable
            </summary>
            <param name="player"></param>
            <param name="camera"></param>
        </member>
        <member name="M:BaseSandboxWeapon.OnCameraMove(Player,Angles@)">
            <summary>
            Can directly influence the player's eye angles here
            </summary>
            <param name="player"></param>
            <param name="angles"></param>
        </member>
        <member name="M:BaseSandboxWeapon.DropIntoWorld(Vector3,Vector3,Sandbox.Connection)">
            <summary>
            Drops this weapon into the world as a pickup - the same live object, so it keeps its state
            (ammo, tool modes). Unparents it, drops network ownership, enables the dropped components and
            tags it cleanable. Host only.
            </summary>
        </member>
        <member name="M:BaseSandboxWeapon.OnDrop">
            <summary>
            The engine inventory is dropping this - throw the live object out in front of the dropper.
            </summary>
        </member>
        <member name="M:BaseSandboxWeapon.EnableIfDroppedAsync">
            <summary>
            The engine disables a holstered weapon on every peer. Dropping the held weapon holsters it first and then enables
            it again on the host, but clients only ever see the end state ("enabled", the same as before), so their copy of a
            dropped weapon stayed disabled and invisible
            </summary>
        </member>
        <member name="M:BaseSandboxWeapon.IsInUse">
            <summary>
            Is this item currently being used? When true, prevents auto-switching away on item pickup etc.
            </summary>
        </member>
        <member name="M:BaseSandboxWeapon.OnJump">
            <summary>
            The player carrying us just jumped. Forwards to the view model so its anim graph can react.
            </summary>
        </member>
        <member name="T:IronSightsWeapon">
            <summary>
            A weapon that can aim down sights
            </summary>
        </member>
        <member name="P:IronSightsWeapon.IronSightsFireScale">
            <summary>
            Lowers the amount of recoil / visual noise when aiming
            </summary>
        </member>
        <member name="P:IronSightsWeapon.AimFovScale">
            <summary>
            Multiplier for the player's FOV while aiming in first person. 1 disables zoom.
            </summary>
        </member>
        <member name="P:IronSightsWeapon.AimFovTransitionTime">
            <summary>
            Seconds to blend between normal and aimed FOV. 0 switches instantly.
            </summary>
        </member>
        <member name="M:IronSightsWeapon.DrawHud(Sandbox.Painter,Vector2)">
            <summary>
            Draws the crosshair while the weapon is not aiming down sights.
            </summary>
        </member>
        <member name="P:IronSightsWeapon.CurrentSpread">
            <summary>
            Aiming down sights narrows the spread cone.
            </summary>
        </member>
        <member name="P:MeleeWeapon.SwingDelay">
            <summary>
            Cooldown after a hit connects.
            </summary>
        </member>
        <member name="P:MeleeWeapon.MissSwingDelay">
            <summary>
            Cooldown after a swing misses.
            </summary>
        </member>
        <member name="P:MeleeWeapon.Damage">
            <summary>
            Damage dealt per hit.
            </summary>
        </member>
        <member name="P:MeleeWeapon.Range">
            <summary>
            Reach of the swing trace.
            </summary>
        </member>
        <member name="P:MeleeWeapon.SwingRadius">
            <summary>
            Radius of the swing trace sphere.
            </summary>
        </member>
        <member name="P:MeleeWeapon.SwingForce">
            <summary>
            Physics impulse magnitude applied to hit objects.
            </summary>
        </member>
        <member name="P:MeleeWeapon.PunchPitch">
            <summary>Random pitch of the first-person view punch per swing (min, max degrees).</summary>
        </member>
        <member name="P:MeleeWeapon.PunchYaw">
            <summary>Random yaw of the first-person view punch per swing (min, max degrees).</summary>
        </member>
        <member name="P:MeleeWeapon.PunchFrequency">
            <summary>How many times the view punch oscillates before it lapses.</summary>
        </member>
        <member name="P:MeleeWeapon.PunchDuration">
            <summary>How long the view punch lasts, in seconds.</summary>
        </member>
        <member name="P:MeleeWeapon.ShakeAmplitude">
            <summary>First-person camera shake strength per swing, in world units.</summary>
        </member>
        <member name="P:MeleeWeapon.ShakeFrequency">
            <summary>New shake offsets per second.</summary>
        </member>
        <member name="P:MeleeWeapon.ShakeDuration">
            <summary>How long the shake takes to settle, in seconds.</summary>
        </member>
        <member name="M:MeleeWeapon.PrimaryAttack">
            <summary>
            The swing. Runs once on the owning client - our trace decides what we hit, the engine claims it
            to the host, and the host applies the damage.
            </summary>
        </member>
        <member name="M:MeleeWeapon.DrawCrosshair(Sandbox.Painter,Vector2)">
            <summary>
            Draws the aiming dot with the current attack availability.
            </summary>
        </member>
        <member name="T:ProjectileEntity">
            <summary>
            A projectile. It explodes when it hits something.
            </summary>
        </member>
        <member name="M:ProjectileEntity.NotifyHit(Sandbox.Component.IDamageable,Vector3)">
            <summary>
            Tell the instigator their projectile hit, so they can do things like show a hitmarker
            </summary>
        </member>
        <member name="M:ProjectileEntity.Explode(System.Single,System.Single,System.Single)">
            <summary>
            Spawns the medium explosion here, credited to the <see cref="P:ProjectileEntity.Instigator"/>, and destroys the
            projectile. Host only - the explosion is network spawned.
            </summary>
        </member>
        <member name="M:ProjectileEntity.UpdateDirection(Vector3,System.Single)">
            <summary>
            Updates the current direction of the projectile
            </summary>
            <param name="direction"></param>
            <param name="speed"></param>
        </member>
        <member name="T:ViewModel.Throwable">
            <summary>
            Throwable type
            </summary>
        </member>
        <member name="P:ViewModel.IsThrowable">
            <summary>
            Is this a throwable?
            </summary>
        </member>
        <member name="P:ViewModel.ThrowableType">
            <summary>
            The throwable type
            </summary>
        </member>
        <member name="T:ViewModel.ReloadSoundEntry">
            <summary>
            A sound to play at a specific time during reload.
            </summary>
        </member>
        <member name="P:ViewModel.ReloadSoundEntry.Time">
            <summary>
            Seconds after reload starts to play this sound.
            </summary>
        </member>
        <member name="P:ViewModel.ReloadSoundEntry.Sound">
            <summary>
            The sound to play.
            </summary>
        </member>
        <member name="P:ViewModel.ReloadSoundEvents">
            <summary>
            Timed sound events to play during reload.
            </summary>
        </member>
        <member name="P:ViewModel.IncrementalReloadSoundEvents">
            <summary>
            Timed sound events to play during each incremental reload cycle.
            </summary>
        </member>
        <member name="P:ViewModel.IncrementalReloadStartSounds">
            <summary>
            Timed sound events played when starting an incremental reload sequence.
            </summary>
        </member>
        <member name="P:ViewModel.IncrementalReloadFinishSounds">
            <summary>
            Timed sound events played when finishing an incremental reload sequence.
            </summary>
        </member>
        <member name="P:ViewModel.IsIncremental">
            <summary>
            Turns on incremental reloading parameters.
            </summary>
        </member>
        <member name="P:ViewModel.AnimationSpeed">
            <summary>
            Animation speed in general.
            </summary>
        </member>
        <member name="P:ViewModel.IncrementalAnimationSpeed">
            <summary>
            Animation speed for incremental reload sections.
            </summary>
        </member>
        <member name="P:ViewModel.InertiaScale">
            <summary>
            How much inertia should this weapon have?
            </summary>
        </member>
        <member name="P:ViewModel.MaxInertia">
            <summary>
            Limit the inertia to avoid extreme swaying at lower framerate.
            </summary>
        </member>
        <member name="P:ViewModel.LookInertia">
            <summary>
            Swing the viewmodel around based on the player's look direction, with a springy lag. This is purely cosmetic and does not affect the actual camera.
            </summary>
        </member>
        <member name="P:ViewModel.LookInertiaFrequency">
            <summary>
            Spring stiffness - how quickly it pulls back towards your actual look direction.
            </summary>
        </member>
        <member name="P:ViewModel.LookInertiaDamping">
            <summary>
            Spring damping. 1 settles with no overshoot, below 1 wobbles before settling - lower
            for a springier, bouncier feel.
            </summary>
        </member>
        <member name="P:ViewModel.LookInertiaPivotDistance">
            <summary>
            How far out in front of the eye the gun pivots from. Larger values make the same angle
            lag produce a bigger visible swing, since the gun is swinging on a longer arm.
            </summary>
        </member>
        <member name="P:ViewModel.LookInertiaAmount">
            <summary>
            Overall strength of the effect, applied after the spring - 0 is off, 1 is the spring's
            natural lag, above 1 exaggerates it. Use this to dial the whole thing up or down without
            touching how snappy or bouncy it feels (that's Frequency/Damping).
            </summary>
        </member>
        <member name="P:ViewModel.ADSInertiaScale">
            <summary>
            Further multiplies <see cref="P:ViewModel.LookInertiaAmount"/> while aiming down sights (on weapons
            with an <see cref="T:IronSightsWeapon"/>), so the gun holds steadier while aiming - below 1
            calms the sway down, above 1 makes it worse.
            </summary>
        </member>
        <member name="M:ViewModel.UpdateCameraBone(Sandbox.CameraView@)">
            <summary>
            Called by the weapon while the camera composes - feeds the aim inertia and lets the
            animation's camera bone drive the view (reload sway and kicks authored in the anim).
            This mutates the real camera view, not the viewmodel - the viewmodel itself is placed
            separately from the pre-bone snapshot, see <see cref="M:ViewModel.Place(Sandbox.CameraView@)"/>.
            </summary>
        </member>
        <member name="M:ViewModel.Place(Sandbox.CameraView@)">
            <summary>
            Place the view model - called by the weapon's <c>PlaceViewModel</c> with the pre-bone view,
            so the camera bone moves the camera around the gun rather than dragging the gun with it.
            </summary>
        </member>
        <member name="M:ViewModel.FollowCameraEffects(Sandbox.CameraComponent,Sandbox.CameraView@)">
            <summary>
            Follow the render-only camera shake after placement, without feeding it into look inertia.
            Use the final camera view as the pivot to preserve the camera bone and procedural bob offsets.
            </summary>
        </member>
        <member name="M:ViewModel.OnReloadStart">
            <summary>
            Called when starting to reload a weapon.
            </summary>
        </member>
        <member name="M:ViewModel.OnIncrementalReload">
            <summary>
            Called when incrementally reloading a weapon.
            </summary>
        </member>
        <member name="T:GameManager">
            <summary>
            Shakes nearby cameras when a physics prop strikes static world geometry.
            Listening at scene level also covers map props, duplicates and restored saves.
            </summary>
        </member>
        <member name="M:GameManager.IContextMenuEvent#PopulateContextMenu(IContextMenuEvent.Event)">
            <summary>
            The built-in Inspector right-click options: Ignite/Extinguish, Delete and Break.
            Addons add their own by implementing <see cref="T:IContextMenuEvent"/> the same way.
            </summary>
        </member>
        <member name="M:GameManager.DeleteInspectedObject(Sandbox.GameObject)">
            <summary>
            Delete an object from the Inspector context menu.
            </summary>
        </member>
        <member name="M:GameManager.BuildAxisLockMenu(Sandbox.UI.Menu,Sandbox.GameObject)">
            <summary>
            Axis lock menu
            </summary>
        </member>
        <member name="M:GameManager.SetAxisLocks(Sandbox.GameObject,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Set the object's rotation locks from the Inspector context menu
            </summary>
        </member>
        <member name="M:GameManager.IsAxisLocked(Sandbox.GameObject,System.String)">
            <summary>
            Is this rotation axis locked on the object's physics bodies?
            </summary>
        </member>
        <member name="M:GameManager.BreakInspectedProp(Sandbox.Prop)">
            <summary>
            Break (gib) a prop from the Inspector context menu.
            </summary>
        </member>
        <member name="M:GameManager.IgniteInspectedObject(Sandbox.GameObject)">
            <summary>
            Set an object on fire from the Inspector context menu. The engine's FireDamage component
            damages every IDamageable under the root until it breaks. Objects that can't break (unbreakable
            props, non-damageable entities) just keep burning.
            </summary>
        </member>
        <member name="M:GameManager.ExtinguishInspectedObject(Sandbox.GameObject)">
            <summary>
            Put out a burning object from the Inspector context menu. Removes every fire effect
            (anything carrying a FireDamage) under the root; descendant destruction is networked.
            </summary>
        </member>
        <member name="M:GameManager.IsOnFire(Sandbox.GameObject)">
            <summary>
            Is this object currently burning? Works on clients too, since the fire prefab is replicated
            as a child of the root. Deliberately not Prop.IsOnFire: that flag is never cleared.
            </summary>
        </member>
        <member name="M:GameManager.IMenuBarEvent#PopulateMenuBar(IMenuBarEvent.Event)">
            <summary>
            The built-in menus on the inspect menu's settings bar: Client, NPCs and Server.
            Addons add their own by implementing <see cref="T:IMenuBarEvent"/> the same way.
            </summary>
        </member>
        <member name="M:GameManager.Spawn(System.String,System.String,System.Boolean)">
            <summary>
            Spawn from a string identifier (e.g. "prop:path", "entity:path", "dupe.local:id", "dupe.workshop:id").
            Optional metadata string is passed through to the spawner for type-specific use (e.g. mount bounds/title).
            </summary>
        </member>
        <member name="M:GameManager.Kick(Sandbox.Connection,System.String)">
            <summary>
            Kicks a connected player with an optional reason.
            </summary>
        </member>
        <member name="M:GameManager.RpcKickPlayer(Sandbox.Connection,System.String)">
            <summary>
            RPC to kick a player. Caller must be host or have admin permission.
            </summary>
        </member>
        <member name="M:GameManager.KickCommand(System.String,System.String)">
            <summary>
            Kicks a player by name or Steam ID. Optionally provide a reason.
            Usage: kick [name|steamid] [reason]
            </summary>
        </member>
        <member name="M:GameManager.SetConVar(System.String,System.Boolean)">
            <summary>
            Sets a boolean convar and broadcasts the change to all players via chat.
            Only callable by the host.
            </summary>
        </member>
        <member name="M:GameManager.NotifyLocalized(System.String,System.Collections.Generic.Dictionary{System.String,System.String})">
            <summary>
            Broadcasts a phrase reference and data so each player formats the message locally.
            </summary>
        </member>
        <member name="M:GameManager.Sandbox#Component#INetworkListener#OnDisconnected(Sandbox.Connection)">
            <summary>
            Called when someone leaves the server. This will only be called for the host.
            </summary>
        </member>
        <member name="M:GameManager.SpawnPlayer(Sandbox.Connection,System.Boolean)">
            <summary>
            Spawns a player for this connection if they don't already have one. Host only.
            Fires <see cref="M:Global.IPlayerEvents.OnPlayerRespawning(PlayerRespawnEvent)"/> first, so listeners can move or
            cancel the spawn. Pass <paramref name="force"/> to skip that event - for addons that cancelled
            the normal flow and now want the player in the world. Returns the new player, or null if the
            connection already has one or a listener cancelled.
            </summary>
        </member>
        <member name="M:GameManager.SpawnPlayer(PlayerData,System.Boolean)">
            <inheritdoc cref="M:GameManager.SpawnPlayer(Sandbox.Connection,System.Boolean)"/>
        </member>
        <member name="M:GameManager.Respawn(Sandbox.Connection)">
            <summary>
            Forcefully respawns a player, whether they're dead or alive. Host only. Removes their current
            player object and any observer without a death, then spawns a fresh one without consulting
            <see cref="M:Global.IPlayerEvents.OnPlayerRespawning(PlayerRespawnEvent)"/>. This is the entry point for addons
            that run their own round flow: cancel the normal respawn, then call this when it's time.
            </summary>
        </member>
        <member name="M:GameManager.DestroyObservers(Sandbox.Connection)">
            <summary>
            Clean up any lingering death observers for this connection.
            </summary>
        </member>
        <member name="M:GameManager.RequestRespawn">
            <summary>
            Called by the client (via PlayerObserver) when they want to respawn. If a listener cancels the
            respawn the observer is kept, so the player stays spectating until an addon calls
            <see cref = "M:GameManager.Respawn(Sandbox.Connection)"/> or the next request goes through.
            </summary>
        </member>
        <member name="F:GameManager.PlayerHull">
            <summary>Approximate standing-player hull, used for spawn clearance and floor settling.</summary>
        </member>
        <member name="F:GameManager._lastSpawnPosition">
            <summary>The last position we spawned a player at, so we can avoid reusing it.</summary>
        </member>
        <member name="M:GameManager.FindSpawnLocation">
            <summary>
            Find a place to respawn: a floor-settled spawn point nobody is standing on, avoiding the
            last one used.
            </summary>
        </member>
        <member name="M:GameManager.OnDeath(Player,Sandbox.DamageInfo)">
            <summary>
            Called on the host when a played is killed
            </summary>
        </member>
        <member name="M:GameManager.OnNpcDeath(Sandbox.Npcs.Npc,Sandbox.DamageInfo)">
            <summary>
            Called on the host when an NPC is killed. Credits the attacker and adds a kill feed entry.
            </summary>
        </member>
        <member name="M:GameManager.ChangeProperty(Sandbox.Component,System.String,System.Object)">
            <summary>
            Change a property, remotely
            </summary>
        </member>
        <member name="M:GameManager.ApplyMorphBatch(Sandbox.SkinnedModelRenderer,System.String)">
            <summary>
            Apply a debounced batch of morph changes to a <see cref = "T:Sandbox.SkinnedModelRenderer"/>,
            replicated to all clients. Only the morphs present in the batch are modified.
            </summary>
        </member>
        <member name="M:GameManager.ApplyFacePosePreset(Sandbox.SkinnedModelRenderer,System.String)">
            <summary>
            Apply a full morph preset (as json), and captures with <see cref = "T:MorphState"/> which replicates changes to other clients
            </summary>
        </member>
        <member name="M:GameManager.ChangeWholeMaterialOverride(Sandbox.ModelRenderer,System.String)">
            <summary>
            Set the material that replaces every slot on a renderer, or clear it with a null/empty path.
            </summary>
        </member>
        <member name="F:WaterVolume.Objects">
            <summary>
            Roots of objects currently in the water.
            Handy for playing sounds only once per object, even if it has multiple colliders (like ragdolls)
            </summary>
        </member>
        <member name="T:GamePreferences">
            <summary>
            The local user's preferences in Deathmatch
            </summary>
        </member>
        <member name="P:GamePreferences.AutoSwitch">
            <summary>
            Enables automatic switching to better weapons on item pickup
            </summary>
        </member>
        <member name="P:GamePreferences.ViewBobbing">
            <summary>
            Enables movement bob, weapon inertia and animation-driven camera motion.
            </summary>
        </member>
        <member name="P:GamePreferences.ViewTilt">
            <summary>
            Strength of the camera tilt when moving sideways
            </summary>
        </member>
        <member name="P:GamePreferences.Screenshake">
            <summary>
            Intensity of your camera's screenshake
            </summary>
        </member>
        <member name="T:LimitsSystem">
            <summary>
            Enforces configurable limits on spawning and tool usage.
            Maintains a per-player tracked object list populated from post-events.
            Limit checks iterate only the player's objects, not the entire scene.
            </summary>
        </member>
        <member name="F:LimitsSystem._tracked">
            <summary>
            Per-player tracked objects keyed by SteamId.
            </summary>
        </member>
        <member name="F:LimitsSystem._allTracked">
            <summary>
            Fast lookup to check if a GameObject is already tracked by any player.
            </summary>
        </member>
        <member name="M:LimitsSystem.IsExceeded(System.Int32,System.Int32)">
            <summary>
            Returns true if the given count meets or exceeds the limit.
            A limit of -1 means unlimited (never exceeded). A limit of 0 means none allowed (always exceeded).
            </summary>
        </member>
        <member name="M:LimitsSystem.Count(System.Int64,System.Func{Sandbox.GameObject,System.Boolean})">
            <summary>
            Count tracked objects for a player, pruning destroyed ones. Applies an optional filter.
            </summary>
        </member>
        <member name="M:LimitsSystem.CheckToolLimit``2(IToolActionEvents.ActionData,System.Int32,System.Nullable{ToolInput})">
            <summary>
            Check a per-player tool limit. Returns true if the tool type matched.
            </summary>
        </member>
        <member name="T:PropImpactCameraEffect">
            <summary>
            A sharp impact jolt followed by a fast, fading rumble.
            Angular motion makes the hit visible against distant scenery as well as nearby props.
            </summary>
        </member>
        <member name="T:ServerSettings">
            <summary>
            Server-controlled settings replicated to all clients.
            </summary>
        </member>
        <member name="P:ServerSettings.DeveloperEntities">
            <summary>
            When enabled, developer entities are visible in the spawn menu for all players.
            Always on in the editor regardless of this value.
            </summary>
        </member>
        <member name="P:ServerSettings.ReEquipLast">
            <summary>
            On respawn, players get back the weapons they were carrying instead of the starter items.
            </summary>
        </member>
        <member name="P:ServerSettings.ShowDeveloperEntities">
            <summary>
            Returns true if developer entities should be shown.
            </summary>
        </member>
        <member name="T:AmmoPickup">
            <summary>
            A pickup that gives the player reserve ammo for a matching weapon.
            </summary>
        </member>
        <member name="P:AmmoPickup.AmmoType">
            <summary>
            The ammo resource this pickup gives ammo for.
            When set, ammo is added directly to the player's shared pool for that resource.
            </summary>
        </member>
        <member name="P:AmmoPickup.AmmoAmount">
            <summary>
            The quantity of ammo to give.
            </summary>
        </member>
        <member name="T:BasePickup">
            <summary>
            A weapon, or weapons, or ammo, that can be picked up
            </summary>
        </member>
        <member name="P:BasePickup.Collider">
            <summary>
            The pickup's collider, it is required
            </summary>
        </member>
        <member name="P:BasePickup.PickupSound">
            <summary>
            The sound to play when picking up this item
            </summary>
        </member>
        <member name="M:BasePickup.CanPickup(Player,PlayerInventory)">
            <summary>
            Check if the player can pick up this object
            </summary>
        </member>
        <member name="M:BasePickup.OnPickup(Player,PlayerInventory)">
            <summary>
            Give the player the effect of this pickup
            </summary>
            <returns>Should this object be consumed, eg on successful pickup</returns>
        </member>
        <member name="M:BasePickup.Sandbox#Component#ITriggerListener#OnTriggerEnter(Sandbox.GameObject)">
            <summary>
            Called when a gameobject enters the trigger.
            </summary>
        </member>
        <member name="M:BasePickup.Sandbox#Component#ICollisionListener#OnCollisionStart(Sandbox.Collision)">
            <summary>
            Called when a gameobject enters the trigger.
            </summary>
        </member>
        <member name="T:HealthPickup">
            <summary>
            A pickup that gives the player some health.
            </summary>
        </member>
        <member name="P:HealthPickup.HealthGive">
            <summary>
            How much health to give to the player
            </summary>
        </member>
        <member name="P:BaseToggle.OnStateChanged">
            <summary>
            The toggle state has changed
            </summary>
        </member>
        <member name="M:BaseToggle.StateHasChanged(System.Boolean)">
            <summary>
            The toggle state has changed
            </summary>
        </member>
        <member name="T:FuncMover">
            <summary>
            Moves and Rotates an Object.
            </summary>
        </member>
        <member name="P:TriggerTeleport.Include">
            <summary>
            If not empty, the target must have one of these tags
            </summary>
        </member>
        <member name="P:TriggerTeleport.Exclude">
            <summary>
            If not empty, the target must not have one of these tags
            </summary>
        </member>
        <member name="T:MetadataAttribute">
            <summary>
            A reusable property attribute that stores a string tag for resource picker filtering.
            The editor can read this attribute to filter GameResource assets by matching metadata.
            </summary>
        </member>
        <member name="P:NoclipMoveMode.EnableCollision">
            <summary>
            If true, the player will still collide with the world and other players. This probably
            means that the noclip mode is named wrong. But it's cool. It just becomes a fly around mode.
            </summary>
        </member>
        <member name="T:Player">
            <summary>
            Holds player information like health
            </summary>
        </member>
        <member name="M:Player.KillSelf(Sandbox.Connection)">
            <summary>
            Kill yourself
            </summary>
        </member>
        <member name="M:Player.ChangeMap(System.String)">
            <summary>
            Switch to another map
            </summary>
        </member>
        <member name="M:Player.RunUndo(Sandbox.Connection)">
            <summary>
            Undo the last action for the calling player
            </summary>
        </member>
        <member name="M:Player.FindForConnection(Sandbox.Connection)">
            <summary>
            Find a player for this connection
            </summary>
        </member>
        <member name="M:Player.For(System.Guid)">
            <summary>
            Get player from a connection id
            </summary>
        </member>
        <member name="P:Player.Undo">
            <summary>
            Access the undo system for this player
            </summary>
        </member>
        <member name="P:Player.HiddenHud">
            <summary>
            The HUD elements the player wants hidden right now: everything in freecam, otherwise whatever the held weapon hides
            </summary>
        </member>
        <member name="P:Player.WantsHideHud">
            <summary>
            True if the player wants any of the HUD not to draw right now
            </summary>
        </member>
        <member name="M:Player.IHudEvents#OnHudVisibility(HudElement@)">
            <summary>
            Feeds <see cref="P:Player.HiddenHud"/> into the HUD visibility event, so the camera weapon and freecam
            hide the HUD through the same path addons use. Panels ask through <see cref="M:Sandbox.Hud.IsVisible(HudElement)"/>.
            </summary>
        </member>
        <member name="P:Player.IsNoclipping">
            <summary>
            Whether this player is currently noclipping. Synced so proxies can animate correctly.
            </summary>
        </member>
        <member name="P:Player.SpawnProtection">
            <summary>Seconds of invulnerability after spawning, to stop spawn-killing. 0 disables it.</summary>
        </member>
        <member name="F:Player._timeSinceSpawned">
            <summary>
            Time since this player last spawned. Drives <see cref="P:Player.IsSpawnProtected"/>.
            </summary>
        </member>
        <member name="P:Player.IsSpawnProtected">
            <summary>
            True while the player is briefly invulnerable just after spawning, per the
            <c>sandbox.spawnprotection</c> convar.
            </summary>
        </member>
        <member name="M:Player.CopyBoneScalesToRagdoll(Sandbox.GameObject)">
            <summary>
            Try to inherit transforms from the player onto its new ragdoll
            </summary>
            <param name="ragdoll"></param>
        </member>
        <member name="M:Player.GetDeathLaunchVelocity(Sandbox.DamageInfo@)">
            <summary>
            Calculates the launch velocity for a ragdoll based on the damage source.
            For explosions, uses the direction from the blast origin to this NPC.
            Otherwise, falls back to the attacker's physical velocity.
            </summary>
        </member>
        <member name="M:Player.NotifyDeath(PlayerDiedParams)">
            <summary>
            Broadcasts death to other players
            </summary>
        </member>
        <member name="M:Player.Kill(Sandbox.DamageInfo@)">
            <summary>
            Called on the host when a player dies
            </summary>
        </member>
        <member name="M:Player.GetExplosionKnockback(Sandbox.DamageInfo@)">
            <summary>
            Launch velocity for a living player caught in a blast: away from the blast origin and upward,
            stronger the closer they were.
            </summary>
        </member>
        <member name="M:Player.ApplyKnockback(Vector3)">
            <summary>
            Movement is simulated by the owner, so the velocity change has to happen there.
            </summary>
        </member>
        <member name="T:PlayerDamageIndicators">
            <summary>
            Displays fading HUD indicators pointing toward recent damage sources.
            </summary>
        </member>
        <member name="P:PlayerDamageIndicators.RadialDamageIcon">
            <summary>
            Texture drawn around the crosshair to indicate the direction of incoming damage.
            </summary>
        </member>
        <member name="M:PlayerDamageIndicators.UpdateRadialIndicators">
            <summary>
            Draws each active damage indicator and removes indicators whose lifetime has elapsed.
            </summary>
        </member>
        <member name="T:PlayerData">
            <summary>
            Holds persistent player information like deaths, kills
            </summary>
        </member>
        <member name="P:PlayerData.IsMe">
            <summary>
            Is this player data me?
            </summary>
        </member>
        <member name="P:PlayerData.All">
            <summary>
            Data for all players
            </summary>
        </member>
        <member name="M:PlayerData.For(Sandbox.Connection)">
            <summary>
            Get player data for a player
            </summary>
        </member>
        <member name="M:PlayerData.AddStat(System.String,System.Int32)">
            <summary>
            Called on the host, calls a RPC on the player and adds a stat
            </summary>
        </member>
        <member name="T:PlayerPickupEvent">
            <summary>
            Data passed to pickup events. Set <see cref="P:PlayerPickupEvent.Cancelled"/> to true to prevent the pickup.
            </summary>
        </member>
        <member name="T:PlayerDropEvent">
            <summary>
            Data passed to drop events. Set <see cref="P:PlayerDropEvent.Cancelled"/> to true to prevent the drop.
            </summary>
        </member>
        <member name="T:PlayerSwitchWeaponEvent">
            <summary>
            Data passed to switch weapon events. Set <see cref="P:PlayerSwitchWeaponEvent.Cancelled"/> to true to prevent the switch.
            </summary>
        </member>
        <member name="T:PlayerRemoveWeaponEvent">
            <summary>
            Data passed to remove weapon events. Set <see cref="P:PlayerRemoveWeaponEvent.Cancelled"/> to true to prevent the removal.
            </summary>
        </member>
        <member name="T:PlayerMoveSlotEvent">
            <summary>
            Data passed to slot move events. Set <see cref="P:PlayerMoveSlotEvent.Cancelled"/> to true to prevent the move.
            </summary>
        </member>
        <member name="T:PlayerSeatHolsterEvent">
            <summary>
            Fired on the host when a player sits in a seat, before their weapon is put away. 
            Set <see cref="P:PlayerSeatHolsterEvent.Cancelled"/> to true to let them keep weapons out in it.
            </summary>
        </member>
        <member name="T:PlayerFlashlightEvent">
            <summary>
            Fired on the player's own machine when they press the flashlight key, before the flashlight toggles. Set
            <see cref="P:PlayerFlashlightEvent.Cancelled"/> to true to keep the key for yourself - a vehicle uses it for its headlights.
            </summary>
        </member>
        <member name="T:PlayerDamageEvent">
            <summary>
            Pre-damage event. Fired before damage is applied. Listeners can modify <see cref="P:PlayerDamageEvent.Damage"/>
            or set <see cref="P:PlayerDamageEvent.Cancelled"/> to block damage entirely.
            </summary>
        </member>
        <member name="T:PlayerRespawnEvent">
            <summary>
            Pre-respawn event. Fired on the host before the player is spawned. Listeners can modify
            <see cref="P:PlayerRespawnEvent.SpawnLocation"/> to control where the player appears, or set <see cref="P:PlayerRespawnEvent.Cancelled"/>
            to stop the spawn entirely - for example an addon running its own round loop that wants dead
            players to wait. A player cancelled after death stays in the observer state; spawn them later
            with <see cref="M:GameManager.Respawn(Sandbox.Connection)"/>, which skips this event. This also fires for the first
            spawn on join, so a listener that cancels there is responsible for giving that connection
            something to look at.
            </summary>
        </member>
        <member name="T:PlayerKillEvent">
            <summary>
            Fired when a player kills another player or NPC.
            </summary>
        </member>
        <member name="T:Local">
            <summary>
            Events fired only to the Player's own GameObject hierarchy.
            </summary>
        </member>
        <member name="M:Local.IPlayerEvents.OnMove(System.Boolean@)">
            <summary>
            Called every tick before movement input is applied. Set <paramref name="allowMovement"/>
            to false to prevent the player from moving with WASD this tick (e.g. while spinning a
            physgun-held object).
            </summary>
        </member>
        <member name="T:Global">
            <summary>
            Events broadcasted to the entire scene for any player action.
            </summary>
            <summary>
            Allows listening to events related to the <see cref="T:Sandbox.SaveSystem"/>.
            Implement this on a <see cref="T:Sandbox.Component"/> to receive callbacks before and after saves and loads.
            </summary>
            <summary>
            Allows listening to spawn events across the scene.
            Implement this on a <see cref="T:Sandbox.Component"/> to receive callbacks before and after objects are spawned.
            </summary>
        </member>
        <member name="M:Global.ISaveEvents.BeforeSave(System.String)">
            <summary>
            Called before the scene state is captured for saving.
            Use this to prepare any transient state that needs to be persisted.
            </summary>
        </member>
        <member name="M:Global.ISaveEvents.AfterSave(System.String)">
            <summary>
            Called after the save file has been written to disk.
            </summary>
        </member>
        <member name="M:Global.ISaveEvents.BeforeLoad(System.String)">
            <summary>
            Called before a save file is loaded — the current scene is still active.
            Use this to clean up any state that won't survive the scene reload.
            </summary>
        </member>
        <member name="M:Global.ISaveEvents.AfterLoad(System.String)">
            <summary>
            Called after a save file has been loaded and the scene is fully restored.
            Use this to re-initialize any runtime state from the loaded data.
            </summary>
        </member>
        <member name="T:Global.ISpawnEvents.SpawnData">
            <summary>
            Data passed to <see cref="M:Global.ISpawnEvents.OnSpawn(Global.ISpawnEvents.SpawnData)"/>. Set <see cref="P:Global.ISpawnEvents.SpawnData.Cancelled"/> to true to prevent the spawn.
            </summary>
        </member>
        <member name="P:Global.ISpawnEvents.SpawnData.Spawner">
            <summary>
            The spawner that will create the object(s).
            </summary>
        </member>
        <member name="P:Global.ISpawnEvents.SpawnData.Transform">
            <summary>
            The world-space transform where the object will be placed.
            </summary>
        </member>
        <member name="P:Global.ISpawnEvents.SpawnData.Player">
            <summary>
            The connection of the player requesting the spawn.
            </summary>
        </member>
        <member name="P:Global.ISpawnEvents.SpawnData.Cancelled">
            <summary>
            Set to true to cancel the spawn.
            </summary>
        </member>
        <member name="T:Global.ISpawnEvents.PostSpawnData">
            <summary>
            Data passed to <see cref="M:Global.ISpawnEvents.OnPostSpawn(Global.ISpawnEvents.PostSpawnData)"/> after a successful spawn.
            </summary>
        </member>
        <member name="P:Global.ISpawnEvents.PostSpawnData.Objects">
            <summary>
            The GameObjects that were spawned.
            </summary>
        </member>
        <member name="M:Global.ISpawnEvents.OnSpawn(Global.ISpawnEvents.SpawnData)">
            <summary>
            Called before an object is spawned into the world.
            Set <see cref="P:Global.ISpawnEvents.SpawnData.Cancelled"/> to true to reject the spawn.
            </summary>
        </member>
        <member name="M:Global.ISpawnEvents.OnPostSpawn(Global.ISpawnEvents.PostSpawnData)">
            <summary>
            Called after an object has been successfully spawned into the world.
            </summary>
        </member>
        <member name="T:PlayerFallDamage">
            <summary>
            Apply fall damage to the player
            </summary>
        </member>
        <member name="P:PlayerFallDamage.FatalFallSpeed">
            <summary>
            Fatal fall speed, you will die if you fall at or above this speed
            </summary>
        </member>
        <member name="P:PlayerFallDamage.MaxSafeFallSpeed">
            <summary>
            Maximum safe fall speed, you won't take damage at or below this speed
            </summary>
        </member>
        <member name="P:PlayerFallDamage.DamageMultiplier">
            <summary>
            Multiply damage amount by this much
            </summary>
        </member>
        <member name="P:PlayerFallDamage.FallSound">
            <summary>
            Fall damage sound
            </summary>
        </member>
        <member name="P:PlayerFlashlight.FillLight">
            <summary>
            Optional point light placed in front of the player, softly lighting what's right around them.
            </summary>
        </member>
        <member name="P:PlayerFlashlight.FillDistance">
            <summary>
            How far in front of the eyes the fill light sits. Pulled back if something is in the way.
            </summary>
        </member>
        <member name="M:PlayerFlashlight.IsKeyTaken">
            <summary>
            Ask whether anything else wants the flashlight key right now, like the headlights of a car we're driving.
            </summary>
        </member>
        <member name="T:PlayerGib">
            <summary>
            Describes a player gib.
            </summary>
        </member>
        <member name="M:PlayerInventory.GiveAmmo(Sandbox.BaseAmmoResource,System.Int32)">
            <summary>Give reserve ammo and report the amount actually accepted to its owner.</summary>
        </member>
        <member name="P:PlayerInventory.IsSeatHolstered">
            <summary>
            True while the player sits in a seat with their weapons put away. While seated, player cannot switch weapons.
            You can use <see cref = "T:PlayerSeatHolsterEvent"/> to cancel holstering and keep weapons equipped while seated.
            </summary>
        </member>
        <member name="P:PlayerInventory.Weapons">
            <summary>
            All weapons currently in the inventory, ordered by slot. Narrowing shim over engine Items.
            </summary>
        </member>
        <member name="P:PlayerInventory.ActiveWeapon">
            <summary>
            The currently active weapon. Narrowing shim over the engine's <see cref="P:Sandbox.BaseInventoryComponent.ActiveItem"/>.
            </summary>
        </member>
        <member name="M:PlayerInventory.GetSlot(System.Int32)">
            <summary>
            Returns the weapon in the given slot, or null if the slot is empty.
            </summary>
        </member>
        <member name="M:PlayerInventory.FindExistingWeapon(BaseSandboxWeapon)">
            <summary>
            A weapon of the same class we already carry, if any. Duplicate handling itself is the
            engine's (a duplicate donates its magazine to the reserve, see BaseCombatWeapon.OnAdding) - this
            just finds the weapon the donation lands on, for the pickup notices.
            </summary>
        </member>
        <member name="M:PlayerInventory.SetToolMode(System.String)">
            <summary>
            Activates the named tool mode, giving and equipping the toolgun first if the player doesn't have one.
            </summary>
        </member>
        <member name="M:PlayerInventory.PickupWorldItem(Sandbox.BaseInventoryItem)">
            <summary>
            Engine Touch pickup lands here (see <see cref="P:Sandbox.BaseInventoryComponent.PickupMode"/>). Routes into
            <see cref="M:PlayerInventory.Take(BaseSandboxWeapon,System.Boolean)"/>, so duplicates donate their ammo and the pickup notices fire. Contraption-
            wired weapons refuse themselves (see <see cref="T:BaseSandboxWeapon"/>'s OnCanPickup).
            </summary>
        </member>
        <member name="M:PlayerInventory.OnAdding(Sandbox.BaseInventoryItem,System.Int32)">
            <summary>
            Fires the cancellable pickup events before the engine adds an item.
            </summary>
        </member>
        <member name="M:PlayerInventory.Drop(BaseSandboxWeapon)">
            <summary>
            Drops the given weapon from the inventory. The engine holsters it, the weapon throws itself
            into the world (see <see cref="M:BaseSandboxWeapon.OnDrop"/>) and we switch to the best remaining
            weapon. The cancellable drop event fires from <see cref="M:PlayerInventory.OnDropping(Sandbox.BaseInventoryItem)"/>.
            </summary>
        </member>
        <member name="M:PlayerInventory.ShouldAutoswitchTo(BaseSandboxWeapon,System.Boolean)">
            <summary>
            Whether picking up <paramref name="item"/> should switch to it. <paramref name="given"/> means it was handed over explicitly
            (spawn menu, give): that still honours AutoSwitch and a weapon in use, but skips the value comparison.
            </summary>
        </member>
        <member name="M:PlayerInventory.GetBestWeapon">
            <summary>
            The weapon the inventory would auto-switch to. The engine's <see cref="M:Sandbox.BaseInventoryComponent.GetBestItem"/>
            handles the Value ordering and the avoid-empty-guns fallback.
            </summary>
        </member>
        <member name="M:PlayerInventory.CanSwitchTo(BaseSandboxWeapon)">
            <summary>
            Asks whether this player may switch to <paramref name="weapon"/> (null means holster). Checks the
            weapon's own <see cref="M:Sandbox.BaseInventoryItem.CanSwitchTo"/>, then fires the cancellable
            switch event on the player and scene-wide, so addons can refuse. Runs wherever it's called - the
            hotbar uses it client-side to filter, <see cref="M:PlayerInventory.SwitchWeapon(BaseSandboxWeapon,System.Boolean)"/> uses it as the gate. Voluntary
            switches are therefore vetoed on the initiating client; the engine's host path isn't hookable.
            </summary>
        </member>
        <member name="M:PlayerInventory.SwitchWeapon(BaseSandboxWeapon,System.Boolean)">
            <summary>
            Switches to the given weapon after asking <see cref="M:PlayerInventory.CanSwitchTo(BaseSandboxWeapon)"/>. Wraps the engine inventory's
            <see cref="M:Sandbox.BaseInventoryComponent.Switch(Sandbox.BaseInventoryItem,System.Boolean)"/>, which handles host-routing and the outgoing weapon's
            holster veto. Forced switches (death, drop, removal) don't come through here and can't be vetoed.
            </summary>
        </member>
        <member name="M:PlayerInventory.DropActiveWeapon">
            <summary>
            Called by the owning client to drop their currently held weapon.
            </summary>
        </member>
        <member name="M:PlayerInventory.Remove(BaseSandboxWeapon)">
            <summary>
            Removes a weapon from the inventory and destroys it without dropping it into the world. The
            engine holsters it, destroys it and switches to the best remaining weapon. The cancellable
            remove event fires from <see cref="M:PlayerInventory.OnRemoving(Sandbox.BaseInventoryItem)"/>.
            </summary>
        </member>
        <member name="T:PlayerLoadout">
            <summary>
            Remembers the weapons a player carries and, when the server has Re-equip Last on
            (<see cref="P:ServerSettings.ReEquipLast"/>), gives them back on respawn instead of the starter items.
            Lives on the Player GameObject alongside PlayerInventory.
            Listens to inventory events to auto-save, and handles all loadout RPCs directly.
            </summary>
        </member>
        <member name="T:PlayerLoadout.LoadoutEntry">
            <summary>
            One entry in a serialized loadout: the prefab resource path.
            </summary>
        </member>
        <member name="M:PlayerLoadout.GetSpawnLoadout">
            <summary>
            The saved hotbar to restore on spawn, or null for the starter items. Read on the owning client,
            where the hotbar is stored; the replicated server setting decides whether it's used.
            </summary>
        </member>
        <member name="M:PlayerLoadout.ReplaceLoadoutAsync(System.String)">
            <summary>
            Clears the current inventory, waits a frame, then gives the loadout from JSON and equips the best weapon.
            A layout that gives back nothing falls back to the starter items.
            </summary>
        </member>
        <member name="T:PlayerObserver">
            <summary>
            Dead players become these. They try to observe their last corpse. 
            </summary>
        </member>
        <member name="T:PlayerStats">
            <summary>
            Record stats for the local player
            </summary>
        </member>
        <member name="P:UndoSystem.HistoryItem.NameTokens">
            <summary>
            Named parameters for the action title, resolved by the player viewing the history.
            </summary>
        </member>
        <member name="E:UndoSystem.HistoryUpdated">
            <summary>
            Raised on the requesting client when the host sends the latest undo history.
            </summary>
        </member>
        <member name="M:UndoSystem.For(System.Int64)">
            <summary>
            Get the undo stack for a specific SteamId
            </summary>
        </member>
        <member name="M:UndoSystem.RemovePlayer(System.Int64)">
            <summary>
            Call this when a player disconnects to prevent memory leaks!
            </summary>
        </member>
        <member name="M:UndoSystem.Remove(Sandbox.GameObject)">
            <summary>
            Remove a GameObject from all player undo stacks.
            </summary>
        </member>
        <member name="M:UndoSystem.RequestHistory">
            <summary>
            Ask the host for the local player's current undo history.
            </summary>
        </member>
        <member name="M:UndoSystem.UndoEntry(System.Guid)">
            <summary>
            Undo one specific history entry. The caller can only address their own stack.
            </summary>
        </member>
        <member name="T:UndoSystem.PlayerStack">
            <summary>
            Per-player undo stack
            </summary>
        </member>
        <member name="M:UndoSystem.PlayerStack.Create">
            <summary>
            Create a new undo entry
            </summary>
        </member>
        <member name="M:UndoSystem.PlayerStack.Contains(UndoSystem.Entry)">
            <summary>
            Is this entry still in the history? False once it has been undone, evicted, or pruned.
            </summary>
        </member>
        <member name="M:UndoSystem.PlayerStack.Undo">
            <summary>
            Run the undo
            </summary>
        </member>
        <member name="M:UndoSystem.PlayerStack.Undo(System.Guid)">
            <summary>
            Run and remove one specific entry from this player's history.
            </summary>
        </member>
        <member name="M:UndoSystem.PlayerStack.GetHistory">
            <summary>
            Return newest-first history, pruning entries whose objects no longer exist.
            </summary>
        </member>
        <member name="M:UndoSystem.PlayerStack.Remove(Sandbox.GameObject)">
            <summary>
            Remove a GameObject from all entries in this stack.
            </summary>
        </member>
        <member name="T:UndoSystem.Entry">
            <summary>
            An undo entry
            </summary>
        </member>
        <member name="P:UndoSystem.Entry.Name">
            <summary>
            The action title, optionally a hash-prefixed phrase resolved by the receiving player.
            </summary>
        </member>
        <member name="P:UndoSystem.Entry.NameTokens">
            <summary>
            Named parameters for a localized action title. Keep phrase references unresolved here.
            </summary>
        </member>
        <member name="M:UndoSystem.Entry.Add(Sandbox.GameObject)">
            <summary>
            Add a GameObject that should be destroyed when the undo is undone
            </summary>
        </member>
        <member name="M:UndoSystem.Entry.Add(System.Collections.Generic.IEnumerable{Sandbox.GameObject})">
            <summary>
            Add a collection of GameObjects that should be destroyed when the undo is undone.
            The owner is sent their updated history, so add everything in one call.
            </summary>
        </member>
        <member name="M:UndoSystem.Entry.Remove(Sandbox.GameObject)">
            <summary>
            Remove a GameObject from this entry so it will no longer be destroyed on undo.
            </summary>
        </member>
        <member name="M:UndoSystem.Entry.Run(System.Boolean)">
            <summary>
            Run this undo
            </summary>
        </member>
        <member name="M:UndoSystem.Entry.UndoNotice(System.String,System.String)">
            <summary>
            Displays the undone action using the receiving player's language.
            </summary>
        </member>
        <member name="T:CloudLoadTracker">
            <summary>
            Tracks how many spawner payloads are loading on behalf of the local player, so the
            <see cref="T:Sandbox.CloudLoadRing"/> shows on the client who asked for the spawn - not whoever happens
            to be doing the loading (usually the host). Call <see cref="M:CloudLoadTracker.Track(System.Threading.Tasks.Task{System.Boolean},Sandbox.Connection)"/> with the requesting connection.
            </summary>
        </member>
        <member name="P:CloudLoadTracker.IsLoading">
            <summary>
            True while any spawner requested by the local player is still loading its payload.
            </summary>
        </member>
        <member name="M:CloudLoadTracker.Track(System.Threading.Tasks.Task{System.Boolean},Sandbox.Connection)">
            <summary>
            Show the loading ring for <paramref name="owner"/> until <paramref name="loading"/> completes.
            A null owner means the local connection.
            </summary>
        </member>
        <member name="T:DuplicatorSpawner">
            <summary>
            Payload for spawning a duplicator contraption.
            </summary>
        </member>
        <member name="M:DuplicatorSpawner.#ctor(System.String,System.String)">
            <summary>
            Create a duplicator spawner from a storage or workshop ident.
            Resolution and package installation happen asynchronously via <see cref="P:ISpawner.Loading"/>.
            </summary>
        </member>
        <member name="M:DuplicatorSpawner.FromJson(System.String,System.String,System.String)">
            <summary>
            Create from raw dupe JSON (e.g. from a storage entry). No icon.
            </summary>
        </member>
        <member name="M:DuplicatorSpawner.FromData(System.String)">
            <summary>
            Creates a duplicator spawner from the serialized data string. This is what gets synced to clients, so it includes the icon and raw JSON.
            </summary>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:DuplicatorSpawner.DrawPreview(Transform,Sandbox.Material)">
            <summary>
            Draws the duplication ghost, using a separate blueprint material for models that have not loaded yet.
            </summary>
        </member>
        <member name="T:EntitySpawner">
            <summary>
            Payload for spawning a scripted entity prefab.
            </summary>
        </member>
        <member name="M:EntitySpawner.GetYawCorrection">
            <summary>
            Get a yaw correction so the longest horizontal axis of the bounds aligns with forward.
            </summary>
        </member>
        <member name="M:ISpawnerExtensions.Create(System.String,System.String,System.String,System.String)">
            <inheritdoc cref="M:ISpawnerExtensions.&lt;G&gt;$F5275EE18425D354D1CC4D7200FBC4D4.Create(System.String,System.String,System.String,System.String)"/>
        </member>
        <member name="M:ISpawnerExtensions.ResolveMetadata(System.String,System.String)">
            <inheritdoc cref="M:ISpawnerExtensions.&lt;G&gt;$F5275EE18425D354D1CC4D7200FBC4D4.ResolveMetadata(System.String,System.String)"/>
        </member>
        <member name="M:ISpawnerExtensions.&lt;G&gt;$F5275EE18425D354D1CC4D7200FBC4D4.Create(System.String,System.String,System.String,System.String)">
            <summary>
            Create an <see cref="T:ISpawner"/> from its type, path, and optional metadata.
            The spawner may still be loading — await <see cref="P:ISpawner.Loading"/> before use.
            </summary>
        </member>
        <member name="M:ISpawnerExtensions.&lt;G&gt;$F5275EE18425D354D1CC4D7200FBC4D4.ResolveMetadata(System.String,System.String)">
            <summary>
            Resolve any metadata the host might not be able to work out itself (e.g. mount bounds and title).
            Call this on the requesting client before a spawn RPC. Returns null if there's nothing to pass.
            </summary>
        </member>
        <member name="T:ISpawner">
            <summary>
            Describes something that can be spawned into the world
            Implementations handle their own preview rendering and spawn logic.
            </summary>
        </member>
        <member name="P:ISpawner.DisplayName">
            <summary>
            Display name shown in the HUD while holding this payload.
            </summary>
        </member>
        <member name="P:ISpawner.FullIdent">
            <summary>
            A full ident if it's a sbox.game thing
            </summary>
        </member>
        <member name="P:ISpawner.Icon">
            <summary>
            Icon path for this payload, used for inventory display via <c>thumb:path</c>.
            </summary>
        </member>
        <member name="P:ISpawner.Bounds">
            <summary>
            The local-space bounds of the thing being spawned, used to offset placement so it sits on surfaces.
            </summary>
        </member>
        <member name="P:ISpawner.IsReady">
            <summary>
            Whether all required resources (packages, models, etc.) are loaded and ready to place.
            </summary>
        </member>
        <member name="P:ISpawner.Loading">
            <summary>
            A task that completes with true when loading succeeds, or false if it fails.
            </summary>
        </member>
        <member name="P:ISpawner.Data">
            <summary>
            The raw data needed to reconstruct this spawner (e.g. a cloud ident, or JSON).
            </summary>
        </member>
        <member name="P:ISpawner.Metadata">
            <summary>
            Extra data resolved on the requesting client that the host might not be able to work out itself
            (e.g. bounds and game title of mounted content). Passed alongside <see cref="P:ISpawner.Data"/> when networking.
            </summary>
        </member>
        <member name="P:ISpawner.Prefab">
            <summary>
            The unspawned prefab GameObject, if available. Allows inspecting components before spawning.
            Returns null for spawners that don't use prefabs (e.g. props, duplicator).
            </summary>
        </member>
        <member name="M:ISpawner.PopulateContextMenu(Sandbox.UI.Menu,System.String)">
            <summary>
            Populate a right-click context menu with spawner-specific options.
            Override in spawner implementations to add custom menu items.
            </summary>
        </member>
        <member name="M:ISpawner.DrawPreview(Transform,Sandbox.Material)">
            <summary>
            Draw a ghost preview at the given world transform.
            </summary>
        </member>
        <member name="M:ISpawner.Spawn(Transform,Player)">
            <summary>
            Actually spawn the thing at the given transform. Called on the host.
            Returns the root GameObject(s) that were spawned so they can be added to undo.
            </summary>
        </member>
        <member name="T:MountSpawner">
            <summary>
            Like <see cref="T:PropSpawner"/>, but attaches <see cref="T:MountMetadata"/> to the spawned object
            so clients without the mount installed can show a fallback cube and install prompt.
            </summary>
        </member>
        <member name="T:MountSpawner.MountInfo">
            <summary>
            What the requesting client resolved locally, so a host without the mount still spawns
            it with the right size and game title.
            </summary>
        </member>
        <member name="M:MountSpawner.MountInfo.#ctor(System.String,Vector3,Vector3)">
            <summary>
            What the requesting client resolved locally, so a host without the mount still spawns
            it with the right size and game title.
            </summary>
        </member>
        <member name="P:MountSpawner.HasModel">
            <summary>
            True if the mounted model loaded locally.
            </summary>
        </member>
        <member name="P:MountSpawner.Metadata">
            <summary>
            What we know about this mount (title and bounds), serialized to pass through spawn RPCs.
            </summary>
        </member>
        <member name="M:MountSpawner.ResolveMetadata(System.String)">
            <summary>
            Resolve mount metadata on this machine, before asking the host to spawn it.
            </summary>
        </member>
        <member name="T:PropSpawner">
            <summary>
            Payload for spawning a prop model from a cloud ident.
            </summary>
        </member>
        <member name="T:IContextMenuEvent">
            <summary>
            Lets scene components and systems add actions to an object's right-click menu.
            Options are collected with a sort order (lower is higher in the menu), then the Inspector builds the menu.
            The built-ins use 100 (Ignite/Extinguish), 200 (Delete) and 300 (Break); the default of 0 lands above them.
            </summary>
        </member>
        <member name="P:IContextMenuEvent.Event.Target">
            <summary>
            The network root of the object that was right-clicked.
            </summary>
        </member>
        <member name="P:IContextMenuEvent.Event.Options">
            <summary>
            Options collected so far, sorted by order. Stable, so options sharing an order keep insertion order.
            </summary>
        </member>
        <member name="M:IContextMenuEvent.Event.Populate(Sandbox.UI.Menu)">
            <summary>
            Build the collected options into a menu.
            </summary>
        </member>
        <member name="T:IMenuBarEvent">
            <summary>
            Lets scene components and systems add menus to the strip of settings along the top of the inspect menu,
            like Garry's Mod's context menu bar. Menus are found by title, so several listeners can add to the same one.
            The built-ins use the order 100 (Client), 200 (NPCs) and 300 (Server); the default of 0 lands before them.
            </summary>
        </member>
        <member name="P:IMenuBarEvent.Event.Menus">
            <summary>
            Menus collected so far, sorted by order. Stable, so menus sharing an order keep insertion order.
            </summary>
        </member>
        <member name="M:IMenuBarEvent.Event.GetOrAddMenu(System.String,System.Int32)">
            <summary>
            Get the menu with this title, or add one. The order only counts when the menu is added.
            </summary>
        </member>
        <member name="M:IMenuBarEvent.Event.AddToggle(Sandbox.UI.Menu,System.String,System.Func{System.Boolean},System.Action{System.Boolean})">
            <summary>
            Add a checkable row that reads and writes a setting. Its check mark is refreshed every time the menu opens.
            </summary>
        </member>
        <member name="M:IMenuBarEvent.Event.AddHostToggle(Sandbox.UI.Menu,System.String,System.Func{System.Boolean},System.Action{System.Boolean})">
            <summary>
            Add a checkable row for a server setting. Only the host can change it, everyone else sees it greyed out
            with the current value, the way Garry's Mod shows host-only settings.
            </summary>
        </member>
        <member name="T:HudElement">
            <summary>
            The pieces of the HUD that can be hidden independently. Flags, so a listener can hide several at
            once; <see cref="F:HudElement.All"/> hides everything, which is what the camera weapon and freecam do.
            </summary>
        </member>
        <member name="F:HudElement.Vitals">
            <summary>
            Health and armour.
            </summary>
        </member>
        <member name="F:HudElement.Ammo">
            <summary>
            The active weapon's clip and reserve.
            </summary>
        </member>
        <member name="F:HudElement.Inventory">
            <summary>
            The weapon hotbar.
            </summary>
        </member>
        <member name="F:HudElement.KillFeed">
            <summary>
            The kill feed.
            </summary>
        </member>
        <member name="F:HudElement.Scoreboard">
            <summary>
            The scoreboard (held on the Score bind).
            </summary>
        </member>
        <member name="F:HudElement.ToolInfo">
            <summary>
            The active tool's name, description and action hints.
            </summary>
        </member>
        <member name="F:HudElement.Crosshair">
            <summary>
            The crosshair, pressable tooltips and the cloud-loading ring around it.
            </summary>
        </member>
        <member name="F:HudElement.Nameplates">
            <summary>
            Name and avatar floating over other players.
            </summary>
        </member>
        <member name="F:HudElement.OwnerLabel">
            <summary>
            The "Owned by" label for the object you're looking at.
            </summary>
        </member>
        <member name="F:HudElement.Notices">
            <summary>
            Toast notices in the corner.
            </summary>
        </member>
        <member name="F:HudElement.Voices">
            <summary>
            Who is talking.
            </summary>
        </member>
        <member name="F:HudElement.AmmoPickups">
            <summary>
            Recent ammo pickups above the ammo counter.
            </summary>
        </member>
        <member name="F:HudElement.Chat">
            <summary>
            The chat box and the recent messages.
            </summary>
        </member>
        <member name="T:IHudEvents">
            <summary>
            Lets any component in the scene hide parts of the HUD. Asked once a frame by <see cref="T:Sandbox.Hud"/>
            whenever a HUD panel wants to know if it may draw. Implement this on an addon component and add
            the elements you want off screen: <c>hidden |= HudElement.Inventory | HudElement.Ammo</c> during a
            build phase, or <c>hidden = HudElement.All</c> for a cutscene. Anything nobody hides stays visible.
            <see cref="P:Player.WantsHideHud"/> (the camera weapon, freecam) hides everything through this same event.
            </summary>
        </member>
        <member name="T:IKillIcon">
            <summary>
            This component has a kill icon that can be used in the killfeed, or somewhere else.
            </summary>
        </member>
        <member name="T:DupesPage">
            <summary>
            This component has a kill icon that can be used in the killfeed, or somewhere else.
            </summary>
        </member>
        <member name="F:DupeCategory.Vehicle">
            <summary>
            Vehicle duplication category.
            </summary>
        </member>
        <member name="F:DupeCategory.Robot">
            <summary>
            Robot duplication category.
            </summary>
        </member>
        <member name="F:DupeCategory.Plane">
            <summary>
            Plane duplication category.
            </summary>
        </member>
        <member name="F:DupeCategory.Pose">
            <summary>
            Pose duplication category.
            </summary>
        </member>
        <member name="F:DupeCategory.Weapon">
            <summary>
            Weapon duplication category.
            </summary>
        </member>
        <member name="F:DupeCategory.Art">
            <summary>
            Art duplication category.
            </summary>
        </member>
        <member name="F:DupeCategory.Scene">
            <summary>
            Scene duplication category.
            </summary>
        </member>
        <member name="F:DupeCategory.Game">
            <summary>
            Game duplication category.
            </summary>
        </member>
        <member name="F:DupeCategory.Spaceship">
            <summary>
            Spaceship duplication category.
            </summary>
        </member>
        <member name="F:DupeCategory.Machine">
            <summary>
            Machine duplication category.
            </summary>
        </member>
        <member name="F:DupeCategory.Toys">
            <summary>
            Toys duplication category.
            </summary>
        </member>
        <member name="F:DupeCategory.Trap">
            <summary>
            Trap duplication category.
            </summary>
        </member>
        <member name="F:DupeCategory.Boat">
            <summary>
            Boat duplication category.
            </summary>
        </member>
        <member name="F:DupeCategory.Other">
            <summary>
            Other duplication category.
            </summary>
        </member>
        <member name="F:DupeMovement.Static">
            <summary>
            Static movement classification.
            </summary>
        </member>
        <member name="F:DupeMovement.Wheeled">
            <summary>
            Wheeled movement classification.
            </summary>
        </member>
        <member name="F:DupeMovement.Flying">
            <summary>
            Flying movement classification.
            </summary>
        </member>
        <member name="F:DupeMovement.Walking">
            <summary>
            Walking movement classification.
            </summary>
        </member>
        <member name="F:DupeMovement.Water">
            <summary>
            Water movement classification.
            </summary>
        </member>
        <member name="F:DupeMovement.Tracked">
            <summary>
            Tracked movement classification.
            </summary>
        </member>
        <member name="T:EntityPage">
            <summary>
            This component has a kill icon that can be used in the killfeed, or somewhere else.
            </summary>
        </member>
        <member name="M:EntityPage.CategoryTitle(System.String)">
            <summary>
            Translate known category labels without changing their resource or search identifiers.
            </summary>
        </member>
        <member name="T:MountsPage">
            <summary>
            This component has a kill icon that can be used in the killfeed, or somewhere else.
            </summary>
        </member>
        <member name="M:MountsPage.FolderOptions(System.String,Sandbox.Mounting.ResourceFolder)">
            <summary>
            The folders under this one that have models somewhere inside, each opening onto its own.
            </summary>
        </member>
        <member name="T:LocalProps">
            <summary>
            Hardcoded models that ship with the game and aren't available on the workshop.
            Add new entries here — they'll appear automatically in the Local props section.
            </summary>
        </member>
        <member name="T:LocalProps.Entry">
            <summary>
            A bundled model with a category identifier and optional localized title.
            </summary>
        </member>
        <member name="M:LocalProps.Entry.#ctor(System.String,System.String,System.String)">
            <summary>
            A bundled model with a category identifier and optional localized title.
            </summary>
        </member>
        <member name="P:LocalProps.Entry.DisplayName">
            <summary>
            Derives a display name from the filename: strips the extension,
            replaces underscores with spaces, and title-cases each word.
            </summary>
        </member>
        <member name="T:PropsPage">
            <summary>
            This component has a kill icon that can be used in the killfeed, or somewhere else.
            </summary>
        </member>
        <member name="T:ICookieSource">
            <summary>
            We want to save the properties of this instance as cookies.
            </summary>
        </member>
        <member name="P:ICookieSource.CookiePrefix">
            <summary>
            Prefix to put before the names of any cookies, without a trailing period.
            For example: <c>"tool.balloon"</c>
            </summary>
        </member>
        <member name="T:CookieSourceExtensions">
            <summary>
            Extension methods for <see cref="T:ICookieSource"/>.
            </summary>
        </member>
        <member name="M:CookieSourceExtensions.SaveCookies(ICookieSource)">
            <inheritdoc cref="M:CookieSourceExtensions.&lt;G&gt;$50404B163C2297A5D1FD7B9E14FA962D.SaveCookies"/>
        </member>
        <member name="M:CookieSourceExtensions.LoadCookies(ICookieSource)">
            <inheritdoc cref="M:CookieSourceExtensions.&lt;G&gt;$50404B163C2297A5D1FD7B9E14FA962D.LoadCookies"/>
        </member>
        <member name="M:CookieSourceExtensions.&lt;G&gt;$50404B163C2297A5D1FD7B9E14FA962D.SaveCookies">
            <summary>
            Saves any instance properties with a <see cref="T:Sandbox.PropertyAttribute"/>, excluding any
            with <see cref="T:System.Text.Json.Serialization.JsonIgnoreAttribute"/>, into <see cref="P:Sandbox.Game.Cookies"/>.
            </summary>
        </member>
        <member name="M:CookieSourceExtensions.&lt;G&gt;$50404B163C2297A5D1FD7B9E14FA962D.LoadCookies">
            <summary>
            Loads any instance properties with a <see cref="T:Sandbox.PropertyAttribute"/>, excluding any
            with <see cref="T:System.Text.Json.Serialization.JsonIgnoreAttribute"/>, from <see cref="P:Sandbox.Game.Cookies"/>.
            </summary>
        </member>
        <member name="T:HighlightStyle">
            <summary>
            How an object highlight looks: its outline colour, the colour where something closer hides it, and its width.
            </summary>
        </member>
        <member name="M:HighlightStyle.#ctor(Color,Color,System.Single)">
            <summary>
            How an object highlight looks: its outline colour, the colour where something closer hides it, and its width.
            </summary>
        </member>
        <member name="F:HighlightStyle.Selected">
            <summary>
            Something we're acting on - held by the physgun, or selected in the inspector.
            </summary>
        </member>
        <member name="F:HighlightStyle.Hovered">
            <summary>
            Something under the inspector's cursor
            </summary>
        </member>
        <member name="P:ObjectHighlight.Material">
            <summary>
            The opacity-aware highlight material every sandbox outline draws with.
            </summary>
        </member>
        <member name="M:ObjectHighlight.Create(Sandbox.GameObject)">
            <summary>
            Add a hidden outline to <paramref name="host"/>, to point at things later with <see cref="M:ObjectHighlight.Show(Sandbox.HighlightOutline,Sandbox.GameObject,HighlightStyle)"/>.
            </summary>
        </member>
        <member name="M:ObjectHighlight.Show(Sandbox.HighlightOutline,Sandbox.GameObject,HighlightStyle)">
            <summary>
            Outline <paramref name="target"/>, or hide the outline if it's not valid.
            </summary>
        </member>
        <member name="M:ObjectHighlight.Show(Sandbox.HighlightOutline,System.Collections.Generic.IEnumerable{Sandbox.GameObject},HighlightStyle)">
            <summary>
            Outline <paramref name="targets"/>, or hide the outline if there are none.
            </summary>
        </member>
        <member name="M:ObjectHighlight.Hide(Sandbox.HighlightOutline)">
            <summary>
            Stop outlining anything.
            </summary>
        </member>
        <member name="M:ObjectHighlight.Flash(Sandbox.GameObject,HighlightStyle,System.Single,System.Single)">
            <summary>
            Briefly flash an outline around <paramref name="target"/>, fading in to <paramref name="brightness"/> times
            the style's colour and back out over <paramref name="duration"/> seconds.
            </summary>
        </member>
        <member name="T:OutlineFlash">
            <summary>
            A short-lived outline that fades in, peaks at boosted brightness and fades back out. Start one with <see cref="M:ObjectHighlight.Flash(Sandbox.GameObject,HighlightStyle,System.Single,System.Single)"/>.
            </summary>
        </member>
        <member name="P:OutlineFlash.Brightness">
            <summary>
            Color multiplier at the peak of the flash effect
            </summary>
        </member>
        <member name="T:GameFonts">
            <summary>
            Fonts that can be picked by a player. Font must be added either from engine or project "fonts" folder, then put its name here.
            </summary>
        </member>
        <member name="T:LocalData">
            <summary>
            Quick data folder file storage, good for saving local data
            </summary>
        </member>
        <member name="M:LocalData.Set``1(System.String,``0)">
            <summary>
            Serialize <paramref name="value"/> and write it to <c>{key}.json</c> under <see cref="P:Sandbox.FileSystem.Data"/>.
            The directory hierarchy is created automatically.
            </summary>
        </member>
        <member name="M:LocalData.Get``1(System.String,``0)">
            <summary>
            Read and deserialize the value stored at <paramref name="key"/>.
            Returns <paramref name="fallback"/> if the file doesn't exist or deserialization fails.
            </summary>
        </member>
        <member name="M:LocalData.Has(System.String)">
            <summary>
            Returns true if a value has been stored at <paramref name="key"/>.
            </summary>
        </member>
        <member name="M:LocalData.Delete(System.String)">
            <summary>
            Delete the value stored at <paramref name="key"/>. No-op if it doesn't exist.
            </summary>
        </member>
        <member name="T:LocalizedText">
            <summary>
            Resolves phrase references at the point of display, including data received from the host.
            Plain text such as workshop titles and player names is kept as supplied.
            </summary>
        </member>
        <member name="M:LocalizedText.Resolve(System.String,System.Collections.Generic.Dictionary{System.String,System.String})">
            <summary>
            Resolves a hash-prefixed phrase and its named parameters using the local player's language.
            Parameter values can themselves be hash-prefixed phrase references.
            </summary>
        </member>
        <member name="M:LocalizedText.Literal(System.String)">
            <summary>
            Escapes user-supplied parameter text so a leading hash cannot become a phrase reference.
            </summary>
        </member>
        <member name="M:LocalizedText.InputTitle(Sandbox.InputAction)">
            <summary>
            Localizes an input title inside the game while keeping the input configuration readable
            by the engine's settings menu, which does not load this game's phrase catalogs.
            </summary>
        </member>
        <member name="M:LocalizedText.InputGroup(System.String)">
            <summary>
            Localizes the display name of an input group without changing its identifier.
            </summary>
        </member>
        <member name="M:LocalizedText.ResourceTypeName(Sandbox.AssetTypeAttribute,System.String)">
            <summary>
            Returns a phrase reference for built-in resource types while preserving custom type names.
            Editor asset metadata remains readable outside the game's localization context.
            </summary>
        </member>
        <member name="M:LocalizedText.ResourceTypeName(System.String,System.String)">
            <summary>
            The same by extension, for types without an asset type like materials.
            </summary>
        </member>
        <member name="T:PackageSortMode">
            <summary>
            A typed sort mode for finding packages.
            </summary>
        </member>
        <member name="F:PackageSortMode.Popular">
            <summary>
            Popular entries.
            </summary>
        </member>
        <member name="F:PackageSortMode.Newest">
            <summary>
            Newest entries.
            </summary>
        </member>
        <member name="F:PackageSortMode.Trending">
            <summary>
            Trending entries.
            </summary>
        </member>
        <member name="F:PackageSortMode.Random">
            <summary>
            Random entries.
            </summary>
        </member>
        <member name="M:PackageSortModeExtensions.ToIdentifier(PackageSortMode)">
            <summary>
            Returns the API supported string equivalent of this sort mode.
            </summary>
        </member>
        <member name="M:PackageSortModeExtensions.Icon(PackageSortMode)">
            <summary>
            Material icon representing this sort mode in menus.
            </summary>
        </member>
        <member name="T:SelfCollisionSound">
            <summary>
            Only play the collision sound from this object's surface - not both the impacting surface and this surface.
            </summary>
        </member>
        <member name="T:SpawnPlacement">
            <summary>
            Pure queries for placing things in the world: drop a position to the floor, test whether a
            spot is occupied, and pick a spawn position from one or more candidates. Never moves anything.
            </summary>
        </member>
        <member name="M:SpawnPlacement.DropToFloor(Vector3,BBox,System.Single,Sandbox.GameObject)">
            <summary>
            Settle <paramref name="position"/> onto the first solid (non-trigger) surface within
            <paramref name="maxDrop"/> below it. Returns it unchanged if nothing solid is below.
            </summary>
        </member>
        <member name="M:SpawnPlacement.IsPositionClear(Vector3,BBox,Sandbox.GameObject)">
            <summary>
            True if nothing solid (excluding the static world and triggers) overlaps the hull at
            <paramref name="position"/> — i.e. no player, prop or NPC is already standing there.
            </summary>
        </member>
        <member name="M:SpawnPlacement.FindSpawnPosition(System.Collections.Generic.IEnumerable{Transform},BBox,System.Boolean,System.Single,System.Nullable{Vector3})">
            <summary>
            Pick a spawn position from one or more seed transforms: settle to the floor (unless
            <paramref name="dropToFloor"/> is false), make sure nothing is standing there, and scan
            outward up to <paramref name="scanRadius"/> for a clear spot. Prefers spots away from
            <paramref name="avoid"/>. Best-effort if nothing is clear.
            </summary>
        </member>
        <member name="M:SpawnPlacement.Candidates(Vector3,System.Single)">
            <summary>
            Candidate positions for a seed: the seed itself, then concentric rings of offsets when
            scanning is enabled.
            </summary>
        </member>
        <member name="T:WorkshopSortMode">
            <summary>
            A friendly sort mode for Storage/Workshop queries, wrapping <see cref="T:Sandbox.Storage.SortOrder"/>.
            </summary>
        </member>
        <member name="M:WorkshopSortModeExtensions.ToSortOrder(WorkshopSortMode)">
            <summary>
            Converts to the underlying <see cref="T:Sandbox.Storage.SortOrder"/> value.
            </summary>
        </member>
        <member name="T:FourWheelVehicle">
            <summary>
            The tuning readout: everything the vehicle is doing, painted into the HUD by <see cref="T:Sandbox.VehicleDebugSection"/>.
            Turn it on for the vehicle you're driving with <c>vehicle_debug 1</c>, or for one vehicle with its Draw Debug
            property. Host only, since only the host simulates.
            </summary>
            <summary>
            The driver's keys, turned into throttle, brake, steering, boost and handbrake controls.
            </summary>
            <summary>
            The drivetrain: engine, gearbox, brakes, handbrake, steering, power slides and boost, turned into torque and
            steering for the wheels (FourWheelVehicle.Wheels.cs), plus the pushes on the body - extra gravity and the power
            slide. The maths is in meters and Newtons, converted where it touches the engine (inches).
            </summary>
             <summary>
             Posing the model, a <see cref="T:Sandbox.SkinnedModelRenderer"/>. Every machine poses its own from wherever it has the body:
             it traces for the wheels itself and rolls them at the body's speed, so the host's wheel state never goes over the
             network.
            
             The bones, where {c} is fl, fr, rl or rr:
             <list type="bullet">
             <item><c>wheel_{c}</c> - the knuckle, where the arm meets it (at the front, on the steering axis). It moves up and
             down with the suspension. The arm and shock are skinned from the body to this, so they follow.</item>
             <item><c>wheel_{c}_steer</c> - a child of the knuckle where it is, that turns to steer: the front axle. Without
             one, a front knuckle steers itself.</item>
             <item><c>wheel_{c}_spin</c> - a child of those at the tyre's centre, which is where the suspension holds the
             wheel. It rolls about whichever of its axes runs closest to the axle.</item>
             <item><c>steering_wheel</c> - turns about <see cref="P:FourWheelVehicle.SteeringWheelAxis"/>.</item>
             </list>
             Any other bone rides on its parent.
             </summary>
             <summary>
             The wheels. They aren't bodies: each finds the ground below where it rests, and everything a wheel does - spring,
             damper, anti-roll bar, drive, brake and grip - is a push on the body where it meets the ground.
            
             The maths is in meters and Newtons. Lengths and velocities come in as inches and are converted, forces are Newtons
             until they become impulses on the body.
             </summary>
            <summary>
            A drivable four wheel vehicle. It goes on the vehicle body, a normal rigidbody that still collides, tumbles and
            can be picked up.
            <list type="bullet">
            <item>This file - the seat, the engine starting and stopping, what's synced to everyone</item>
            <item>FourWheelVehicle.Driver.cs - the driver's keys into throttle, brake, steering, boost and handbrake</item>
            <item>FourWheelVehicle.Drivetrain.cs - engine, gearbox, brakes, steering, power slides and boost</item>
            <item>FourWheelVehicle.Wheels.cs - the wheels: suspension, anti-roll bars, drive and grip</item>
            <item>FourWheelVehicle.Rig.cs - posing the model: wheels, suspension and steering wheel</item>
            </list>
            The wheels aren't bodies: each finds the ground below it and pushes the body where they meet. Where they are and
            what they look like comes from the model's bones.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.UpdateDebugHud(System.Boolean)">
            <summary>
            Fill the HUD's vehicle readout, or hide it if this vehicle was showing it.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.WheelDebug(FourWheelVehicle.Wheel)">
            <summary>
            Slip the way tyre models think of it: how much faster the tread turns than the ground goes past under it
            (ratio) and how far the contact patch's travel is from where the wheel points (angle). The wheels
            always turn at the body's speed, so the ratio only shows locked wheels and the car turning about itself.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.SpeedThrottleAsBrake">
            <summary>
            Slower than this (in/s) the car counts as stopped, and the throttle drives rather than brakes.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.BrakeRate">
            <summary>
            How fast the brake comes on, per second. Twice as fast braking with forward while rolling back.
            </summary>
        </member>
        <member name="F:FourWheelVehicle._freeRevving">
            <summary>
            Throttle held with the handbrake on: revving the engine in neutral.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.IsBoosting">
            <summary>
            The boost is burning.
            </summary>
        </member>
        <member name="P:FourWheelVehicle.IsBoostRecovering">
            <summary>
            Recharging from a boost, so another can't start yet.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.SteeringRest(System.Single,System.Single)">
            <summary>
            Let go of the steering: it returns to centre, slower the faster we're going.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.SteeringTurn(System.Single,System.Boolean,System.Boolean,System.Boolean,System.Single)">
            <summary>
            Steering towards full lock, slower the faster we're going - but snapping back through the centre when changing
            direction, quicker on the brakes and while boosting.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.ThrottleOpposingForceEpsilon">
            <summary>
            Rolling the wrong way faster than this (in/s) with the throttle down locks the wheels, so you can hold the car
            on a hill and pull away.
            </summary>
        </member>
        <member name="F:FourWheelVehicle._braking">
            <summary>
            The wheel torques are brakes, not drive.
            </summary>
        </member>
        <member name="P:FourWheelVehicle.GravityLength">
            <summary>
            Gravity in meters per second squared - what the tuning's multiples of gravity are of.
            </summary>
        </member>
        <member name="P:FourWheelVehicle.GravityScale">
            <summary>
            Scale on the scene's gravity that gives us <see cref="P:FourWheelVehicle.Gravity"/>.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.UpdateDrivetrain(System.Single,VehicleControlParams)">
            <summary>
            Run the drivetrain for a tick with the driver's controls.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.BodySpeed">
            <summary>
            Speed along the body's forward axis, in/s, over the last tick (see <see cref="M:FourWheelVehicle.MeasuredVelocity(Vector3)"/>).
            </summary>
        </member>
        <member name="M:FourWheelVehicle.SteeringCone(System.Single)">
            <summary>
            The most the front wheels can turn at a speed (mph), in degrees: less the faster the car goes.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.SetSteeringAngle(System.Single)">
            <summary>
            Point both front wheels at the angle. Positive is to the right, in radians.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.UpdatePowerslide(VehicleControlParams,System.Boolean,System.Single)">
            <summary>
            On the handbrake at speed the tyres swap for slippier ones, and steering into it pushes the nose and tail apart.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.UpdateSkidding(System.Boolean)">
            <summary>
            Wheels on the ground, and how fast the fastest sliding one goes - or the car's speed, sliding on the handbrake.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.UpdateGearbox(System.Single)">
            <summary>
            The automatic gearbox: the engine rpm from how fast the wheels turn, shifting up (only while accelerating)
            and down at the tuning's rpms.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.CalcEngine(System.Single,System.Single,System.Single,System.Boolean)">
            <summary>
            The wheels' torques, in Newton meters, from the throttle [-1, 1] or the brake [0, 1].
            </summary>
        </member>
        <member name="M:FourWheelVehicle.OnDriverExit">
            <summary>
            The driver got out: normal tyres back on, and the handbrake.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.SimulateBodyForces(System.Single)">
            <summary>
            Pushes on the body itself: extra gravity, and the power slide pushing the nose and tail sideways, two meters
            either side of the centre of mass. Both scale with the body's mass alone, without the wheels.
            </summary>
        </member>
        <member name="F:FourWheelVehicle._wheelsRig">
            <summary>
            The rig the wheels were set up from.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.GetRig">
            <summary>
            The model's rig, or null if there's no model or it doesn't have the wheel bones.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.PoseRig">
            <summary>
            Put the wheels where the ground is, steer and roll them, and turn the steering wheel.
            </summary>
        </member>
        <member name="T:FourWheelVehicle.Rig">
            <summary>
            A model's bones, where they rest in body space, and their pose this frame.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.Rig.Order">
            <summary>
            Every bone, parents before their children.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.Rig._moved">
            <summary>
            How each bone has been moved this frame, in its own rest frame.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.Rig.HardPoint(System.Int32)">
            <summary>
            Where the suspension holds the wheel: the tyre's centre at rest.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.Rig.Axle(System.Int32)">
            <summary>
            The axle a wheel rolls about at rest, pointing left: the spin bone's axis closest to the car's left, so it
            doesn't matter which way the bone was built.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.Rig.Move(System.Int32,Vector3,Rotation)">
            <summary>
            Move a bone by an offset and turn it about itself, both in body space as it sits at rest. Its children go
            with it.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.Rig.Pose(System.Int32)">
            <summary>
            A bone's pose in body space this frame: riding on its parent as it did at rest, then moved. Call it in
            <see cref="F:FourWheelVehicle.Rig.Order"/>, so the parent's is ready.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.Wheel.HardPoint">
            <summary>
            Where the wheel centre rests in body space. The suspension runs straight down the body from here.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.Wheel.SteerAngle">
            <summary>
            Steering angle, radians, positive to the right.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.Wheel.Torque">
            <summary>
            Drive or brake torque, Newton meters.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.Wheel.Locked">
            <summary>
            Held still by the handbrake.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.Wheel.TyreFriction">
            <summary>
            Friction of the tyre the wheel has on (normal, braking or power slide).
            </summary>
        </member>
        <member name="F:FourWheelVehicle.Wheel.GroundDistance">
            <summary>
            How far below the hard point's radius-above the ground is, inches: the wheel centre sits at
            <c>HardPoint + down * (GroundDistance - Radius)</c>. Spring length plus radius in the air.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.Wheel.Load">
            <summary>
            What the wheel is pushing the body up with, Newtons.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.Wheel.AngularVelocity">
            <summary>
            Rolling speed, radians a second.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.Wheel.Top">
            <summary>
            The hard point and the suspension's direction in the world this tick.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.Wheel.Contact">
            <summary>
            Where the tyre touches the ground, or would at full extension.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.Wheel.SlopeFactor">
            <summary>
            The spring pushes harder on a slope, to hold the car up as well as into it.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.Wheel.ProjectedAxle">
            <summary>
            The axle and the way the wheel rolls, both flat on the ground.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.Wheel.AtGripLimit">
            <summary>
            Whether the grip forces hit the friction limit, and how fast the tyre slides over the ground once they
            have (in/s) - for the skid sound and the debug readout.
            </summary>
        </member>
        <member name="P:FourWheelVehicle.Wheel.AxleBody">
            <summary>
            The axle in body space, steered: straight it points left.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.AddWheelMass">
            <summary>
            The car carries its wheels' mass, and their inertia as point masses at the hard points - without it, it's light
            and far too easy to spin. The wheels' weight goes straight to the ground at the contact patches
            (<see cref="M:FourWheelVehicle.SimulateSpring(FourWheelVehicle.Wheel,System.Single)"/>), so the springs still only hold the body up.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.Simulate(System.Single)">
            <summary>
            The wheels' pushes on the body for this tick.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.FindGround(FourWheelVehicle.Wheel,Transform)">
            <summary>
            Find the ground under the wheel (<see cref="M:FourWheelVehicle.WheelSweep(Vector3,Vector3,Vector3,System.Single,System.Single,System.Single)"/>) and lay the axle flat on it.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.WheelContact.Distance">
            <summary>
            See <see cref="F:FourWheelVehicle.Wheel.GroundDistance"/>.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.WheelSweep(Vector3,Vector3,Vector3,System.Single,System.Single,System.Single)">
            <summary>
            Where the ground is under a wheel: a sweep of the wheel's own shape, a cylinder as wide as the tyre around its
            axle, from a radius above the hard point down to the spring's full length. It meets a step's edge on the front
            of the tyre, and the slant of that contact is what lifts the wheel up onto it.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.Ground(Sandbox.SceneTrace)">
            <summary>
            What a wheel stands on: anything but this vehicle and players.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.SimulateStabilizer(FourWheelVehicle.Wheel,FourWheelVehicle.Wheel,VehicleAxleParams)">
            <summary>
            An anti-roll bar: the more one wheel of an axle is compressed than the other, the harder it pushes them back level.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.SimulateSpring(FourWheelVehicle.Wheel,System.Single)">
            <summary>
            The spring and damper, pushing the body up off the ground, plus the wheel's own weight on it.
            </summary>
        </member>
        <member name="P:FourWheelVehicle.BodyGravity">
            <summary>
            Gravity the physics applies to the body over a tick (the extra gravity is ours, a push like any other).
            </summary>
        </member>
        <member name="M:FourWheelVehicle.MeasuredVelocity(Vector3)">
            <summary>
            How the body moved at a point over the last tick. The velocity we read is where the last tick ended, and the
            physics adds gravity across its substeps, so a car sitting still reads as sinking (or rolling downhill) at half
            a tick's gravity - 6 in/s at 50 Hz. Taken as it is, the dampers hold the car up instead of the springs, and a
            car held on a hill never reads as stopped.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.PredictedVelocity(Vector3)">
            <summary>
            How the body will move at a point over the next tick if nothing but gravity acts. What a brake or a locked
            wheel has to cancel to hold the car still - including on a hill.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.SimulateGrip(System.Single)">
            <summary>
            The tyres' grip. First the sideways forces that would stop each axle sliding, then each wheel's share of those
            and its drive or brake force, cut down to what its load and friction can hold.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.SidewaysForces(System.Single)">
            <summary>
            The sideways force at the middle of each axle that takes its sideways speed away this tick (a little more, to
            settle quicker), solved for both axles at once since pushing one also turns the body under the other.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.ApplyLockedWheelGrip(FourWheelVehicle.Wheel,System.Single,System.Single,System.Single@)">
             <summary>
             A locked wheel slides with plain friction against wherever its contact patch is going - which includes the
             patch swinging round as the car yaws, so a handbrake turn doesn't spin away.
            
             Each locked wheel stops its patch exactly, for the car's real inertia at that point, and the next one works from
             the car's motion after it. Pushed all at once from the same motion, the pushes below the centre of mass roll
             the car under the other wheels, and a parked car rocks and creeps sideways.
             </summary>
        </member>
        <member name="M:FourWheelVehicle.TrackImpulse(Vector3,Vector3)">
            <summary>
            Carry an impulse we've just pushed the body with (kg in/s, at a point) into this tick's idea of how it's moving.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.PushAt(FourWheelVehicle.Wheel,Vector3)">
            <summary>
            Push the body at the wheel's contact, an impulse in Newton seconds - and push back on whatever it's standing on.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.InverseMass(Vector3,Vector3,Vector3,Vector3)">
            <summary>
            How much a push at point A along direction A changes the body's speed at point B along direction B, per kg m/s -
            the inverse mass the body has between those two.
            </summary>
        </member>
        <member name="P:FourWheelVehicle.Seat">
            <summary>
            The driver's seat. Whoever sits here drives.
            </summary>
        </member>
        <member name="P:FourWheelVehicle.SteeringWheelAxis">
            <summary>
            Local axis of the steering column, pointing at the driver.
            </summary>
        </member>
        <member name="P:FourWheelVehicle.SteeringWheelAngle">
            <summary>
            How far the steering wheel turns at full lock, in degrees.
            </summary>
        </member>
        <member name="P:FourWheelVehicle.Gravity">
            <summary>
            The gravity the tuning is for, in inches per second squared. The vehicle falls at this rather than the scene's
            gravity. Zero uses the scene's gravity.
            </summary>
        </member>
        <member name="P:FourWheelVehicle.SteerAngle">
            <summary>
            Front wheel steering angle in degrees, positive to the right.
            </summary>
        </member>
        <member name="P:FourWheelVehicle.WheelsLocked">
            <summary>
            The handbrake has the wheels locked.
            </summary>
        </member>
        <member name="P:FourWheelVehicle.SoundRpm">
            <summary>
            Engine speed for sound: the gearbox's, or the free revving engine's while revving in neutral.
            </summary>
        </member>
        <member name="P:FourWheelVehicle.ThrottleDown">
            <summary>
            The driver is accelerating (not braking, not on the handbrake).
            </summary>
        </member>
        <member name="P:FourWheelVehicle.SkidSpeed">
            <summary>
            Fastest a wheel is sliding over the ground, in/s.
            </summary>
        </member>
        <member name="P:FourWheelVehicle.Speed">
            <summary>
            Forward speed, in/s, negative backwards.
            </summary>
        </member>
        <member name="P:FourWheelVehicle.SpeedMph">
            <summary>
            Speed in miles per hour, either way.
            </summary>
        </member>
        <member name="F:FourWheelVehicle.FreeRevRiseRate">
            <summary>
            How fast the engine revs up and runs down in neutral, rpm a second.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.InitCarSystem">
            <summary>
            Set up the body and the wheels from the tuning.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.IPlayerControllable#OnControl">
            <summary>
            Driven from the seat by <see cref="T:ControlSystem"/>, before our fixed update, with the driver's input active.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.ParkedAsleep">
            <summary>
            A parked car that has settled goes to sleep, rather than being held up by its wheels every tick - that never
            quite comes to rest, it jitters on the spot. Anything that wakes the body (a hit, the physgun, a driver getting
            in) brings the wheels back.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.PublishState">
            <summary>
            Sync what everyone else needs: the steering and wheel visuals, and the engine state for sounds.
            </summary>
        </member>
        <member name="M:FourWheelVehicle.UpdateDriver">
            <summary>
            The engine starts and stops as people get in and out of the seat. Getting out puts the handbrake on.
            </summary>
        </member>
        <member name="T:VehicleCamera">
            <summary>
            A chase camera for whoever's driving, in third person. It sits behind the car and swings round after it, a little
            late - more so in a slide, where it looks the way the car's going. It hangs back as the car accelerates and closes
            in under braking, the field of view opens up with speed and boost, it shakes a little when it's going fast, and it
            settles after jumps. The mouse orbits it and it stays where you put it, until you've been driving a while without
            touching the mouse - then it eases back behind the car.
            </summary>
        </member>
        <member name="P:VehicleCamera.Distance">
            <summary>
            How far behind the car the camera sits, inches.
            </summary>
        </member>
        <member name="P:VehicleCamera.Height">
            <summary>
            How far above the car's origin the camera sits, inches.
            </summary>
        </member>
        <member name="P:VehicleCamera.LookHeight">
            <summary>
            The point the camera looks at: this far above the car's origin, inches...
            </summary>
        </member>
        <member name="P:VehicleCamera.LookAhead">
            <summary>
            ...and this far ahead of it.
            </summary>
        </member>
        <member name="P:VehicleCamera.FollowRate">
            <summary>
            How quickly the camera swings round behind the car - higher is tighter.
            </summary>
        </member>
        <member name="P:VehicleCamera.SlideFollow">
            <summary>
            How far towards the way the car's actually going the camera looks in a slide, 0 to 1.
            </summary>
        </member>
        <member name="P:VehicleCamera.SlopeFollow">
            <summary>
            How much of the car's pitch on a slope the camera takes, 0 to 1.
            </summary>
        </member>
        <member name="P:VehicleCamera.AccelerationLag">
            <summary>
            Inches the camera hangs back per inch per second squared of acceleration (closes in under braking).
            </summary>
        </member>
        <member name="P:VehicleCamera.SpeedDistance">
            <summary>
            Inches further back at top speed.
            </summary>
        </member>
        <member name="P:VehicleCamera.SpeedFov">
            <summary>
            Degrees of field of view added at top speed, and on top of that while boosting.
            </summary>
        </member>
        <member name="P:VehicleCamera.BoostFov">
            <inheritdoc cref="P:VehicleCamera.SpeedFov"/>
        </member>
        <member name="P:VehicleCamera.SpeedShake">
            <summary>
            How much the camera shakes at top speed, inches.
            </summary>
        </member>
        <member name="P:VehicleCamera.LookResetDelay">
            <summary>
            Seconds of driving without touching the mouse before the camera eases back behind the car.
            </summary>
        </member>
        <member name="P:VehicleCamera.LookResetSpeed">
            <summary>
            Miles per hour the car has to be doing for the camera to ease back behind it. Slower, it stays where you put it.
            </summary>
        </member>
        <member name="M:VehicleCamera.IsDriving">
            <summary>
            The local player is in the driver's seat, looking from behind.
            </summary>
        </member>
        <member name="M:VehicleCamera.Snap(Transform)">
            <summary>
            Straight behind the car, no lag - getting in, or switching to third person.
            </summary>
        </member>
        <member name="M:VehicleCamera.Spring(System.Single@,System.Single@,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            A critically damped spring towards a target moving at a given speed, responding at about the given rate.
            </summary>
        </member>
        <member name="T:VehicleLights">
             <summary>
             A vehicle's headlights (the low beams) and its light bar (the high beams), which comes on as well as them.
            
             The driver taps the flashlight key to switch the headlights on and off, and holds it to switch between low and
             high beam. While they're driving the key is ours: we cancel the player's own flashlight through
             <see cref="M:Global.IPlayerEvents.OnPlayerFlashlight(PlayerFlashlightEvent)"/>.
             </summary>
        </member>
        <member name="P:VehicleLights.HoldTime">
            <summary>
            How long the key has to be held to switch beams, seconds. A shorter press switches the lights on or off.
            </summary>
        </member>
        <member name="P:VehicleLights.WarmUpTime">
            <summary>
            How long the bulbs take to come up to full brightness or go out, seconds.
            </summary>
        </member>
        <member name="P:VehicleLights.HighBeams">
            <summary>
            The light bar. It comes on as well as the low beams.
            </summary>
        </member>
        <member name="M:VehicleLights.IPlayerControllable#OnControl">
            <summary>
            Tap to switch the lights, hold to switch beams. Runs on the host, from the driver's seat.
            </summary>
        </member>
        <member name="M:VehicleLights.Global#IPlayerEvents#OnPlayerFlashlight(PlayerFlashlightEvent)">
            <summary>
            The driver's flashlight key works the headlights instead.
            </summary>
        </member>
        <member name="T:VehicleMath">
            <summary>
            Small maths helpers for the vehicle code.
            </summary>
        </member>
        <member name="M:VehicleMath.Approach(System.Single,System.Single,System.Single)">
            <summary>
            Move <paramref name="value"/> towards <paramref name="target"/> by at most <paramref name="speed"/>.
            </summary>
        </member>
        <member name="M:VehicleMath.RemapValClamped(System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Map <paramref name="val"/> from [a, b] to [c, d], clamped to the range.
            </summary>
        </member>
        <member name="M:VehicleMath.Sign(System.Single)">
            <summary>
            Zero counts as positive.
            </summary>
        </member>
        <member name="T:VehicleBodyParams">
            <summary>
            How the body handles. Values are in the units they're tuned in (mph, inches, kg, multiples of body mass) and
            converted where the physics uses them.
            </summary>
        </member>
        <member name="P:VehicleBodyParams.MassCenterOverride">
            <summary>
            Local centre of mass. Zero uses the model's.
            </summary>
        </member>
        <member name="P:VehicleBodyParams.MassOverride">
            <summary>
            Body mass in kg, without the wheels. Zero uses the model's.
            </summary>
        </member>
        <member name="P:VehicleBodyParams.AddGravity">
            <summary>
            Extra gravity pushed on the body, as a fraction of normal gravity.
            </summary>
        </member>
        <member name="P:VehicleBodyParams.MaxAngularVelocity">
            <summary>
            Degrees per second. The body's angular velocity is clamped to this.
            </summary>
        </member>
        <member name="P:VehicleEngineParams.MaxSpeed">
            <summary>
            Miles per hour.
            </summary>
        </member>
        <member name="P:VehicleEngineParams.MaxReverseSpeed">
            <summary>
            Miles per hour.
            </summary>
        </member>
        <member name="P:VehicleEngineParams.AutobrakeSpeedGain">
            <summary>
            Speed gain allowed over <see cref="P:VehicleEngineParams.MaxSpeed"/> while coasting before the brakes go on.
            </summary>
        </member>
        <member name="P:VehicleEngineParams.AutobrakeSpeedFactor">
            <summary>
            The auto brake is this times the speed gain.
            </summary>
        </member>
        <member name="P:VehicleEngineParams.BoostForce">
            <summary>
            How much boost multiplies the engine's torque.
            </summary>
        </member>
        <member name="P:VehicleEngineParams.BoostDelay">
            <summary>
            Seconds after the boost ends before it can be used again.
            </summary>
        </member>
        <member name="P:VehicleEngineParams.BoostMaxSpeed">
            <summary>
            Miles per hour.
            </summary>
        </member>
        <member name="P:VehicleEngineParams.BoostLowSpeedFactor">
            <summary>
            How much of the boost you get from a standstill, rising to all of it at <see cref="P:VehicleEngineParams.MaxSpeed"/>.
            </summary>
        </member>
        <member name="P:VehicleSteeringParams.DegreesSlow">
            <summary>
            Steering cone at zero to slow speed.
            </summary>
        </member>
        <member name="P:VehicleSteeringParams.DegreesFast">
            <summary>
            Steering cone at fast speed to max speed.
            </summary>
        </member>
        <member name="P:VehicleSteeringParams.DegreesBoost">
            <summary>
            Steering cone at max boost speed (blends toward this after max speed).
            </summary>
        </member>
        <member name="P:VehicleSteeringParams.SteeringExponent">
            <summary>
            Steering is linear, then raised to this power to be slower at the beginning of the curve.
            </summary>
        </member>
        <member name="P:VehicleSteeringParams.SpeedSlow">
            <summary>
            Miles per hour.
            </summary>
        </member>
        <member name="P:VehicleSteeringParams.SpeedFast">
            <summary>
            Miles per hour.
            </summary>
        </member>
        <member name="P:VehicleSteeringParams.PowerSlideAccel">
            <summary>
            Inches per second squared, pushing the nose and tail apart while power sliding.
            </summary>
        </member>
        <member name="P:VehicleAxleParams.WheelRadius">
            <summary>
            Inches.
            </summary>
        </member>
        <member name="P:VehicleAxleParams.TyreWidth">
            <summary>
            Inches. The width of the cylinder swept for the ground.
            </summary>
        </member>
        <member name="P:VehicleAxleParams.WheelMass">
            <summary>
            Kilograms. Carried by the car, but standing on the ground rather than on the springs.
            </summary>
        </member>
        <member name="P:VehicleAxleParams.Friction">
            <summary>
            Tyre friction, times the ground's.
            </summary>
        </member>
        <member name="P:VehicleAxleParams.BrakeFriction">
            <summary>
            Tyre friction while handbrake sliding.
            </summary>
        </member>
        <member name="P:VehicleAxleParams.SkidFriction">
            <summary>
            Tyre friction while power sliding.
            </summary>
        </member>
        <member name="P:VehicleAxleParams.RollingResistance">
            <summary>
            Drag on a rolling wheel, as a fraction of the load on it.
            </summary>
        </member>
        <member name="P:VehicleAxleParams.SpringAdditionalLength">
            <summary>
            How far below its rest position the wheel hangs with the spring relaxed, in inches.
            </summary>
        </member>
        <member name="P:VehicleAxleParams.SpringConstant">
            <summary>
            Multiple of body mass, Newtons per meter.
            </summary>
        </member>
        <member name="P:VehicleAxleParams.SpringDamping">
            <summary>
            Multiple of body mass, damping while the spring relaxes.
            </summary>
        </member>
        <member name="P:VehicleAxleParams.StabilizerConstant">
            <summary>
            Multiple of body mass, anti-roll bar stiffness between this axle's wheels.
            </summary>
        </member>
        <member name="P:VehicleAxleParams.SpringDampingCompression">
            <summary>
            Multiple of body mass, damping while the spring compresses.
            </summary>
        </member>
        <member name="T:VehicleControlParams">
            <summary>
            What the driver's asking for.
            </summary>
        </member>
        <member name="T:VehicleOperatingParams">
            <summary>
            What the vehicle's doing.
            </summary>
        </member>
        <member name="F:VehicleOperatingParams.Speed">
            <summary>
            Inches per second along the body's forward axis.
            </summary>
        </member>
        <member name="F:VehicleOperatingParams.SteeringAngle">
            <summary>
            Degrees.
            </summary>
        </member>
        <member name="T:VehicleSoundState">
            <summary>
            What the engine's doing, as far as its sound goes. Each state plays its own recording.
            </summary>
        </member>
        <member name="T:VehicleSoundGear">
            <summary>
            A band of speed (as a fraction of top speed) one gear sound covers.
            </summary>
        </member>
        <member name="T:VehicleStateSound">
            <summary>
            The recording for a sound state.
            </summary>
        </member>
        <member name="P:VehicleStateSound.Sound">
            <summary>
            Recording for this state. Left empty, the state is silent.
            </summary>
        </member>
        <member name="P:VehicleStateSound.MinTime">
            <summary>
            Seconds to stay in this state before moving on.
            </summary>
        </member>
        <member name="T:VehicleCrashSound">
            <summary>
            A sound for losing a lot of speed at once. Speeds are inches per second.
            </summary>
        </member>
        <member name="P:VehicleCrashSound.GearLimit">
            <summary>
            Only used up to this sound gear (0 for any).
            </summary>
        </member>
        <member name="T:VehicleSounds">
             <summary>
             Engine, gear, skid and crash sounds for a <see cref="T:FourWheelVehicle"/>: one recording per sound state, chosen
             from the throttle and how fast the car is going. And the exhaust backfires - a crackle when you lift off from high
             revs, pops against the rev limiter and on hard upshifts - with a flame out of the pipe.
            
             Runs on everyone from the engine state the host syncs on the vehicle.
             </summary>
        </member>
        <member name="P:VehicleSounds.Exhaust">
            <summary>
            Where the exhaust comes out, pointing out of the pipe. Backfire flames come from here.
            </summary>
        </member>
        <member name="P:VehicleSounds.BackfireEffect">
            <summary>
            Spawned at the exhaust on each backfire.
            </summary>
        </member>
        <member name="P:VehicleSounds.CrackleRate">
            <summary>
            Most backfires a second in the crackle after lifting off.
            </summary>
        </member>
        <member name="P:VehicleSounds.CrackleRevs">
            <summary>
            Revs the crackle starts from, as a fraction of max rpm.
            </summary>
        </member>
        <member name="P:VehicleSounds.LimiterRate">
            <summary>
            Backfires a second against the rev limiter.
            </summary>
        </member>
        <member name="P:VehicleSounds.ShiftPops">
            <summary>
            Pop on upshifts with the throttle down.
            </summary>
        </member>
        <member name="P:VehicleSounds.Gears">
            <summary>
            As the vehicle speeds up it moves through these, each with its own gear sound.
            </summary>
        </member>
        <member name="P:VehicleSounds.SkidSound">
            <summary>
            Looped while skidding.
            </summary>
        </member>
        <member name="M:VehicleSounds.SoundUpdate(System.Boolean)">
            <summary>
            Move through the sound gears with the speed and pick the state - the throttle, reverse, boost and speed come
            from the host.
            </summary>
        </member>
        <member name="M:VehicleSounds.CheckCrash">
            <summary>
            Play the crash sound for a big enough drop in speed since last time. Returns whether there was one.
            </summary>
        </member>
        <member name="M:VehicleSounds.UpdateSkid">
            <summary>
            The skid sound. We have to slide at least 15% of our speed at higher speeds to make it, otherwise it plays
            too often.
            </summary>
        </member>
        <member name="M:VehicleSounds.PlayLoopingSound(Sandbox.SoundEvent)">
            <summary>
            Fade out the old state's sound and start the new one.
            </summary>
        </member>
        <member name="M:VehicleSounds.UpdateBackfires">
            <summary>
            The exhaust backfiring. Unburnt fuel lights in the hot pipe: for a moment after lifting off from high revs
            (it builds up under hard throttle and dies away over about a second), against the rev limiter, and on hard
            upshifts. Each one pops and shoots a flame out of the exhaust.
            </summary>
        </member>
        <member name="T:CameraWeapon">
            <summary>
            A camera weapon that can be held by a player and renders to a render target texture, which can be displayed on a TV.
            </summary>
        </member>
        <member name="F:CameraWeapon._cameraResolution">
            <summary>
            The RT camera's resolution 
            </summary>
        </member>
        <member name="P:CameraWeapon.RenderTexture">
            <summary>
            The render target texture produced by this camera. Read by <see cref="T:TVEntity"/>.
            </summary>
        </member>
        <member name="M:CameraWeapon.OnCameraSetup(Player,Sandbox.CameraComponent)">
            <summary>
            We want to control the camera fov when held by a player.
            </summary>
        </member>
        <member name="M:CameraWeapon.DrawHud(Sandbox.Painter,Vector2)">
            <summary>
            Keeps the camera view clear of weapon HUD elements.
            </summary>
        </member>
        <member name="M:Colt1911Weapon.DrawCrosshair(Sandbox.Painter,Vector2)">
            <summary>
            Draws the outlined aiming dot with the current firing status.
            </summary>
        </member>
        <member name="M:GlockWeapon.DrawCrosshair(Sandbox.Painter,Vector2)">
            <summary>
            Draws the outlined aiming dot with the current firing status.
            </summary>
        </member>
        <member name="T:HandGrenadeWeapon">
            <summary>
            A throwable grenade weapon
            Cooks while held — explodes in hand if held too long
            </summary>
        </member>
        <member name="P:HandGrenadeWeapon.PinPullSound">
            <summary>
            Sound played when the pin is pulled and cooking starts.
            </summary>
        </member>
        <member name="P:HandGrenadeWeapon.DeploySound">
            <summary>
            Sound played when deploying the next grenade after a throw.
            </summary>
        </member>
        <member name="P:HandGrenadeWeapon.Lifetime">
            <summary>
            Fuse time in seconds — grenade explodes after this, whether thrown or not.
            </summary>
        </member>
        <member name="P:HandGrenadeWeapon.Radius">
            <summary>
            Explosion damage radius.
            </summary>
        </member>
        <member name="P:HandGrenadeWeapon.MaxDamage">
            <summary>
            Maximum damage at the center.
            </summary>
        </member>
        <member name="P:HandGrenadeWeapon.Force">
            <summary>
            Physics force scale for the explosion.
            </summary>
        </member>
        <member name="M:HandGrenadeWeapon.DrawCrosshair(Sandbox.Painter,Vector2)">
            <summary>
            Draws the aiming dot with the current grenade availability.
            </summary>
        </member>
        <member name="T:TimedExplosive">
            <summary>
            Explodes after a set time. Spawns an explosion prefab with configurable radius, damage, and force.
            </summary>
        </member>
        <member name="P:TimedExplosive.Attacker">
            <summary>Who gets credit/blame for the explosion (the thrower). Host-side only. Falls back to the explosion itself.</summary>
        </member>
        <member name="T:M4a1Weapon">
            <summary>
            M4 assault rifle.
            </summary>
        </member>
        <member name="M:M4a1Weapon.DrawCrosshair(Sandbox.Painter,Vector2)">
            <summary>
            Draws the crosshair arms at the current spread and firing status.
            </summary>
        </member>
        <member name="T:ImpactGrenade">
            <summary>
            A 40mm launcher round - flies on a ballistic arc, nose along its velocity, and explodes on the
            first thing it touches. Shooting it mid-flight sets it off too.
            </summary>
        </member>
        <member name="P:ImpactGrenade.Lifetime">
            <summary>Seconds before a round that never hit anything is removed.</summary>
        </member>
        <member name="P:Mp5Weapon.GrenadePrefab">
            <summary>
            The round the launcher fires - needs an <see cref="T:ImpactGrenade"/>.
            </summary>
        </member>
        <member name="P:Mp5Weapon.GrenadeSpeed">
            <summary>
            Launch speed of the grenade.
            </summary>
        </member>
        <member name="P:Mp5Weapon.StartingGrenades">
            <summary>
            Reserve grenades granted on first pickup - reloads top the launcher's magazine up from these.
            </summary>
        </member>
        <member name="M:Mp5Weapon.LaunchGrenade(Vector3,Vector3)">
            <summary>
            Spawns and launches the grenade with the host's permission.
            </summary>
        </member>
        <member name="M:Mp5Weapon.DrawCrosshair(Sandbox.Painter,Vector2)">
            <summary>
            Draws the crosshair arms at the current spread and firing status.
            </summary>
        </member>
        <member name="P:PhygunViewmodel.GravGlowScale">
            <summary>
            Strength of the glow particles and tip sprites in grav (yellow) mode relative to phys (blue).
            Yellow at full strength saturates into flat, hard-edged blooming discs.
            </summary>
        </member>
        <member name="P:Physgun.ExtendInput">
            <summary>
            Input for increasing the distance to the grabbed object.
            </summary>
        </member>
        <member name="P:Physgun.RetractInput">
            <summary>
            Input for decreasing the distance to the grabbed object.
            </summary>
        </member>
        <member name="P:Physgun.BeamFrequency">
            <summary>
            Spring frequency of the beam's middle point. Higher values follow the physgun aim more tightly.
            </summary>
        </member>
        <member name="P:Physgun.BeamDamping">
            <summary>
            Damping ratio of the beam's middle point. Below 1 overshoots, lower values wobble.
            </summary>
        </member>
        <member name="P:Physgun.BeamMaxSway">
            <summary>
            How far, in degrees, the beam's middle point may swing away from the aim direction when the camera moves fast.
            </summary>
        </member>
        <member name="M:Physgun.UpdateHighlight(Sandbox.GameObject)">
            <summary>
            Outlines the object held by the beam, visible only to player holding the physgun
            </summary>
        </member>
        <member name="M:Physgun.DrawScreenContent(Sandbox.Rect,Sandbox.Painter)">
            <summary>
            Draws the power meter and channel labels on the viewmodel screen.
            </summary>
        </member>
        <member name="M:Physgun.DrawHud(Sandbox.Painter,Vector2)">
            <summary>
            Draws a targeting dot when the physgun is not holding an object.
            </summary>
        </member>
        <member name="P:Physgun.PullConeAngle">
            <summary>
            Half-angle, in degrees, of the cone player aim has to stay within to keep pulling a locked object.
            </summary>
        </member>
        <member name="P:Physgun.PullConeFullStrengthAngle">
            <summary>
            Within this many degrees of the object the pull runs at full strength, fading out towards <see cref="P:Physgun.PullConeAngle"/>.
            </summary>
        </member>
        <member name="P:Physgun.PullConeApexDistance">
            <summary>
            How far in front of player aim the cone's apex is placed when we lock onto an object.
            </summary>
        </member>
        <member name="M:Physgun.UpdatePullLock(Physgun.GrabState,Physgun.GrabState,Transform)">
            <summary>
            Once a gravity pull finds an object it locks onto it, and keeps pulling while our aim stays within
            a cone from an apex in front of us to the object. The apex follows our position.
            </summary>
        </member>
        <member name="M:Physgun.GetPullStrength(Physgun.GrabState,Transform)">
            <summary>
            How strongly we pull, from 1 when aiming at the object down to 0 at the edge of the cone.
            </summary>
        </member>
        <member name="M:Physgun.ApplyPullForce(Physgun.GrabState)">
            <summary>
            Pulls the locked object along the cone, towards its apex.
            </summary>
        </member>
        <member name="M:Physgun.FindPullTarget(Transform,Sandbox.SceneTraceResult)">
            <summary>
            When the aim ray misses, look for something to pull near it.
            </summary>
        </member>
        <member name="M:Physgun.GetRagdoll(Sandbox.Rigidbody)">
            <summary>
            The ragdoll a body is part of, if it's one of its bodies.
            </summary>
        </member>
        <member name="M:Physgun.GetRagdollRoot(Sandbox.Rigidbody)">
            <summary>
            The root body of the ragdoll this body is part of, the same one that drives the ragdoll's transform.
            </summary>
        </member>
        <member name="M:Physgun.FindClosestPoint(Sandbox.Rigidbody,Vector3)">
            <summary>
            The closest point on an object, counting every body of a ragdoll and not just the one we hold.
            </summary>
        </member>
        <member name="F:Physgun.HoldSoundFarDistance">
            <summary>
            The gravity hold loop plays at <see cref="F:Physgun.HoldSoundFarPitch"/> when the object is this far away or further.
            </summary>
        </member>
        <member name="F:Physgun.HoldSoundNearDistance">
            <summary>
            The gravity hold loop plays at full pitch when the object is this close or closer.
            </summary>
        </member>
        <member name="P:Physgun.GrabState.PullApex">
            <summary>
            Gravity pulls only: the pull cone's apex, as a world-space offset from the aim position.
            </summary>
        </member>
        <member name="P:Physgun.GrabState.PullStrength">
            <summary>
            Gravity pulls only: how strongly the object is pulled, depending on how well we aim at it.
            </summary>
        </member>
        <member name="P:Physgun.PullForce">
            <summary>
            The force applied to pull objects to us.
            </summary>
        </member>
        <member name="P:Physgun.LaunchForce">
            <summary>
            The force applied when launching grabbed objects.
            </summary>
        </member>
        <member name="P:Physgun.PullDistance">
            <summary>
            The distance at which we'll grab an object when pulling it towards us.
            </summary>
        </member>
        <member name="P:Physgun.KeyboardMoveSpeed">
            <summary>
            How quickly W/S moves a held object while rotate mode is active.
            </summary>
        </member>
        <member name="P:Physgun.KeyboardRotateSpeed">
            <summary>
            How quickly keyboard controls rotate a held object while rotate mode is active.
            </summary>
        </member>
        <member name="M:Physgun.ExtendSignal(System.Single)">
            <summary>
            Increases the grab distance using a connected signal.
            </summary>
        </member>
        <member name="M:Physgun.RetractSignal(System.Single)">
            <summary>
            Decreases the grab distance using a connected signal.
            </summary>
        </member>
        <member name="F:Physgun._held">
            <summary>
            The object our joint is moving
            </summary>
        </member>
        <member name="M:Physgun.DropHeld">
            <summary>
            Tells the object we were moving that we let go of it
            </summary>
        </member>
        <member name="M:Physgun.Stabilize(Rotation)">
            <summary>
            Using raw aim rotation on physgun results in jittering that feels very jarring when holding props with physgun and looking up/down.
            Lets make sure that we get reliable rotation yaw when looking up/down to avoid this.
            </summary>
        </member>
        <member name="P:Physgun.HoldFrame">
            <summary>
            The frame <see cref="P:Physgun.GrabState.GrabOffset"/> is relative to: the full aim rotation for gravity
            holds, only the stabilized yaw for beam grabs.
            </summary>
        </member>
        <member name="P:Physgun.CanAim">
            <summary>
            When true, the physgun aims where the seated player's camera looks.
            </summary>
        </member>
        <member name="M:RevolverWeapon.DrawCrosshair(Sandbox.Painter,Vector2)">
            <summary>
            Draws the outlined aiming dot with the current firing status.
            </summary>
        </member>
        <member name="T:RpgProjectile">
            <summary>
            An RPG projectile. It supports either being fired in a set direction, or continuously updated with an end target.
            </summary>
        </member>
        <member name="M:RpgProjectile.UpdateWithTarget(Vector3,System.Single)">
            <summary>
            This is meant to be called continuously, updates the target, rotates slowly to it and moves at a set speed.
            </summary>
            <param name = "target"></param>
            <param name = "speed"></param>
        </member>
        <member name="P:RpgWeapon.PunchPitch">
            <summary>Random pitch of the first-person view punch per launch (min, max degrees).</summary>
        </member>
        <member name="P:RpgWeapon.PunchYaw">
            <summary>Random yaw of the first-person view punch per launch (min, max degrees).</summary>
        </member>
        <member name="P:RpgWeapon.PunchFrequency">
            <summary>How many times the view punch oscillates before it lapses.</summary>
        </member>
        <member name="P:RpgWeapon.PunchDuration">
            <summary>How long the view punch lasts, in seconds.</summary>
        </member>
        <member name="P:RpgWeapon.ShakeAmplitude">
            <summary>First-person camera shake strength per launch, in world units.</summary>
        </member>
        <member name="P:RpgWeapon.ShakeFrequency">
            <summary>New shake offsets per second.</summary>
        </member>
        <member name="P:RpgWeapon.ShakeDuration">
            <summary>How long the shake takes to settle, in seconds.</summary>
        </member>
        <member name="P:RpgWeapon.IsTrackedAim">
            <summary>
            When enabled, fired rockets will continuously track toward the player's crosshair.
            Toggle with right-click (player) or SecondaryInput (standalone/seat).
            </summary>
        </member>
        <member name="P:RpgWeapon.IsGuiding">
            <summary>
            Whether a live rocket is currently being guided toward the crosshair.
            </summary>
        </member>
        <member name="M:RpgWeapon.OnPrimaryDown">
            <summary>
            Standalone / seat control — uses SecondaryInput to toggle tracking.
            </summary>
        </member>
        <member name="M:RpgWeapon.GetAimTarget">
            <summary>
            Traces from AimRay and returns the world-space point the player is looking at.
            </summary>
        </member>
        <member name="M:RpgWeapon.CheckThrowPosition(Player,Vector3,Vector3)">
            <summary>
            Muzzle flash + launch sound. Plays for the shooter (predicted) and, via the host relay, everyone else.
            </summary>
        </member>
        <member name="M:RpgWeapon.CreateProjectile(Vector3,Vector3,System.Single)">
            <summary>
            Creates the projectile with the host's permission
            </summary>
        </member>
        <member name="M:RpgWeapon.DrawCrosshair(Sandbox.Painter,Vector2)">
            <summary>
            Draws a diamond for guided aim or a square for an unguided rocket.
            </summary>
        </member>
        <member name="M:ScreenWeapon.PlayToolEffects(Transform)">
            <summary>Play the shared tool beam (including its sound), impact and viewmodel animation.</summary>
        </member>
        <member name="F:ScreenWeapon.TransitionDuration">
            <summary>
            How long a screen transition lasts after <see cref="M:ScreenWeapon.StartScreenTransition"/>
            </summary>
        </member>
        <member name="F:ScreenWeapon.TransitionIntensity">
            <summary>
            How bright the screen flares at the start of a transition, fading back to 1
            </summary>
        </member>
        <member name="M:ScreenWeapon.StartScreenTransition">
            <summary>
            Starts a transition on the screen, drawn by <see cref="M:ScreenWeapon.DrawScreenContent(Sandbox.Rect,Sandbox.Painter)"/> using <see cref="P:ScreenWeapon.TransitionProgress"/>
            </summary>
        </member>
        <member name="P:ScreenWeapon.InScreenTransition">
            <summary>
            A transition from <see cref="M:ScreenWeapon.StartScreenTransition"/> is still running
            </summary>
        </member>
        <member name="P:ScreenWeapon.TransitionProgress">
            <summary>
            How far through the current transition the screen is, 0 to 1
            </summary>
        </member>
        <member name="P:ScreenWeapon.ScreenMaterialName">
            <summary>
            Override to match a different model's screen material.
            </summary>
        </member>
        <member name="P:ScreenWeapon.ScreenMaterialPath">
            <summary>
            Override to use a different screen material
            </summary>
        </member>
        <member name="P:ScreenWeapon.ScreenTextureSize">
            <summary>
            Size of the screen texture. The toolgun's dot matrix shader draws one dot per pixel.
            </summary>
        </member>
        <member name="P:ScreenWeapon.ScreenRefreshInterval">
            <summary>
            Minimum time in seconds between screen redraws
            </summary>
        </member>
        <member name="M:ScreenWeapon.SpinCoil">
            <summary>
            Add energy to the coil spin (e.g. on fire).
            </summary>
        </member>
        <member name="M:ScreenWeapon.ApplyCoilSpin">
            <summary>
            Smoothly decays the coil spin and applies it to the viewmodel's "coil" object.
            </summary>
        </member>
        <member name="M:ScreenWeapon.UpdateJoystick(Angles)">
            <summary>
            Updates joystick_x and joystick_y on the viewmodel based on a per-frame look delta.
            </summary>
        </member>
        <member name="M:ScreenWeapon.UpdateViewmodelScreen">
            <summary>
            Updates the viewmodel screen render target and redraws it.
            </summary>
        </member>
        <member name="M:ScreenWeapon.DrawScreenContent(Sandbox.Rect,Sandbox.Painter)">
            <summary>
            Override this to draw custom content onto the viewmodel screen.
            </summary>
        </member>
        <member name="M:ShotgunWeapon.DrawCrosshair(Sandbox.Painter,Vector2)">
            <summary>
            Draws a smooth spread ring and aiming dot with the current firing status.
            </summary>
        </member>
        <member name="T:SniperViewModel">
            <summary>
            Sniper viewmodel helper. Moves the weapon down during scope transitions.
            </summary>
        </member>
        <member name="M:SniperWeapon.ModifyCamera(Sandbox.CameraComponent,Sandbox.CameraView@)">
            <summary>
            Scoped zoom goes through the engine's camera modifier chain - one owner for the FOV, no
            fighting the player's preference FOV write.
            </summary>
        </member>
        <member name="M:SniperWeapon.DrawHud(Sandbox.Painter,Vector2)">
            <summary>
            Updates the scope overlay while scoped, otherwise draws the targeting dot.
            </summary>
        </member>
        <member name="M:SniperWeapon.DrawCrosshair(Sandbox.Painter,Vector2)">
            <summary>
            Draws an outlined targeting dot showing whether the weapon can fire.
            </summary>
        </member>
        <member name="M:SniperWeapon.UpdateScopeOverlay">
            <summary>
            Updates the scope's blur from mouse movement and player velocity.
            </summary>
        </member>
        <member name="T:IToolActionEvents">
            <summary>
            Allows listening to tool actions across the scene.
            Implement this on a <see cref="T:Sandbox.Component"/> to receive callbacks before and after any tool action fires.
            Use this to enforce limits (e.g. max balloons, max constraints) or react to tool usage.
            </summary>
        </member>
        <member name="T:IToolActionEvents.ActionData">
            <summary>
            Data passed to <see cref="M:IToolActionEvents.OnToolAction(IToolActionEvents.ActionData)"/>. Set <see cref="P:IToolActionEvents.ActionData.Cancelled"/> to true to prevent the action.
            </summary>
        </member>
        <member name="P:IToolActionEvents.ActionData.Tool">
            <summary>
            The tool mode that is about to execute.
            Check <c>e.Tool is BalloonTool</c>, <c>e.Tool is WeldTool</c>, etc. for tool-specific logic.
            </summary>
        </member>
        <member name="P:IToolActionEvents.ActionData.Input">
            <summary>
            Which input triggered this action.
            </summary>
        </member>
        <member name="P:IToolActionEvents.ActionData.Player">
            <summary>
            The connection of the player performing the action.
            </summary>
        </member>
        <member name="P:IToolActionEvents.ActionData.Cancelled">
            <summary>
            Set to true to cancel the action.
            </summary>
        </member>
        <member name="T:IToolActionEvents.PostActionData">
            <summary>
            Data passed to <see cref="M:IToolActionEvents.OnPostToolAction(IToolActionEvents.PostActionData)"/> after a successful action.
            </summary>
        </member>
        <member name="P:IToolActionEvents.PostActionData.Tool">
            <summary>
            The tool mode that executed the action.
            </summary>
        </member>
        <member name="P:IToolActionEvents.PostActionData.Input">
            <summary>
            Which input triggered this action.
            </summary>
        </member>
        <member name="P:IToolActionEvents.PostActionData.Player">
            <summary>
            The connection of the player who performed the action.
            </summary>
        </member>
        <member name="P:IToolActionEvents.PostActionData.CreatedObjects">
            <summary>
            GameObjects created by this action, if any.
            </summary>
        </member>
        <member name="M:IToolActionEvents.OnToolAction(IToolActionEvents.ActionData)">
            <summary>
            Called before a tool action executes.
            Set <see cref="P:IToolActionEvents.ActionData.Cancelled"/> to true to reject the action.
            </summary>
        </member>
        <member name="M:IToolActionEvents.OnPostToolAction(IToolActionEvents.PostActionData)">
            <summary>
            Called after a tool action has executed successfully.
            </summary>
        </member>
        <member name="M:BaseConstraintToolMode.FindConstraints(Sandbox.GameObject,Sandbox.GameObject)">
            <summary>
            Lets tools define what constraints should be removed when removing constraints from a game object.
            </summary>
            <param name="linked"></param>
            <param name="target"></param>
            <returns></returns>
        </member>
        <member name="M:BaseConstraintToolMode.OnConstraintSubmitted(ToolMode.SelectionPoint,ToolMode.SelectionPoint)">
            <summary>
            Called on the owning client after a valid constraint creation was submitted to the host.
            Follow-up RPCs are ordered after the constraint creation RPC.
            </summary>
        </member>
        <member name="T:ButtonMode">
            <summary>
            Determines whether the button is active only briefly when pressed, or alternates
            between on and off for each press.
            </summary>
        </member>
        <member name="T:CloudDecals">
            <summary>
            Cloud decals that ship with the game. Each ident must be a string literal inside
            <see cref="M:Sandbox.Cloud.Asset(System.String)"/> so the code generator picks it up as a package
            dependency, which mounts it and makes it show up in the decal tool's resource grid.
            </summary>
        </member>
        <member name="F:DecalTool.ScaleSpeed">
            <summary>
            How fast we're scaling this decal depending on player's mouse input
            </summary>
        </member>
        <member name="P:DecalTool.Attenuation">
            <summary>
            Multiplies the decal's own attenuation angle, lower fades less at grazing angles.
            </summary>
        </member>
        <member name="P:DecalTool.ApplyRandomRotation">
            <summary>
            If enabled, each decal will be applied with random rotation
            </summary>
        </member>
        <member name="P:DecalTool.ReloadAction">
            <summary>
            The rotation hint is pointless when random rotation is enabled, hide it if true
            </summary>
        </member>
        <member name="P:DecalTool.ReloadSecondaryAction">
            <summary>
            Reload and secondary held together scale the decal
            </summary>
        </member>
        <member name="F:DecalTool._sprayId">
            <summary>
            Owner-side id of the current spray
            </summary>
        </member>
        <member name="F:DecalTool._sprayUndo">
            <summary>
            Host-side undo entry for the spray identified by <see cref="F:DecalTool._hostSprayId"/>.
            </summary>
        </member>
        <member name="F:DecalTool._preview">
            <summary>
            Local client preview of the selected decal where the player is looking
            </summary>
        </member>
        <member name="M:DecalTool.SpawnDecal(ToolMode.SelectionPoint,Sandbox.DecalDefinition,Color,System.Single,System.Single,System.Single,System.Int32)">
            <summary>
            Spawn a decal on the host. A non-zero <paramref name = "sprayId"/> groups the decal with
            every other decal sent with the same id into a single undo entry.
            The settings come with the call, since only the owner has their current values.
            </summary>
        </member>
        <member name="M:DecalTool.GetUndoEntry(System.Int32)">
            <summary>
            The spray has no explicit end, the entry is created lazily with its first decal, so it is registered no matter how painting stops. 
            A new spray id, or the entry leaving the history (undone mid-spray, evicted, stack cleared), starts a new entry
            </summary>
        </member>
        <member name="T:DuplicationData">
            <summary>
            Holds a bunch of GameObject json, a bounding box, and some preview models for a
            duplication. This is what gets serialized to a string and stored in the Duplicator tool.
            The objects and the bounds are created in selection space. Where the user right clicked to 
            select is 0,0,0, and the player's view yaw is the rotation identity.
            </summary>
        </member>
        <member name="P:DuplicationData.Objects">
            <summary>
            An array of JsonObject objects, which are serialzed GameObjects
            </summary>
        </member>
        <member name="P:DuplicationData.Bounds">
            <summary>
            The bounds are used to work out where to place the duplication, so it
            doesn't clip through the floor.
            </summary>
        </member>
        <member name="T:DuplicationData.PreviewModel">
            <summary>
            Describes where to draw a model for the preview
            </summary>
        </member>
        <member name="M:DuplicationData.PreviewModel.#ctor(Sandbox.Model,Transform,Transform[],BBox)">
            <summary>
            Describes where to draw a model for the preview
            </summary>
        </member>
        <member name="P:DuplicationData.PreviewModels">
            <summary>
            A list of preview models to help visualze where the duplication will be placed
            </summary>
        </member>
        <member name="P:DuplicationData.Packages">
            <summary>
            Packages used in this
            </summary>
        </member>
        <member name="M:DuplicationData.CreateFromObjects(System.Collections.Generic.IEnumerable{Sandbox.GameObject},Transform)">
            <summary>
            Create DuplicationData from a bunch of objects.
            center is the transform to use as the origin for the duplication.
            The rotation of center should be the player's view yaw when they made the selection.
            </summary>
        </member>
        <member name="M:DuplicatorTool.RenderIconToBitmap(System.String,Sandbox.Bitmap)">
            <summary>
            Render duplicator Json to a bitmap
            </summary>
        </member>
        <member name="P:DuplicatorTool.CopiedJson">
            <summary>
            When we right click, to "copy" something, we create a Duplication object
            and serialize it to Json and store it here.
            </summary>
        </member>
        <member name="P:DuplicatorTool.AlignToSurface">
            <summary>
            While held, the duplication's up axis follows the surface normal instead of world up
            </summary>
        </member>
        <member name="P:DuplicatorTool.ReloadAction">
            <summary>
            Shows the rotation hint while a duplication is available to place.
            </summary>
        </member>
        <member name="M:DuplicatorTool.OnControl">
            <summary>
            Handles copying, placing, and rotating the duplication while reload is held.
            </summary>
        </member>
        <member name="M:DuplicatorTool.Save">
            <summary>
            Save the current dupe to storage.
            </summary>
        </member>
        <member name="P:LinkedGameObjectBuilder.RejectPlayers">
            <summary>
            Reject players and any objects with players as descendants. This is used for the duplicator to avoid accidentally duping the player and all their attachments.
            </summary>
        </member>
        <member name="M:LinkedGameObjectBuilder.Add(Sandbox.GameObject)">
            <summary>
            Adds a GameObject. Won't find connections.
            </summary>
        </member>
        <member name="M:LinkedGameObjectBuilder.AddConnected(Sandbox.GameObject)">
            <summary>
            Add a GameObject with all connected GameObjects
            </summary>
        </member>
        <member name="P:EmitterTool.BaseDef">
            <summary>
            The physical emitter body to spawn (model + physics).
            </summary>
        </member>
        <member name="P:EmitterTool.EffectDef">
            <summary>
            The particle/VFX effect the emitter will produce.
            </summary>
        </member>
        <member name="M:GravityTool.ResolveTarget(Sandbox.GameObject)">
            <summary>
            Check if we're hitting an object with model physics or regular rigidbody prop
            </summary>
        </member>
        <member name="P:HoverballEntity.IsEnabled">
            <summary>
            Is the hoverball on?
            </summary>
        </member>
        <member name="P:HoverballEntity.TargetZ">
            <summary>
            The world Z position the hoverball is trying to maintain.
            </summary>
        </member>
        <member name="P:HoverballEntity.Speed">
            <summary>
            How fast the target height changes when inputs are held.
            </summary>
        </member>
        <member name="P:HoverballEntity.AirResistance">
            <summary>
            Horizontal air resistance applied while hovering. Also increases vertical damping.
            </summary>
        </member>
        <member name="P:HoverballEntity.Up">
            <summary>
            While held, raises the hover target.
            </summary>
        </member>
        <member name="P:HoverballEntity.Down">
            <summary>
            While held, lowers the hover target.
            </summary>
        </member>
        <member name="P:HoverballEntity.Toggle">
            <summary>
            Toggles the hoverball on/off
            </summary>
        </member>
        <member name="T:BallSocketPairEntity">
            <summary>
            A pair of ball sockets, we try to align the balls towards eachother.
            </summary>
        </member>
        <member name="T:BaseLengthConstraintTool">
            <summary>
            Shared geometry for two-point length-changing constraints (Hydraulic, Muscle, Winch):
            a shaft between two capped anchors, driven by a <see cref="T:Sandbox.SliderJoint"/>.
            </summary>
        </member>
        <member name="T:LengthConstraintEntity">
            <summary>
            A length-changing constraint: a SliderJoint whose length is puppeted between MinLength
            and MaxLength by player input, wires, or an idle animation loop. Hydraulic, Muscle and
            Winch are the same component with different presentation and defaults - <see cref="P:LengthConstraintEntity.Kind"/>
            just picks which one this instance is, for undo names, tool info and wiring titles.
            </summary>
        </member>
        <member name="P:LengthConstraintEntity.Activate">
            <summary>
            While the input is active we'll extend towards full length
            </summary>
        </member>
        <member name="P:LengthConstraintEntity.Position">
            <summary>
            Emits the current 0-1 extension whenever it changes. Wire it into a gauge, a
            dependent mechanism, or another length constraint's Push/Pull to gang two rams together.
            </summary>
        </member>
        <member name="P:MaterialTool.MaterialPath">
            <summary>
            The material to apply, a local path or a workshop package ident.
            </summary>
        </member>
        <member name="T:MotorEntity">
            <summary>
            Drives a <see cref="T:Sandbox.HingeJoint"/> at a continuous angular velocity — a spinning axle,
            turntable, or wheel that isn't a ground-contact wheel.
            </summary>
        </member>
        <member name="P:MotorEntity.StartActive">
            <summary>
            Spins on its own as soon as it's created, without needing a driver or a wire signal.
            </summary>
        </member>
        <member name="P:MotorEntity.Forward">
            <summary>
            While held, spins forward regardless of <see cref="P:MotorEntity.Reversed"/> or <see cref="P:MotorEntity.StartActive"/>.
            </summary>
        </member>
        <member name="P:MotorEntity.Reverse">
            <summary>
            While held, spins backward regardless of <see cref="P:MotorEntity.Reversed"/> or <see cref="P:MotorEntity.StartActive"/>.
            </summary>
        </member>
        <member name="P:MotorEntity.AngleOutput">
            <summary>
            Emits the joint's current angle, normalized so a full turn is 1.0 — wire it into a
            gauge, or into another motor's Forward/Reverse to sync two axles.
            </summary>
        </member>
        <member name="P:MotorTool.FlipAxis">
            <summary>
            The spin axis is the surface normal where you make the first selection - this flips it
            180 degrees, which is only useful in combination with <see cref = "P:MotorTool.Reversed"/> and a limit range.
            </summary>
        </member>
        <member name="T:SpawnerTool">
            <summary>
            Previews and places objects into the world.
            Accepts any <see cref="T:ISpawner"/> to define what to spawn.
            The spawn menu (or any other system) sets the payload, and this mode handles
            aiming, previewing, and placement.
            </summary>
        </member>
        <member name="P:SpawnerTool.SpawnerData">
            <summary>
            Synced payload descriptor. When this changes on any client,
            <see cref = "M:SpawnerTool.OnPayloadDataChanged"/> reconstructs the <see cref = "T:ISpawner"/> locally.
            </summary>
        </member>
        <member name="P:SpawnerTool.Spawner">
            <summary>
            The local spawner, built from <see cref="P:SpawnerTool.SpawnerData"/>.
            </summary>
        </member>
        <member name="F:SpawnerTool._isRotating">
            <summary>
            True while the player is holding reload to rotate the preview.
            </summary>
        </member>
        <member name="F:SpawnerTool._rotationOffset">
            <summary>
            Accumulated rotation offset applied to the spawn preview.
            </summary>
        </member>
        <member name="P:SpawnerTool.UseSnapGrid">
            <summary>
            Hold snap to steer the aim onto the grid, so placement lands on grid points.
            </summary>
        </member>
        <member name="M:SpawnerTool.SetSpawner(ISpawner)">
            <summary>
            Set what this mode should spawn. Host only, syncs to all clients via <see cref="P:SpawnerTool.SpawnerData"/>.
            </summary>
        </member>
        <member name="M:SpawnerTool.ClearPayload">
            <summary>
            Clear the current payload, returning to an idle state.
            </summary>
        </member>
        <member name="M:SpawnerTool.OnPayloadDataChanged">
            <summary>
            Called on every client when <see cref="P:SpawnerTool.SpawnerData"/> changes.
            Reconstructs the <see cref="T:ISpawner"/> locally so each client can render the preview.
            </summary>
        </member>
        <member name="M:SpawnerTool.SerializeSpawner(ISpawner)">
            <summary>
            Serialize a spawner for networking, including its <see cref="P:ISpawner.Metadata"/>
            so clients build it the same as the host, even if they're missing its content.
            </summary>
        </member>
        <member name="M:SpawnerTool.DeserializeSpawner(System.String)">
            <summary>
            Reconstruct an <see cref="T:ISpawner"/> from <see cref="M:SpawnerTool.SerializeSpawner(ISpawner)"/>
            </summary>
        </member>
        <member name="M:SpawnerTool.OnControl">
            <summary>
            Handles placing, clearing, and rotating the preview while reload is held.
            </summary>
        </member>
        <member name="M:SpawnerTool.DrawScreen(Sandbox.Rect,Sandbox.Painter)">
            <summary>
            Draws the payload's icon on the viewmodel screen, falling back to the scrolling tool name.
            </summary>
        </member>
        <member name="T:StackDirection">
            <summary>
            Direction to stack objects in.
            </summary>
        </member>
        <member name="T:StackAlignMode">
            <summary>
            How to interpret the stack direction axis.
            </summary>
        </member>
        <member name="F:StackAlignMode.World">
            <summary>
            Stack along world-space axes regardless of object orientation.
            </summary>
        </member>
        <member name="F:StackAlignMode.Object">
            <summary>
            Stack along the target object's local axes.
            </summary>
        </member>
        <member name="P:StackerTool.StackCount">
            <summary>
            Number of copies to create.
            </summary>
        </member>
        <member name="P:StackerTool.Direction">
            <summary>
            Which direction to stack in.
            </summary>
        </member>
        <member name="P:StackerTool.AlignMode">
            <summary>
            Whether to align the stack axis to the world or the target object.
            </summary>
        </member>
        <member name="P:StackerTool.AngleOffsetX">
            <summary>
            Rotation offset (degrees) around the first perpendicular axis of the stack direction.
            For Up/Down stacking this rotates around the right axis.
            </summary>
        </member>
        <member name="P:StackerTool.AngleOffsetY">
            <summary>
            Rotation offset (degrees) around the second perpendicular axis of the stack direction.
            For Up/Down stacking this rotates around the forward axis.
            </summary>
        </member>
        <member name="P:StackerTool.PositionOffset">
            <summary>
            Extra gap (in units) between each stacked copy.
            </summary>
        </member>
        <member name="P:StackerTool.FreezeAll">
            <summary>
            When true, stacked copies will be frozen (motion disabled).
            </summary>
        </member>
        <member name="M:StackerTool.ResolveRoot(Sandbox.GameObject)">
            <summary>
            Resolve to the networked root object so we clone the full prop, not a child collider.
            </summary>
        </member>
        <member name="M:StackerTool.CycleDirection">
            <summary>
            Cycle through stack directions on reload.
            </summary>
        </member>
        <member name="M:StackerTool.CycleAlignment">
            <summary>
            Toggle between world and object alignment.
            </summary>
        </member>
        <member name="M:StackerTool.IsValidTarget(ToolMode.SelectionPoint)">
            <summary>
            Check if the aimed-at object is a valid stacking target.
            </summary>
        </member>
        <member name="M:StackerTool.GetLocalDirection(StackDirection)">
            <summary>
            Get the local-space direction vector for the configured <see cref="P:StackerTool.Direction"/>.
            </summary>
        </member>
        <member name="M:StackerTool.GetPerpendicularAxes(StackDirection)">
            <summary>
            Get the two perpendicular axes for a given stack direction.
            X and Y angle offsets rotate around these respectively.
            </summary>
        </member>
        <member name="M:StackerTool.GetStepRotation">
            <summary>
            Build the per-step rotation from the X/Y angle offsets around the
            two axes perpendicular to the stack direction.
            </summary>
        </member>
        <member name="M:StackerTool.GetStackExtent(Sandbox.GameObject,Vector3)">
            <summary>
            Compute how far apart copies should be along the stack axis by projecting
            the object's oriented bounding box corners onto the actual world-space axis.
            </summary>
        </member>
        <member name="M:StackerTool.ComputeStackTransforms(Sandbox.GameObject)">
            <summary>
            Compute the world transforms for all stacked copies using iterative placement.
            Each copy is positioned relative to the previous one, so angle offsets
            produce correct arcs and circles rather than spirals.
            </summary>
        </member>
        <member name="M:StackerTool.DrawStackPreview(Sandbox.GameObject,Transform[])">
            <summary>
            Render ghost previews of each stacked copy.
            </summary>
        </member>
        <member name="M:StackerTool.SpawnStack(Sandbox.GameObject)">
            <summary>
            Server-side spawn: recomputes transforms from synced properties to prevent
            clients from sending arbitrary placement data.
            </summary>
        </member>
        <member name="T:HighlightedRenderers">
            <summary>
            Which renderers an outline effect is drawing around, and in what colour. Worked out once a frame, the first time someone asks,
            for things that can't be outlined by the effect and draw the highlight themselves, like <see cref="T:TextEntity"/>.
            </summary>
        </member>
        <member name="M:HighlightedRenderers.TryGet(Sandbox.Renderer,Color@)">
            <summary>
            The colour of the first active outline drawing around <paramref name="renderer"/>, if any is.
            </summary>
        </member>
        <member name="T:TextEntity">
            <summary>
            Text placed in the world
            </summary>
        </member>
        <member name="F:TextEntity.Thickness">
            <summary>
            How thick the box we trace and grab against is.
            </summary>
        </member>
        <member name="P:TextEntity.Size">
            <summary>
            Height of the font in world units.
            </summary>
        </member>
        <member name="P:TextEntity.Falls">
            <summary>
            Whether the text falls. Only when it collides, so there's something to land on.
            </summary>
        </member>
        <member name="P:TextEntity.Style">
            <summary>
            The look of the text, from its properties
            </summary>
        </member>
        <member name="F:TextEntity._text">
            <summary>
            What we show, never empty. Text with nothing in it couldn't be seen or picked again, so an edit that erases it all keeps the last text.
            </summary>
        </member>
        <member name="M:TextEntity.OnEnabled">
            <summary>
            Builds the text as soon as we're on, the same frame as the renderer, so we avoid seeing engine placeholder text 
            </summary>
        </member>
        <member name="M:TextEntity.SettingsHash">
            <summary>
            Changes with any of the settings, so a frame where none did costs a hash rather than a new <see cref="P:TextEntity.Style"/>.
            </summary>
        </member>
        <member name="M:TextEntity.FindHighlight">
            <summary>
            The colour of an outline effect drawing around us, like the inspector's selection or the physgun's hold.
            Those only draw around models, so we draw the highlight into the text ourselves.
            </summary>
        </member>
        <member name="F:TextTool.SurfaceOffset">
            <summary>
            Offset from the surface to avoid collision clashing
            </summary>
        </member>
        <member name="M:TextTool.GetPlacement(ToolMode.SelectionPoint)">
            <summary>
            Where the text goes for a point on a surface. It faces out of the surface and stands upright on walls,
            on floors and ceilings its top points the way we're looking so it reads the right way round.
            </summary>
        </member>
        <member name="F:TextTool.PreviewOpacityStep">
            <summary>
            Every text style is a cached text block, so the pulse moves in steps rather than making a new one each frame
            </summary>
        </member>
        <member name="F:TextTool._preview">
            <summary>
            Local client preview of the text where the player is looking
            </summary>
        </member>
        <member name="M:TextTool.SpawnText(Transform,System.String,System.String,System.Boolean,System.Boolean)">
            <summary>
            Spawn the text on the host. The settings come with the call, the look as a <see cref = "T:WorldTextStyle"/>, since only the owner has their current values.
            </summary>
        </member>
        <member name="T:WorldTextStyle">
            <summary>
            How a placed text looks, everything apart from what it says. The text tool and <see cref="T:TextEntity"/> both show these
            as properties of their own, this carries them from one to the other and turns them into what the renderer draws.
            Lengths are world units, like the font size.
            </summary>
        </member>
        <member name="F:WorldTextStyle.RenderScale">
            <summary>
            The text is laid out this many times bigger than it shows and scaled down, so small sizes keep their shape.
            </summary>
        </member>
        <member name="M:WorldTextStyle.Clamped">
            <summary>
            This style kept within the limits, for values that came from someone else. Numbers that aren't numbers go back to the defaults.
            </summary>
        </member>
        <member name="M:WorldTextStyle.ClampText(System.String)">
            <summary>
            The text cut down to <see cref="F:WorldTextStyle.MaxLength"/>.
            </summary>
        </member>
        <member name="M:WorldTextStyle.Faded(System.Single)">
            <summary>
            This style see-through by <paramref name="opacity"/>, its outline and shadow too.
            </summary>
        </member>
        <member name="M:WorldTextStyle.CreateScope(System.String,System.Nullable{Color},System.Single)">
            <summary>
            What the renderer draws for <paramref name="text"/> in this style. A highlight is drawn as an outline around
            everything else, for when an outline effect wants to draw around the text but can't since it isn't a model.
            </summary>
        </member>
        <member name="M:WorldTextStyle.Measure(System.String)">
            <summary>
            The size in world units of the text drawn in this style, effects included.
            </summary>
        </member>
        <member name="M:WorldTextStyle.Estimate(System.String)">
            <summary>
            We can't get exact size by <see cref="M:WorldTextStyle.Measure(System.String)"/> when we're from dedicated server, so fuck it and just try using approximate colliders instead.
            </summary>
        </member>
        <member name="M:WorldTextStyle.Apply(Sandbox.TextRenderer,Sandbox.TextRendering.Scope)">
            <summary>
            Puts the text on a renderer in this style, at its size in the world.
            </summary>
        </member>
        <member name="T:PropellerEntity">
            <summary>
            Attach to a thruster GameObject to spin a target model based on thrust output.
            The model spins around its local up axis proportional to ThrustAmount.
            </summary>
        </member>
        <member name="P:PropellerEntity.Target">
            <summary>
            The model renderer to spin.
            </summary>
        </member>
        <member name="P:PropellerEntity.SpinSpeed">
            <summary>
            Spin speed in full rotations per second at maximum thrust.
            </summary>
        </member>
        <member name="P:ThrusterEntity.Activate">
            <summary>
            While this input is active we'll apply thrust
            </summary>
        </member>
        <member name="P:ThrusterEntity.Reverse">
            <summary>
            While this input is active we'll apply thrust in the opposite direction
            </summary>
        </member>
        <member name="P:ThrusterEntity._defaultSound">
            <summary>
            The fallback sound for all thrusters.
            </summary>
        </member>
        <member name="P:ThrusterEntity.ThrusterSound">
            <summary>
            Looping sound played while the thruster is active.
            </summary>
        </member>
        <member name="P:ThrusterEntity.ThrustAmount">
            <summary>
            Current thrust output, -1 to 1. Updated every control frame.
            </summary>
        </member>
        <member name="M:WeldTool.SnapSelectionPoint(ToolMode.SelectionPoint)">
            <summary>
            Overrides a SelectionPoint's local position to the nearest snap grid corner
            </summary>
        </member>
        <member name="M:WeldTool.RotateStage">
            <summary>
            Stage 2: mouse controls rotation, shift snaps to 15° grid, attack1 confirms, attack2 cancels.
            </summary>
        </member>
        <member name="M:WeldTool.TryEnterRotateStage">
            <summary>
            Intercept the Stage 1 click to enter rotation stage instead of finalizing.
            </summary>
        </member>
        <member name="M:WeldTool.UpdateRotationInput">
            <summary>
            Accumulate mouse yaw into rotation, with optional shift-to-snap.
            </summary>
        </member>
        <member name="M:WeldTool.DrawEasyModePreview(Transform)">
            <summary>
            Draw a ghost preview of the source object and all its connected objects at the given placement.
            </summary>
        </member>
        <member name="M:WheelOverlay.DrawDirection(Vector3,Vector3,Vector3,System.Single,System.Boolean)">
            <summary>
            Draws a spinning direction arrow overlay on a wheel face.
            </summary>
            <param name="position">Center of the wheel.</param>
            <param name="spinAxis">The wheel's spin axis (points outward from the wheel face).</param>
            <param name="stableUp">A stable up reference that doesn't rotate with the wheel.</param>
            <param name="radius">Visual radius of the overlay.</param>
            <param name="reversed">Whether the spin direction is reversed.</param>
        </member>
        <member name="T:SnapGrid">
            <summary>
            Manages a world-space snap grid overlay projected onto a surface plane.
            </summary>
        </member>
        <member name="P:SnapGrid.GridSize">
            <summary>
            Fallback half-extent used when the hovered object has no usable bounds.
            </summary>
        </member>
        <member name="P:SnapGrid.LastSnapWorldPos">
            <summary>
            The snapped world-space position of the highlighted corner
            </summary>
        </member>
        <member name="M:SnapGrid.ComputeSnap(Vector3,Vector3,Vector3,System.Single,Vector3)">
            <summary>
            Returns the nearest grid corner index (cx, cy) and its world-space position,
            given the face plane in world space and the aim world position.
            </summary>
        </member>
        <member name="M:SnapGrid.Update(Sandbox.SceneWorld,Sandbox.GameObject,Vector3,Vector3)">
            <summary>
            Called every frame when the weld tool hovers a valid object.
            After calling, read <see cref="P:SnapGrid.LastSnapWorldPos"/> for a snapped position
            </summary>
        </member>
        <member name="M:SnapGrid.Hide">
            <summary>
            Hide the overlay
            </summary>
        </member>
        <member name="M:SnapGrid.GetObjectOBB(Sandbox.GameObject)">
            <summary>
            Returns the OBB (oriented bounding box) of <paramref name="go"/> in world space.
            Prefers model-local bounds (tight, rotation-aware) over collider world AABB.
            </summary>
        </member>
        <member name="M:SnapGrid.ProjectOntoPlane(Vector3,Vector3,Vector3)">
            <summary>
            Projects <paramref name="point"/> onto the plane defined by <paramref name="planePoint"/> and <paramref name="normal"/>.
            </summary>
        </member>
        <member name="M:SnapGrid.ProjectedHalfExtents(Vector3,Rotation,Vector3,Vector3)">
            <summary>
            Returns the half-extents of an OBB projected along <paramref name="right"/> and <paramref name="up"/>.
            Uses the OBB support function, which correctly handles rotated objects.
            </summary>
        </member>
        <member name="M:SnapGrid.Destroy">
            <summary>
            Destroys the underlying scene object.
            </summary>
        </member>
        <member name="T:ToolInput">
            <summary>
            Identifies which toolgun input slot an action is bound to.
            </summary>
        </member>
        <member name="T:InputMode">
            <summary>
            How the input is sampled each frame.
            </summary>
        </member>
        <member name="F:InputMode.Pressed">
            <summary>
            Fires once when the button is first pressed.
            </summary>
        </member>
        <member name="F:InputMode.Down">
            <summary>
            Fires every frame while the button is held.
            </summary>
        </member>
        <member name="T:ToolActionEntry">
            <summary>
            A registered tool action. Stores the input binding, a dynamic display-name lambda,
            the callback to invoke, and the input sampling mode.
            </summary>
        </member>
        <member name="M:ToolActionEntry.#ctor(ToolInput,System.Func{System.String},System.Action,InputMode)">
            <summary>
            A registered tool action. Stores the input binding, a dynamic display-name lambda,
            the callback to invoke, and the input sampling mode.
            </summary>
        </member>
        <member name="P:ToolActionEntry.InputAction">
            <summary>
            The engine input action string for this <see cref="T:ToolInput"/>.
            </summary>
        </member>
        <member name="T:ToolMode.SelectionPoint">
            <summary>
            A point in the world selected by the current player's toolgun. We try to keep this as minimal as possible
            while catering for as much as possible.
            </summary>
        </member>
        <member name="M:ToolMode.SelectionPoint.IsValid">
            <summary>
            Returns true if GameObject is valid - which means we hit something
            </summary>
        </member>
        <member name="M:ToolMode.SelectionPoint.WorldPosition">
            <summary>
            Returns the position of the hit - in the world space. This is the transformed position of the LocalTransform relative to the GameObject.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ToolMode.SelectionPoint.WorldTransform">
            <summary>
            Returns the transform of the hit
            </summary>
            <returns></returns>
        </member>
        <member name="P:ToolMode.SelectionPoint.IsWorld">
            <summary>
            Returns true if this object is a part of the static map
            </summary>
        </member>
        <member name="P:ToolMode.SelectionPoint.IsPlayer">
            <summary>
            Returns true if this object is a player
            </summary>
        </member>
        <member name="M:ToolMode.TraceFromRay(Ray,System.Single,Sandbox.GameObject)">
            <summary>
            Get a SelectionPoint along a ray.
            </summary>
        </member>
        <member name="M:ToolMode.TraceSelect">
            <summary>
            Get a SelectionPoint from the tool gun owner's eyes.
            </summary>
        </member>
        <member name="M:ToolMode.GetEasyModePlacement(ToolMode.SelectionPoint,ToolMode.SelectionPoint)">
            <summary>
            Given a clicked point on a, and a clicked point on b, return a transform that places the objects so the points are touching
            </summary>
        </member>
        <member name="M:ToolMode.ApplyPhysicsProperties(Sandbox.GameObject)">
            <summary>
            Helper to apply physics properties from a model to a GameObject's <see cref="T:Sandbox.Rigidbody"/>
            </summary>
            <param name="go"></param>
        </member>
        <member name="P:ToolMode.UseSnapGrid">
            <summary>
            When true (default), a SnapGrid overlay is shown on the hovered object surface.
            Override to return false to opt out.
            </summary>
        </member>
        <member name="P:ToolMode.SnapAction">
            <summary>
            Label for the snap hint, shown whenever this tool uses the snap grid.
            </summary>
        </member>
        <member name="P:ToolMode.SnapGrid">
            <summary>
            The active snap grid, updated every frame in <see cref="M:ToolMode.OnControl"/>.
            Null when snap grid is disabled or the tool is inactive.
            </summary>
        </member>
        <member name="F:ToolMode._snapFreeAim">
            <summary>
            While snapping, the unsnapped aim driven by the mouse. The grid is traced from this,
            and the real camera is steered onto the resulting snap point.
            </summary>
        </member>
        <member name="F:ToolMode._hasSnapTarget">
            <summary>
            True when the snap grid was updated from a valid surface this frame.
            </summary>
        </member>
        <member name="M:ToolMode.OnCameraMove(Player,Angles@)">
            <summary>
            While hovering an object, hold alt key to keep the camera aim snapped to the grid
            </summary>
        </member>
        <member name="M:ToolMode.TraceSnapGrid">
            <summary>
            The ray the snap grid is traced from, free aim while snapping, otherwise the eyes.
            </summary>
        </member>
        <member name="M:ToolMode.ShouldDisplaySnapGrid(Sandbox.GameObject)">
            <summary>
            Override to control which objects show the snap grid. Excludes player geometry by default.
            </summary>
        </member>
        <member name="P:ToolMode.IsValidState">
            <summary>
            The mode should set this true or false in OnControl to indicate if the current state is valid for performing actions.
            </summary>
        </member>
        <member name="P:ToolMode.AbsorbMouseInput">
            <summary>
            When true, the toolgun will absorb mouse input so the camera doesn't move.
            The mode can then read <see cref="P:Sandbox.Input.AnalogLook"/> to use the mouse for rotation etc.
            </summary>
        </member>
        <member name="P:ToolMode.Name">
            <summary>
            Display name for the tool, defaults to the TypeDescription title.
            </summary>
        </member>
        <member name="P:ToolMode.Description">
            <summary>
            Description of what this tool does.
            </summary>
        </member>
        <member name="P:ToolMode.PrimaryAction">
            <summary>
            Label for the primary action (attack1), or null if none.
            Auto-populated from registered <see cref="T:ToolActionEntry"/> when not overridden.
            </summary>
        </member>
        <member name="P:ToolMode.SecondaryAction">
            <summary>
            Label for the secondary action (attack2), or null if none.
            Auto-populated from registered <see cref="T:ToolActionEntry"/> when not overridden.
            </summary>
        </member>
        <member name="P:ToolMode.ReloadAction">
            <summary>
            Label for the reload action, or null if none.
            Auto-populated from registered <see cref="T:ToolActionEntry"/> when not overridden.
            </summary>
        </member>
        <member name="P:ToolMode.ReloadSecondaryAction">
            <summary>
            Label for reload and secondary held together, or null if none.
            </summary>
        </member>
        <member name="P:ToolMode.TraceIgnoreTags">
            <summary>
            Tags that TraceSelect will ignore. Override per-tool to filter out specific objects.
            Defaults to "player" so tools cannot target players.
            </summary>
        </member>
        <member name="P:ToolMode.TraceHitboxes">
            <summary>
            When true, TraceSelect will also hit hitboxes.
            </summary>
        </member>
        <member name="P:ToolMode.TypeDescription">
            <summary>
            Reflection info for this tool's type. Lazy so it's valid before the component starts.
            </summary>
        </member>
        <member name="M:ToolMode.RegisterAction(ToolInput,System.Func{System.String},System.Action,InputMode)">
            <summary>
            Register a tool action that will be dispatched automatically by the base <see cref="M:ToolMode.OnControl"/>.
            The display name is a lambda so it can vary with tool state (e.g. stage-dependent hints).
            </summary>
        </member>
        <member name="M:ToolMode.Track(Sandbox.GameObject[])">
            <summary>
            Track a GameObject created by this tool action. These are passed through
            to <see cref="P:IToolActionEvents.PostActionData.CreatedObjects"/> when the post-event fires.
            </summary>
        </member>
        <member name="M:ToolMode.GetActionName(ToolInput)">
            <summary>
            Returns the display name for the first registered action matching <paramref name="input"/>, or null.
            </summary>
        </member>
        <member name="M:ToolMode.FireToolAction(ToolInput)">
            <summary>
            Fire <see cref="M:IToolActionEvents.OnToolAction(IToolActionEvents.ActionData)"/> before executing an action.
            Returns true if the action should proceed, false if cancelled.
            </summary>
        </member>
        <member name="M:ToolMode.FirePostToolAction(ToolInput)">
            <summary>
            Fire <see cref="M:IToolActionEvents.OnPostToolAction(IToolActionEvents.PostActionData)"/> after a successful action.
            Passes a snapshot of tracked objects, then clears the list.
            </summary>
        </member>
        <member name="M:ToolMode.DispatchActions">
            <summary>
            Check registered actions and invoke any whose input condition is met this frame.
            Wraps each callback with <see cref="T:IToolActionEvents"/> pre/post events.
            </summary>
        </member>
        <member name="M:ToolMode.DrawScreen(Sandbox.Rect,Sandbox.Painter)">
            <summary>
            Scrolls the tool name across the viewmodel screen's dot matrix in <see cref="P:Toolgun.ScreenColor"/>.
            </summary>
        </member>
        <member name="M:ToolMode.DrawHud(Sandbox.Painter,Vector2)">
            <summary>
            Draws a crosshair showing whether the current tool action is valid.
            </summary>
        </member>
        <member name="M:ToolMode.CheckContraptionStats(Sandbox.GameObject)">
            <summary>
            Called on the host after placing an entity or constraint. Fires an RPC to the owning
            client so it can walk the contraption graph and record achievement stats locally.
            </summary>
        </member>
        <member name="T:HiddenToolMode">
            <summary>
            Not shown in the tool list, seperate from <see cref="T:Sandbox.HideAttribute"/> because that's a much more general thing.
            </summary>
        </member>
        <member name="P:Toolgun.ScreenColor">
            <summary>
            Colour of the tool name and swipe edge on the viewmodel screen, independent of the HUD tint.
            Goes past 1 for HDR glow.
            </summary>
        </member>
        <member name="F:Toolgun._screenTarget">
            <summary>
            The mode the screen is switching to, and the one it showed before
            </summary>
        </member>
        <member name="M:Toolgun.DrawScreenContent(Sandbox.Rect,Sandbox.Painter)">
            <summary>
            Draws the current tool mode on the viewmodel screen. A new mode swipes in from the left over the old one,
            along a glowing, ragged edge that jumps about as it goes.
            </summary>
        </member>
        <member name="M:Toolgun.Hash(System.Int32,System.Int32)">
            <summary>
            Cheap repeatable 0-1 noise for the swipe edge
            </summary>
        </member>
        <member name="M:Toolgun.DrawHud(Sandbox.Painter,Vector2)">
            <summary>
            Draws the active tool mode's HUD.
            </summary>
        </member>
        <member name="M:Toolgun.RandomToolCommand">
            <summary>
            Switches the local player's toolgun to a random tool other than the current one.
            </summary>
        </member>
        <member name="P:Facepunch.UI.Voices.ListHeight">
            <summary>
            How tall the list is on screen in screen pixels, zero when nobody is shown. The notices stack above it.
            </summary>
        </member>
        <member name="M:Facepunch.UI.Voices.GetActivity(Sandbox.Voice)">
            <summary>
            How much someone is talking, 0 to 1. Never quite zero while they are in the list, so a quiet moment still looks lit.
            </summary>
        </member>
    </members>
</doc>
