<?xml version="1.0"?>
<doc>
    <assembly>
        <name>package.thieves.terrortown</name>
    </assembly>
    <members>
        <member name="T:TerrorTown.GameSoundManager">
            <summary>
            Handles certain events and plays radio sounds.
            </summary>
        </member>
        <member name="M:TerrorTown.ChatManager.RegisterCommands">
            <summary>
            Populates the <see cref="F:TerrorTown.ChatManager.Commands"/> with methods that have the <see cref="T:TerrorTown.Commands.ChatCommand"/> attribute
            </summary>
        </member>
        <member name="M:TerrorTown.ChatManager.ExecuteChatCommand(System.String)">
            <summary>
            Attempts to parse the message of its command and parameters.
            </summary>
            <param name="message">The users message to process as a command</param>	
        </member>
        <member name="M:TerrorTown.ChatManager.AddLocalServerMessage(System.String)">
            <summary>
            Adds a message that only the local player can see with the server as the author.
            </summary>
            <param name="message">The content of the message</param>
        </member>
        <member name="M:TerrorTown.ChatManager.AddLocalUserMessage(System.String)">
            <summary>
            Adds a message that only the local player can see with them as the author.
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:TerrorTown.ChatManager.AddMessage(System.String,System.Boolean)">
            <summary>
            Adds a message to Entires that everyone can see
            </summary>
            <param name="message">The content of the message</param>
            <param name="isAlive">If we're only chatting to dead players or all players</param>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.PlayerPrefab">
            <summary>
            Which player prefab should we spawn?
            </summary>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.IsMultiplayer">
            <summary>
            Is this game multiplayer? If not, we won't create a lobby.
            </summary>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.IsEditor">
            <summary>
            Is this game an editor mode lobby?
            </summary>
        </member>
        <member name="P:TerrorTown.GameNetworkManager.IsSecret">
            <summary>
            Is this game secret?
            </summary>
        </member>
        <member name="M:TerrorTown.GameNetworkManager.AcceptConnection(Sandbox.Connection,System.String@)">
            <summary>
            Called on the host to decide whether to accept a Sandbox.Connection.
            </summary>
            <param name="channel"></param>
            <param name="reason"></param>
        </member>
        <member name="M:TerrorTown.GameNetworkManager.OnActive(Sandbox.Connection)">
            <summary>
            Called when a network connection becomes active
            </summary>
            <param name="channel"></param>
        </member>
        <member name="T:TerrorTown.GameUtils">
            <summary>
            A list of game utilities that'll help us achieve common goals with less code... I guess?
            </summary>
        </member>
        <member name="F:TerrorTown.GameUtils.LocalPlayer">
            <summary>
            The locally-controlled <see cref="T:TerrorTown.PlayerComponent"/>, if there is one.
            </summary>
        </member>
        <member name="P:TerrorTown.GameUtils.Viewer">
            <summary>
            The <see cref="T:TerrorTown.PlayerComponent"/> we're in the perspective of if there is one.
            </summary>
        </member>
        <member name="P:TerrorTown.GameUtils.AllPlayers">
            <summary>
            All players, both assigned to a team and spectating.
            </summary>
        </member>
        <member name="P:TerrorTown.GameUtils.ActivePlayers">
            <summary>
            Players assigned to a team, so not spectating.
            </summary>
        </member>
        <member name="P:TerrorTown.GameUtils.InactivePlayers">
            <summary>
            Players not assigned to a team, or spectating.
            </summary>
        </member>
        <member name="M:TerrorTown.GameUtils.GetPlayers(TerrorTown.Team)">
            <summary>
            Players assigned to a particular team.
            </summary>
        </member>
        <member name="M:TerrorTown.GameUtils.GetSpawnPoints(System.String[])">
            <summary>
            Get all spawn point transforms for the given team.
            </summary>
        </member>
        <member name="M:TerrorTown.GameUtils.GetRandomSpawnPoint(System.String[])">
            <summary>
            Pick a random spawn point for the given team.
            </summary>
        </member>
        <member name="M:TerrorTown.GameUtils.GetPlayerFromComponent(Sandbox.Component)">
            <summary>
            Get a player from a component that belongs to a player or their descendants.
            </summary>
        </member>
        <member name="M:TerrorTown.GameUtils.ReturnToMainMenu">
            <summary>
            Returns the invoking client to the main menu
            </summary>
        </member>
        <member name="M:TerrorTown.GameUtils.ChangeLevel(System.String)">
            <summary>
            Change level
            </summary>
            <param name="map"></param>
        </member>
        <member name="M:TerrorTown.ObjectReplacer.FixCubemaps(Sandbox.Scene)">
            <summary>
            dumb hack temp fix for cubemap ordering.
            </summary>
            <param name="scene"></param>
        </member>
        <member name="T:TerrorTown.PreRoundCleanup">
            <summary>
            Destroy any <see cref="T:Sandbox.GameObject"/>s marked with <see cref="T:DestroyBetweenRounds"/> before a new round starts.
            </summary>
        </member>
        <member name="T:TerrorTown.TraitorCreditRewards">
            <summary>
            Grants kill reward money.
            </summary>
        </member>
        <member name="T:TerrorTown.StartMapVoteOnEnd">
            <summary>
            A simple game rule that kills the game when the game is over, by pulling everyone into the main menu
            </summary>
        </member>
        <member name="P:TerrorTown.SpectateSystem.SpectatorPrefab">
            <summary>
            Which spectator prefab should we spawn?
            </summary>
        </member>
        <member name="T:TerrorTown.IVoiceFilter">
            <summary>
            One in a scene, used by <see cref="T:TerrorTown.PlayerVoiceComponent"/> to dictate rules around who can broadcast their voices to who.
            </summary>
        </member>
        <member name="M:TerrorTown.IVoiceFilter.GetExcludeFilter">
            <summary>
            Should we exclude this potential listener from hearing our voice?
            </summary>
            <returns></returns>
        </member>
        <member name="P:TerrorTown.ButtonComponent.AnimationCurve">
            <summary>
            Animation curve to use, X is the time between 0-1 and Y is how much the door is open to its target angle from 0-1.
            </summary>
        </member>
        <member name="P:TerrorTown.ButtonComponent.UseSound">
            <summary>
            Sound to play the button is pressed.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.AnimationCurve">
            <summary>
            Animation curve to use, X is the time between 0-1 and Y is how much the door is open to its target angle from 0-1.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.OpenSound">
            <summary>
            Sound to play when a door is opened.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.OpenFinishedSound">
            <summary>
            Sound to play when a door is fully opened.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.CloseSound">
            <summary>
            Sound to play when a door is closed.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.CloseFinishedSound">
            <summary>
            Sound to play when a door has finished closing.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.Pivot">
            <summary>
            Optional pivot point, origin will be used if not specified.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.Axis">
            <summary>
            The axis the door rotates/moves on.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.Distance">
            <summary>
            How far should the door rotate.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.OpenTime">
            <summary>
            How long in seconds should it take to open this door.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.OpenAwayFromPlayer">
            <summary>
            Open away from the person who uses this door.
            </summary>
        </member>
        <member name="P:TerrorTown.Door.Locked">
            <summary>
            Can we open the door at all?
            </summary>
        </member>
        <member name="T:TerrorTown.NewCollisionSoundSystem">
            <summary>
            This system exists to collect pending collision sounds and filter them into a unique set, to avoid
            unnesssary sounds playing, when they're going to be making the same sound anyway.
            </summary>
        </member>
        <member name="M:TerrorTown.NewCollisionSoundSystem.RegisterCollision(Sandbox.Collision@)">
            <summary>
            Register this physics collision with the sound system
            </summary>
        </member>
        <member name="M:TerrorTown.NewCollisionSoundSystem.AddShapeCollision(Sandbox.PhysicsShape,Sandbox.Surface,Vector3@,System.Single)">
            <summary>
            Add a collision sound for this shape
            </summary>
        </member>
        <member name="M:TerrorTown.NewCollisionSoundSystem.AddShapeCollision(Sandbox.PhysicsShape,Sandbox.Surface,Sandbox.PhysicsContact@)">
            <summary>
            Add a collision sound for this shape
            </summary>
        </member>
        <member name="M:TerrorTown.NewCollisionSoundSystem.ProcessQueue">
            <summary>
            Create the pending sounds
            </summary>
        </member>
        <member name="M:TerrorTown.AnimationHelper.WithLook(Vector3,System.Single,System.Single,System.Single)">
            <summary>
            Have the player look at this point in the world
            </summary>
        </member>
        <member name="P:TerrorTown.AnimationHelper.MoveStyle">
            <summary>
            We can force the model to walk or run, or let it decide based on the speed.
            </summary>
        </member>
        <member name="P:TerrorTown.CameraController.Camera">
            <summary>
            A reference to the camera component we're going to be doing stuff with.
            </summary>
        </member>
        <member name="P:TerrorTown.CameraController.AimRay">
            <summary>
            Constructs a ray using the camera's GameObject
            </summary>
        </member>
        <member name="M:TerrorTown.CameraController.UpdateFromEyes(System.Single)">
            <summary>
            Updates the camera's position, from player code
            </summary>
            <param name="eyeHeight"></param>
        </member>
        <member name="M:TerrorTown.CameraController.ViewBob">
            <summary>
            Bob the view!
            This could be better, but it doesn't matter really.
            </summary>
        </member>
        <member name="T:TerrorTown.Corpse">
            <summary>
            This exists as it's own thing from playerbody to temporarily work around an issue where child gameobjects aren't networked properly
            </summary>
        </member>
        <member name="T:TerrorTown.DamageInfo">
            <summary>
                Describes the damage that should be done to something. This is purposefully a
                class so it can be derived from, allowing games to create their own special types
                of damage, while not having to create a whole new system.
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.Attacker">
            <summary>
                Usually a player or Npc
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.Inflictor">
            <summary>
                The weapon/object that did the damage, or a vehicle etc
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.Hitbox">
            <summary>
                The hitbox that we hit (if any)
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.Tags">
            <summary>
                Tags that define the type of damage this is
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.Damage">
            <summary>
                Amount of damage this should do
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.Position">
            <summary>
                The location of the damage
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.Force">
            <summary>
                The force of the damage
            </summary>
        </member>
        <member name="P:TerrorTown.DamageInfo.Shape">
            <summary>
                The physics shape that we hit (if any)
            </summary>
        </member>
        <member name="T:TerrorTown.HealthComponent">
            <summary>
            A health component for any kind of GameObject.
            </summary>
        </member>
        <member name="P:TerrorTown.HealthComponent.IsGodMode">
            <summary>
            Are we in god mode?
            </summary>
        </member>
        <member name="P:TerrorTown.HealthComponent.OnHealthChanged">
            <summary>
            An action (mainly for ActionGraphs) to respond to when a GameObject's health changes.
            </summary>
        </member>
        <member name="P:TerrorTown.HealthComponent.TimeSinceLifeStateChanged">
            <summary>
            How long has it been since life state changed?
            </summary>
        </member>
        <member name="P:TerrorTown.HealthComponent.RespawnState">
            <summary>
            Are we ready to respawn?
            </summary>
        </member>
        <member name="P:TerrorTown.HealthComponent.ArmorReduction">
            <summary>
            How much to reduce damage by when we have armor.
            </summary>
        </member>
        <member name="P:TerrorTown.HealthComponent.Respawnables">
            <summary>
            A list of all Respawnable things on this GameObject
            </summary>
        </member>
        <member name="P:TerrorTown.HealthComponent.Health">
            <summary>
            What's our health?
            </summary>
        </member>
        <member name="P:TerrorTown.HealthComponent.State">
            <summary>
            What's our life state?
            </summary>
        </member>
        <member name="M:TerrorTown.HealthComponent.OnHealthPropertyChanged(System.Single,System.Single)">
            <summary>
            Called when <see cref="P:TerrorTown.HealthComponent.Health"/> is changed across the network.
            </summary>
            <param name="oldValue"></param>
            <param name="newValue"></param>
        </member>
        <member name="T:TerrorTown.LifeState">
            <summary>
            The component's life state.
            </summary>
        </member>
        <member name="T:TerrorTown.IRespawnable">
            <summary>
            A respawnable object.
            </summary>
        </member>
        <member name="T:TerrorTown.IDamageListener">
            <summary>
            A listener put on a component that listens to damage.
            </summary>
        </member>
        <member name="M:TerrorTown.IDamageListener.OnDamageGiven(System.Single,Vector3,Vector3,Sandbox.Component,Sandbox.Component,System.String,System.String[])">
            <summary>
            Called when YOU inflict damage on something
            </summary>
            <param name="damage"></param>
            <param name="position"></param>
            <param name="force"></param>
            <param name="target"></param>
            <param name="hitbox"></param>
        </member>
        <member name="M:TerrorTown.IDamageListener.OnDamageTaken(System.Single,Vector3,Vector3,Sandbox.Component,Sandbox.Component,System.String,System.String[])">
            <summary>
            Called when YOU take damage from something
            </summary>
            <param name="damage"></param>
            <param name="position"></param>
            <param name="force"></param>
            <param name="attacker"></param>
            <param name="hitbox"></param>
        </member>
        <member name="M:TerrorTown.IDamageListener.PreDamageTaken(System.Single@,Vector3,Vector3,Sandbox.Component,Sandbox.Component,System.String,System.String[])">
            <summary>
            Called when YOU take damage from something
            </summary>
            <param name="damage"></param>
            <param name="position"></param>
            <param name="force"></param>
            <param name="attacker"></param>
            <param name="hitbox"></param>
        </member>
        <member name="T:TerrorTown.IKillListener">
            <summary>
            A listener put on a component that listens to damage.
            </summary>
        </member>
        <member name="M:TerrorTown.IKillListener.OnPlayerKilled(Sandbox.Component,Sandbox.Component,System.Single,Vector3,Vector3,Sandbox.Component,System.String)">
            <summary>
            Called when something dies
            </summary>
            <param name="damage"></param>
            <param name="position"></param>
            <param name="force"></param>
            <param name="inflictor"></param>
            <param name="hitbox"></param>
            <param name="killer"></param>
            <param name="victim"></param>
        </member>
        <member name="F:TerrorTown.PlayerMovement.AimDampening">
            <summary>
            How much friction to apply to the aim eg if zooming
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.Bounciness">
            <summary>
            When jumping into walls, should we bounce off or just stop dead?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.UseCollisionRules">
            <summary>
            If enabled, determine what to collide with using current project's collision rules for the <see cref="P:Sandbox.GameObject.Tags"/>
            of the containing <see cref="T:Sandbox.GameObject"/>.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.Accelerate(Vector3)">
            <summary>
            Add acceleration to the current velocity. 
            No need to scale by time delta - it will be done inside.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.ApplyFriction(Vector3,System.Single,System.Single)">
            <summary>
            Apply an amount of friction to the current velocity.
            No need to scale by time delta - it will be done inside.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.TraceDirection(Vector3)">
            <summary>
            Trace the controller's current position to the specified delta
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.Punch(Vector3@)">
            <summary>
            Disconnect from ground and punch our velocity. This is useful if you want the player to jump or something.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.Move">
            <summary>
            Move a character, with this velocity
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.MoveTo(Vector3,System.Boolean)">
            <summary>
            Move from our current position to this target position, but using tracing an sliding.
            This is good for different control modes like ladders and stuff.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.Gravity">
            <summary>
            The current gravity. Make this a gamerule thing later?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.RunSpeed">
            <summary>
            How quickly does the player move by default?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.JumpPower">
            <summary>
            How powerful is the player's jump?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.BaseFriction">
            <summary>
            How much friction does the player have?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.AirAcceleration">
            <summary>
            Can we control our movement in the air?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.IsCrouching">
            <summary>
            Is the player crouching?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.IsSlowWalking">
            <summary>
            Is the player slow walking?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.IsNoclipping">
            <summary>
            Is the player noclipping?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.WantsJump">
            <summary>
            Do we want to jump next movement update?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMovement.NoclipSpeed">
            <summary>
            Noclip movement speed
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.BroadcastPlayerJumped">
            <summary>
            A network message that lets other users that we've triggered a jump.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerMovement.GetFriction">
            <summary>
            Get the current friction.
            </summary>
            <returns></returns>
        </member>
        <member name="P:TerrorTown.IPawn.IsProxy">
            <summary>
            Do we have network rights over this pawn?
            </summary>
        </member>
        <member name="P:TerrorTown.IPawn.IsPossessed">
            <summary>
            Are we possessing this pawn right now? (Clientside)
            </summary>
        </member>
        <member name="M:TerrorTown.IPawn.Possess">
            <summary>
            Possess the pawn.
            </summary>
        </member>
        <member name="M:TerrorTown.IPawn.DePossess">
            <summary>
            De possesses the pawn.
            </summary>
        </member>
        <member name="T:TerrorTown.PawnSystem">
            <summary>
            The system that holds data about what pawn we're looking through the eyes of.
            If we don't have network authority, we'll try to spectate that pawn.
            </summary>
        </member>
        <member name="M:TerrorTown.PawnSystem.Possess(TerrorTown.IPawn)">
            <summary>
            Tries to possess a pawn. If you don't own it, spectate!
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerAmmo.AuthoritySetAmmo(TerrorTown.AmmoType,System.Int32)">
            <summary>
            Set a player's ammo, this is different to SetAmmo as it works for non local players
            </summary>
            <param name="type"></param>
            <param name="amount"></param>
        </member>
        <member name="M:TerrorTown.PlayerAmmo.AuthorityGiveAmmo(TerrorTown.AmmoType,System.Int32)">
            <summary>
            Give ammo to a player, this is different to GiveAmmo as it works for non local players
            </summary>
            <param name="type"></param>
            <param name="amount"></param>
        </member>
        <member name="P:TerrorTown.PlayerComponent.HealthComponent">
            <summary>
            The player's health component
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Inventory">
            <summary>
            The player's inventory, items, etc.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Ammo">
            <summary>
            The player's ammo.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.TeamComponent">
            <summary>
            Component describing which team the player is on.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.IsSpectating">
            <summary>
            Is this player in spectate mode?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.TimeSinceLastRespawn">
            <summary>
            How long since the player last respawned?
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.Initialize">
            <summary>
            Can be called on the host when creating the player before network spawning it. This
            seems like duplicating code but for now it's best practice to ensure state is up-to-date
            before clients receive it from the host instead of sending RPCs after spawning it in the same
            tick.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.IsUsing">
            <summary>
            Is the player holding use?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.LastUsedObject">
            <summary>
            Which object did the player last press use on?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.SteamId">
            <summary>
            Sync the player's steamid
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.PlayerName">
            <summary>
            Sync the player's display name
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Body">
            <summary>
            The player's body
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Head">
            <summary>
            A reference to the player's head (the GameObject)
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.AnimationHelper">
            <summary>
            A reference to the animation helper (normally on the Body GameObject)
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Controller">
            <summary>
            The current character controller for this player.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.VR">
            <summary>
            The current character controller for this player.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.CameraController">
            <summary>
            The current camera controller for this player.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.TerrorTown">
            <summary>
            The current camera controller for this player.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Outline">
            <summary>
            The outline effect for this player.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Voice">
            <summary>
            The player's voice
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.ViewModelCamera">
            <summary>
            A reference to the View Model's camera. This will be disabled by the View Model.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Outfitter">
            <summary>
            Handles the player's outfit
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.Radar">
            <summary>
            Handles radar pings for a player
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.ViewModelGameObject">
            <summary>
            A <see cref="T:Sandbox.GameObject"/> that will hold our ViewModel.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.CameraGameObject">
            <summary>
            Get a quick reference to the real Camera GameObject.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.BodyRenderer">
            <summary>
            Finds the first <see cref="T:Sandbox.SkinnedModelRenderer"/> on <see cref="P:TerrorTown.PlayerComponent.Body"/>
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.AimRay">
            <summary>
            An accessor to get the camera controller's aim ray.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.OnJump">
            <summary>
            Called when the player jumps.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.PlayerBoxCollider">
            <summary>
            The player's box collider, so people can jump on other people.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.UseDistance">
            <summary>
            How far can we use stuff?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.IsLocallyControlled">
            <summary>
            A shorthand accessor to say if we're controlling this player.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.IsViewer">
            <summary>
            Is this player the currently possessed controller
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.BotId">
            <summary>
            Unique ID of this Bot
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.IsBot">
            <summary>
            Is this a player or a bot
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.TimeSinceLastInput">
            <summary>
            Last time this player moved or attacked.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerComponent.CurrentWeapon">
            <summary>
            What weapon are we using?
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerComponent.TerrorTown#IDamageListener#OnDamageGiven(System.Single,Vector3,Vector3,Sandbox.Component,Sandbox.Component,System.String,System.String[])">
            <summary>
            Called when YOU inflict damage on something
            </summary>
            <param name="damage"></param>
            <param name="position"></param>
            <param name="force"></param>
            <param name="target"></param>
            <param name="hitbox"></param>
        </member>
        <member name="M:TerrorTown.PlayerComponent.TerrorTown#IDamageListener#OnDamageTaken(System.Single,Vector3,Vector3,Sandbox.Component,Sandbox.Component,System.String,System.String[])">
            <summary>
            Called when YOU take damage from something
            </summary>
            <param name="damage"></param>
            <param name="position"></param>
            <param name="force"></param>
            <param name="attacker"></param>
            <param name="hitbox"></param>
        </member>
        <member name="T:TerrorTown.PlayerFootsteps">
            <summary>
            Produces footstep sounds for the player.
            </summary>
        </member>
        <member name="T:TerrorTown.PlayerInventory">
            <summary>
            The player's inventory.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerInventory.Weapons">
            <summary>
            What weapons do we have right now?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerInventory.WeaponGameObject">
            <summary>
            A <see cref="T:Sandbox.GameObject"/> that will hold all of our weapons.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerInventory.CanUnequipCurrentWeapon">
            <summary>
            Can we unequip the current weapon so we have no weapons out?
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerInventory.Credits">
            <summary>
            Players current Credits
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerInventory.CurrentWeapon">
            <summary>
            Gets the player's current weapon.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerInventory.SwitchWeapon(TerrorTown.Weapon)">
            <summary>
            Tries to set the player's current weapon to a specific one, which has to be in the player's inventory.
            </summary>
            <param name="weapon"></param>
        </member>
        <member name="M:TerrorTown.PlayerInventory.RemoveWeapon(TerrorTown.Weapon)">
            <summary>
            Removes the given weapon and destroys it.
            </summary>
        </member>
        <member name="M:TerrorTown.PlayerInventory.RemoveWeapon(WeaponData)">
            <summary>
            Removes the given weapon (by its resource data) and destroys it.
            </summary>
        </member>
        <member name="P:TerrorTown.PlayerMarker.Player">
            <summary>
            The player.
            </summary>
        </member>
        <member name="T:TerrorTown.PlayerOutfitter">
            <summary>
            An extremely basic outfitter, which'll swap between two gameobjects (which are holding an outfit)
            </summary>
        </member>
        <member name="M:TerrorTown.UI.OptionSelect.Open">
            <summary>
            Open the dropdown.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.RadioCommand.Slot">
            <summary>
            The player's weapon.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.RadioCommand.Command">
            <summary>
            The player's weapon.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.RadioCommand.IsSelected">
            <summary>
            Is this selected or being hovered over?
            </summary> 
        </member>
        <member name="F:TerrorTown.UI.Marker.IsOffScreen">
            <summary>
            Are we off screen?
            </summary>
        </member>
        <member name="F:TerrorTown.UI.Marker.IsBehind">
            <summary>
            Is this marker entirely behind the screen?
            </summary>
        </member>
        <member name="P:TerrorTown.UI.WeaponRow.Slot">
            <summary>
             The weapon's slot
            </summary>
        </member>
        <member name="P:TerrorTown.UI.WeaponRow.Weapon">
            <summary>
            The player's weapon.
            </summary>
        </member>
        <member name="P:TerrorTown.UI.WeaponRow.IsSelected">
            <summary>
            Is this selected or being hovered over?
            </summary> 
        </member>
        <member name="P:TerrorTown.UI.ProgressBar.Value">
            <summary>
            0 to 100
            </summary>
        </member>
        <member name="P:TerrorTown.UI.Donut.Value">
            <summary>
            0 to 100
            </summary>
        </member>
        <member name="P:TerrorTown.UI.Ammo.Inventory">
            <summary>
            The player's inventory
            </summary>
        </member>
        <member name="P:TerrorTown.UI.Ammo.Player">
            The player
        </member>
        <member name="T:TerrorTown.TeamComponent">
            <summary>
            Designates the team for a player.
            </summary>
        </member>
        <member name="P:TerrorTown.TeamComponent.OnTeamChanged">
            <summary>
            An action (for ActionGraph, or other components) to listen for team changes
            </summary>
        </member>
        <member name="P:TerrorTown.TeamComponent.Team">
            <summary>
            The team this player is on.
            </summary>
        </member>
        <member name="M:TerrorTown.TeamComponent.OnTeamPropertyChanged(TerrorTown.Team,TerrorTown.Team)">
            <summary>
            Called when <see cref="P:TerrorTown.TeamComponent.Team"/> changes across the network.
            </summary>
            <param name="before"></param>
            <param name="after"></param>
        </member>
        <member name="M:TerrorTown.TeamExtensions.GetTeam(TerrorTown.PlayerComponent)">
            <summary>
            Accessor to get the team of someone/something.
            </summary>
            <param name="player"></param>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.TeamExtensions.TeamsAreFriendly(TerrorTown.Team,TerrorTown.Team)">
            <summary>
            Are we friendly with this other team?
            </summary>
            <param name="teamOne"></param>
            <param name="teamTwo"></param>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.TeamExtensions.IsFriendlyWithPlayer(TerrorTown.PlayerComponent,TerrorTown.PlayerComponent)">
            <summary>
            Are these two <see cref="T:TerrorTown.PlayerComponent"/>s friends with each other?
            </summary>
        </member>
        <member name="M:TerrorTown.TeamExtensions.IsFriendlyWithTeam(TerrorTown.PlayerComponent,TerrorTown.Team)">
            <summary>
            Are these two <see cref="T:TerrorTown.PlayerComponent"/>s friends with each other?
            </summary>
        </member>
        <member name="M:TerrorTown.TeamExtensions.PlayerIsTeam(TerrorTown.PlayerComponent,TerrorTown.Team)">
            <summary>
            Is this <see cref="T:TerrorTown.PlayerComponent"/> a certain team?  
            </summary>
        </member>
        <member name="T:TerrorTown.TerrorTownState">
            <summary>
             All this component does is lie
            </summary>
        </member>
        <member name="T:TerrorTown.DNATraceComponent">
            <summary>
            Add this to objects you want to be scannable with the DNA Scanner
            </summary>
        </member>
        <member name="M:TerrorTown.TerrorTownLegacyMapLoader.FixLag">
            <summary>
            Temp fix for networked objects rigidbodies being laggy
            </summary>
        </member>
        <member name="M:TerrorTown.IgniterWeaponComponent.GetTrace">
            <summary>
            Runs a trace with all the data we have supplied it, and returns the result
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.ObjectGrabberComponent.GetTrace">
            <summary>
            Runs a trace with all the data we have supplied it, and returns the result
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.ObjectPusherComponent.GetTrace">
            <summary>
            Runs a trace with all the data we have supplied it, and returns the result
            </summary>
            <returns></returns>
        </member>
        <member name="P:TerrorTown.PrefabAttacherWeaponComponent.AmmoComponent">
            <summary>
            The current weapon's ammo container.
            </summary>
        </member>
        <member name="P:TerrorTown.PrefabAttacherWeaponComponent.RemoveOnUse">
            <summary>
            Remove current weapon on use.
            </summary>
        </member>
        <member name="P:TerrorTown.PrefabAttacherWeaponComponent.PrefabOffset">
            <summary>
            Prefab Offset.
            </summary>
        </member>
        <member name="P:TerrorTown.PrefabAttacherWeaponComponent.TimeSinceShoot">
            <summary>
            how long since we shot?
            </summary>
        </member>
        <member name="M:TerrorTown.PrefabAttacherWeaponComponent.CanAttach">
            <summary>
            Can we shoot this gun right now?
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.Developer.FindPlayer">
            <summary>
            Quick and dirty way to find the player we're controlling right now
            </summary>
            <returns></returns>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.Options">
            <summary>
            Our networked list of voting options.
            </summary>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.Votes">
            <summary>
            Our networked list of votes.
            </summary>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.TimeUntilDecidedWinner">
            <summary>
            How long until we decide who won?
            </summary>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.TimeUntilTransfer">
            <summary>
            How long until we move server?
            </summary>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.WinningOption">
            <summary>
            Which option is the winner?
            </summary>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.MapVoteOverlay">
            <summary>
            An instance of the map vote overlay UI
            </summary>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.ScreenPanel">
            <summary>
            The screen panel which draws our UI
            </summary>
        </member>
        <member name="M:TerrorTown.MapVoteSystem.GetWinningOption">
            <summary>
            What's our current winning option?
            TODO: provide sorted options instead so other systems can take winner, or take a draw 
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.MapVoteSystem.Create(GameModeInfo,System.String,System.Int32)">
            <summary>
            Start a vote. This'll make a component on the server and 
            </summary>
            <param name="currentMode"></param>
            <param name="currentMap"></param>
            <param name="count"></param>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.MapVoteSystem.Dev_CreateMapVote">
            <summary>
            This will immedately stop the game and force everyone to vote!!!	
            </summary>
        </member>
        <member name="M:TerrorTown.MapVoteSystem.RpcVote(System.Int32)">
            <summary>
            RPCs a vote, targeted to the host, so it's not exposed to any public API.
            </summary>
            <param name="index"></param>
        </member>
        <member name="M:TerrorTown.MapVoteSystem.Vote(System.Int32)">
            <summary>
            Sends a vote to the host.
            </summary>
            <param name="index"></param>
        </member>
        <member name="T:TerrorTown.MapVoteSystem.NetworkedVote">
            <summary>
            A networked vote.
            </summary>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.NetworkedVote.VoterId">
            <summary>
            The player's SteamId
            </summary>
        </member>
        <member name="P:TerrorTown.MapVoteSystem.NetworkedVote.Option">
            <summary>
            Which option are we voting for? (Mapped to the list)
            </summary>
        </member>
        <member name="T:TerrorTown.MapVoteSystem.Option">
            <summary>
            A voting option that has real data.
            </summary>
        </member>
        <member name="P:TerrorTown.IMarkerObject.GameObject">
            <summary>
            Raw access
            </summary>
        </member>
        <member name="P:TerrorTown.IMarkerObject.MarkerFrame">
            <summary>
            Data in the frame
            </summary>
        </member>
        <member name="P:TerrorTown.IMarkerObject.MarkerPanelTypeOverride">
            <summary>
            Are we overriding the type here?
            </summary>
        </member>
        <member name="T:TerrorTown.Lobby">
            <summary>
            This purely exists as a wrappe for a real lobby, so we can display fake lobbies in the UI.
            </summary>
        </member>
        <member name="F:TerrorTown.Lobby._lobby">
            <summary>
            A reference to our internal lobby type.
            </summary>
        </member>
        <member name="P:TerrorTown.Lobby.IsEditorLobby">
            <summary>
            Is this lobby a dev env?
            </summary>
        </member>
        <member name="P:TerrorTown.Lobby.IsDedicatedServer">
            <summary>
            Is this lobby a dedicated server?
            </summary>
        </member>
        <member name="P:TerrorTown.AttachmentProxyComponent.ModelRenderer">
            <summary>
            The ModelRenderer that our attachment is from.
            </summary>
        </member>
        <member name="F:TerrorTown.BulletSystem.BloodImpactSound">
            <summary>
            Store a reference to the blood impact sound so we don't have to grab it every time.
            </summary>
        </member>
        <member name="M:TerrorTown.BulletSystem.DoTracerLegacy(Vector3,Vector3,System.Int32,TerrorTown.BulletInfo)">
            <summary>
            Makes some tracers using legacy particle effects.
            </summary>
        </member>
        <member name="M:TerrorTown.BulletSystem.DoTracer(Vector3,Vector3,System.Int32,TerrorTown.BulletInfo)">
            <summary>
            Makes some tracers using particle effects.
            </summary>
        </member>
        <member name="M:TerrorTown.BulletSystem.GetBulletTrace(Vector3,Vector3,System.Single,System.Single,Sandbox.GameObject,System.Int32,System.Single)">
            <summary>
            Runs a trace with all the data we have supplied it, and returns the result
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.GameObjectExtensions.TakeDamage(Sandbox.GameObject,TerrorTown.DamageInfo)">
            <summary>
            Take damage.
            </summary> 
        </member>
        <member name="M:TerrorTown.GameObjectExtensions.PlaySound(Sandbox.GameObject,Sandbox.SoundEvent,System.Boolean)">
            <summary>
            Creates a GameObject that plays a sound.
            </summary>
            <param name="self"></param>
            <param name="sndEvent"></param>
            <param name="follow"></param>
        </member>
        <member name="M:TerrorTown.GameObjectExtensions.PlaySound(Sandbox.GameObject,System.String,System.Boolean)">
            <inheritdoc cref="M:TerrorTown.GameObjectExtensions.PlaySound(Sandbox.GameObject,Sandbox.SoundEvent,System.Boolean)"/>
        </member>
        <member name="M:TerrorTown.GameObjectExtensions.DestroyAsync(Sandbox.GameObject,System.Single)">
            <summary>
            Creates a <see cref="T:TerrorTown.TimedDestroyComponent"/> which will deferred delete the <see cref="T:Sandbox.GameObject"/>.
            </summary>
            <param name="self"></param>
            <param name="seconds"></param>
        </member>
        <member name="M:TerrorTown.GameObjectExtensions.EnableAsync(Sandbox.GameObject,Sandbox.Component,System.Single)">
            <summary>
            Creates a <see cref="T:TerrorTown.TimedDestroyComponent"/> which will deferred delete the <see cref="T:Sandbox.GameObject"/>.
            </summary>
            <param name="self"></param>
            <param name="seconds"></param>
        </member>
        <member name="T:TerrorTown.HackyPostProcessingFix">
            <summary>
            THis fucking sucks??????? https://github.com/Facepunch/sbox-issues/issues/4827
            </summary>
        </member>
        <member name="T:TerrorTown.SoundEmitter">
            <summary>
            A simple component that plays a sound.
            </summary>
        </member>
        <member name="P:TerrorTown.SoundEmitter.SoundEvent">
            <summary>
            How long until we destroy the GameObject.
            </summary>
        </member>
        <member name="P:TerrorTown.SoundEmitter.Follow">
            <summary>
            Shoulud we follow the current GameObject?
            </summary>
        </member>
        <member name="M:TerrorTown.SurfaceExtensions.ReplaceSurface(Sandbox.Surface)">
            <summary>
            Replace any base surface with our new equivelents.
            </summary> 
            <returns></returns>
        </member>
        <member name="T:TerrorTown.TagBinder">
            <summary>
            A utility component that lets you have tags update based on conditions,
            similarly to how we have Panel.BindClass
            </summary>
        </member>
        <member name="F:TerrorTown.TagBinder.binds">
            <summary>
            A cache of binds.
            </summary>
        </member>
        <member name="M:TerrorTown.TagBinder.HasExistingBind(System.String)">
            <summary>
            Do we have a bind already?
            </summary>
            <param name="tag"></param>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.TagBinder.BindTag(System.String,System.Func{System.Boolean})">
            <summary>
            Bind a tag to a specific condition. Must not exist.
            </summary>
            <param name="tag"></param>
            <param name="predicate"></param>
            <returns></returns>
        </member>
        <member name="T:TerrorTown.TimedDestroyComponent">
            <summary>
            A simple component that destroys its GameObject.
            </summary>
        </member>
        <member name="P:TerrorTown.TimedDestroyComponent.Time">
            <summary>
            How long until we destroy the GameObject.
            </summary>
        </member>
        <member name="P:TerrorTown.TimedDestroyComponent.TimeUntilDestroy">
            <summary>
            The real time until we destroy the GameObject.
            </summary>
        </member>
        <member name="T:TerrorTown.TimedParticleDestroyComponent">
            <summary>
            A simple component that destroys its GameObject.
            </summary>
        </member>
        <member name="P:TerrorTown.TimedParticleDestroyComponent.Time">
            <summary>
            How long until we destroy the ParticleToDestroy.
            </summary>
        </member>
        <member name="P:TerrorTown.TimedParticleDestroyComponent.TimeUntilDestroy">
            <summary>
            The real time until we destroy the Particle.
            </summary>
        </member>
        <member name="F:TerrorTown.TimedParticleDestroyComponent.ParticleToDestroy">
            <summary>
            The Particle to destroy
            </summary>
        </member>
        <member name="T:TerrorTown.AmmoComponent">
            <summary>
            An ammo container. It holds ammo for a weapon.
            </summary>
        </member>
        <member name="P:TerrorTown.AmmoComponent.Ammo">
            <summary>
            How much ammo are we holding?
            </summary>
        </member>
        <member name="P:TerrorTown.AmmoComponent.HasAmmo">
            <summary>
            Do we have any ammo?
            </summary>
        </member>
        <member name="P:TerrorTown.AmmoComponent.IsFull">
            <summary>
            Is this container full?
            </summary>
        </member>
        <member name="P:TerrorTown.InspectWeaponComponent.ReloadWeaponComponent">
            <summary>
            So that we can only inspect when we cant reload.
            </summary>
        </member>
        <member name="P:TerrorTown.MeleeWeaponComponent.EffectsRenderer">
            <summary>
            Fetches the desired model renderer that we'll focus effects on like trail effects, muzzle flashes, etc.
            </summary>
        </member>
        <member name="M:TerrorTown.MeleeWeaponComponent.DoEffects(System.Boolean)">
            <summary>
            Do shoot effects
            </summary>
        </member>
        <member name="M:TerrorTown.MeleeWeaponComponent.GetTrace">
            <summary>
            Runs a trace with all the data we have supplied it, and returns the result
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.MeleeWeaponComponent.CanSwing">
            <summary>
            Can we shoot this gun right now?
            </summary>
        </member>
        <member name="P:TerrorTown.ReloadWeaponComponent.ReloadTime">
            <summary>
            How long does it take to reload?
            </summary>
        </member>
        <member name="P:TerrorTown.ReloadWeaponComponent.EmptyReloadTime">
            <summary>
            How long does it take to reload while empty?
            </summary>
        </member>
        <member name="P:TerrorTown.ReloadWeaponComponent.AmmoComponent">
            <summary>
            This is really just the magazine for the weapon. 
            </summary>
        </member>
        <member name="P:TerrorTown.ShootWeaponComponent.ShootSound">
            <summary>
            What sound should we play when we fire?
            </summary>
        </member>
        <member name="P:TerrorTown.ShootWeaponComponent.DryFireSound">
            <summary>
            What sound should we play when we dry fire?
            </summary>
        </member>
        <member name="P:TerrorTown.ShootWeaponComponent.AmmoComponent">
            <summary>
            The current weapon's ammo container.
            </summary>
        </member>
        <member name="P:TerrorTown.ShootWeaponComponent.RequiresAmmoComponent">
            <summary>
            Does this weapon require an ammo container to fire its bullets?
            </summary>
        </member>
        <member name="P:TerrorTown.ShootWeaponComponent.RicochetMaxHits">
            <summary>
            How many ricochet hits until we stop traversing
            </summary>
        </member>
        <member name="P:TerrorTown.ShootWeaponComponent.MaxRicochetAngle">
            <summary>
            Maximum angle in degrees for ricochet to be possible
            </summary>
        </member>
        <member name="P:TerrorTown.ShootWeaponComponent.MaxEffectsPlayDistance">
            <summary>
            Anything past 2048 units won't produce effects,
            This is squared.
            </summary>
        </member>
        <member name="P:TerrorTown.ShootWeaponComponent.BloodEjectDistance">
            <summary>
            How far will we trace away from a gunshot wound, to make blood splatters?
            </summary>
        </member>
        <member name="P:TerrorTown.ShootWeaponComponent.WeaponRay">
            <summary>
            Accessor for the aim ray.
            </summary>
        </member>
        <member name="P:TerrorTown.ShootWeaponComponent.TimeSinceShoot">
            <summary>
            how long since we shot?
            </summary>
        </member>
        <member name="P:TerrorTown.ShootWeaponComponent.isShooting">
            <summary>
            Have we been continuously shooting?	
            </summary>
        </member>
        <member name="P:TerrorTown.ShootWeaponComponent.Effector">
            <summary>
            Fetches the desired model renderer that we'll focus effects on like trail effects, muzzle flashes, etc.
            </summary>
        </member>
        <member name="F:TerrorTown.ShootWeaponComponent.BloodImpactSound">
            <summary>
            Store a reference to the blood impact sound so we don't have to grab it every time.
            </summary>
        </member>
        <member name="M:TerrorTown.ShootWeaponComponent.DoShootEffects">
            <summary>
            Play any particle effects such as muzzle flashes.
            </summary>
        </member>
        <member name="M:TerrorTown.ShootWeaponComponent.Shoot">
            <summary>
            Shoot the gun!
            </summary>
        </member>
        <member name="M:TerrorTown.ShootWeaponComponent.IsNearby(Vector3)">
            <summary>
            Are we nearby a position? Used for FX
            </summary>
            <param name="position"></param>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.ShootWeaponComponent.GetBulletSpread">
            <summary>
            Gets the current bullet spread which is accumulated by the player's movement speed, or if they're in the air.
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.ShootWeaponComponent.CanShoot">
            <summary>
            Can we shoot this gun right now?
            </summary>
            <returns></returns>
        </member>
        <member name="T:TerrorTown.WeaponComponent">
            <summary>
            A weapon component. This can be anything that controls a weapon. Aiming, recoil, sway, shooting..
            </summary>
        </member>
        <member name="P:TerrorTown.WeaponComponent.Weapon">
            <summary>
            The weapon. It's going to be a component on the same <see cref = "T:Sandbox.GameObject"/>.
            </summary>
        </member>
        <member name="T:TerrorTown.InputWeaponComponent">
            <summary>
            A weapon component that reacts to input actions.
            </summary>
        </member>
        <member name="P:TerrorTown.InputWeaponComponent.InputActions">
            <summary>
            What input action are we going to listen for?
            </summary>
        </member>
        <member name="P:TerrorTown.InputWeaponComponent.RequiresAllInputActions">
            <summary>
            Should we perform the action when ALL input actions match, or any?
            </summary>
        </member>
        <member name="P:TerrorTown.InputWeaponComponent.InputType">
            <summary>
            What kind of input are we listening for?
            </summary>
        </member>
        <member name="P:TerrorTown.InputWeaponComponent.OnInputAction">
            <summary>
            ActionGraphs action so you can do stuff with visual scripting.
            </summary>
        </member>
        <member name="M:TerrorTown.InputWeaponComponent.GetInputMethod(System.String)">
            <summary>
            Gets the input method
            </summary>
            <param name="action"></param>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.InputWeaponComponent.OnInput">
            <summary>
            Called when the input method succeeds.
            </summary>
        </member>
        <member name="M:TerrorTown.InputWeaponComponent.OnInputUp">
            <summary>
            When the button is up
            </summary>
        </member>
        <member name="M:TerrorTown.InputWeaponComponent.OnInputDown">
            <summary>
            When the button is down
            </summary>
        </member>
        <member name="P:TerrorTown.DroppedWeapon.ExcessAmmo">
            <summary>
            TTT Drops ammo with the weapon if no other weapons you have need it.
            </summary>
        </member>
        <member name="P:TerrorTown.HEGrenade.TerrorTown#IMarkerObject#MarkerFrame">
            <summary>
            Temporary marker just to make it obvious there's a grenade
            </summary>
        </member>
        <member name="T:TerrorTown.IDroppedWeaponState">
            <summary>
            Interface for components on weapons that persist when dropped.
            </summary>
        </member>
        <member name="T:TerrorTown.IDroppedWeaponState`1">
            <summary>
            Interface for components on weapons that persist when dropped.
            Default implementation will create a copy of this component on the dropped weapon, then copy it back on pickup.
            </summary>
        </member>
        <member name="T:TerrorTown.RandomAmmoSpawner">
            <summary>
            Spawns a random box of ammo with full ammo.
            </summary>
        </member>
        <member name="T:TerrorTown.RandomGrenadeSpawner">
            <summary>
            Spawns a random grenade on round start.
            </summary>
        </member>
        <member name="T:TerrorTown.RandomWeaponSpawner">
            <summary>
            Spawns a random weapon on round start. Can specify how much of its ammo spawns with it.
            </summary>
        </member>
        <member name="T:TerrorTown.WeaponSpawner">
            <summary>
            Spawns a specific weapon on round start. Can specify how much of its ammo spawns with it.
            </summary>
        </member>
        <member name="T:TerrorTown.ViewModel">
            <summary>
            A weapon's viewmodel. It's responsibility is to listen to events from a weapon.
            It should only exist on the client for the currently possessed pawn.
            </summary>
        </member>
        <member name="P:TerrorTown.ViewModel.Weapon">
            <summary>
            A reference to the <see cref="P:TerrorTown.ViewModel.Weapon"/> we want to listen to.
            </summary>
        </member>
        <member name="P:TerrorTown.ViewModel.Arms">
            <summary>
            A reference to the viewmodel's arms.
            </summary>
        </member>
        <member name="P:TerrorTown.ViewModel.IsThrowable">
            <summary>
            Is this a throwable?
            </summary>
        </member>
        <member name="P:TerrorTown.ViewModel.PlayerComponent">
            <summary>
            Looks up the tree to find the player controller.
            </summary>
        </member>
        <member name="P:TerrorTown.ViewModel.ViewModelCamera">
            <summary>
            The View Model camera 
            </summary>
        </member>
        <member name="T:TerrorTown.Weapon">
            <summary>
            A weapon component.
            </summary>
        </member>
        <member name="T:TerrorTown.Weapon.IDeploymentListener">
            <summary>
            Subscribe to changes in the weapon's deployed state.
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.Resource">
            <summary>
            A reference to the weapon's <see cref="T:WeaponData"/>.
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.TagBinder">
            <summary>
            A tag binder for this weapon.
            </summary>
        </member>
        <member name="M:TerrorTown.Weapon.BindTag(System.String,System.Func{System.Boolean})">
            <summary>
            Shorthand to bind a tag.
            </summary>
            <param name="tag"></param>
            <param name="predicate"></param>
        </member>
        <member name="P:TerrorTown.Weapon.ModelRenderer">
            <summary>
            A reference to the weapon's model renderer.
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.HoldType">
            <summary>
            The default holdtype for this weapon.
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.DeploySound">
            <summary>
            What sound should we play when taking this gun out?
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.DeployTime">
            <summary>
            What sound should we play when taking this gun out?
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.SpeedPenalty">
            <summary>
            How slower do we walk with this weapon out?
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.IsDeployed">
            <summary>
            Is this weapon currently deployed by the player?
            </summary>
        </member>
        <member name="M:TerrorTown.Weapon.UpdateRenderMode">
            <summary>
            Updates the render mode, if we're locally controlling a player, we want to hide the world model.
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.ViewModel">
            <summary>
            A reference to the weapon's <see cref="T:TerrorTown.ViewModel"/> if it has one.
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.Owner">
            <summary>
            Get the weapon's owner - namely the player controller
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.TimeSincePrimaryAttack">
            <summary>
            How long it's been since we used this attack.
            </summary>
        </member>
        <member name="P:TerrorTown.Weapon.TimeSinceSecondaryAttack">
            <summary>
            How long it's been since we used this attack.
            </summary>
        </member>
        <member name="M:TerrorTown.Weapon.Deploy">
            <summary>
            Deploy this weapon.
            </summary>
        </member>
        <member name="M:TerrorTown.Weapon.Holster">
            <summary>
            Holster this weapon.
            </summary>
        </member>
        <member name="M:TerrorTown.Weapon.GetHoldType">
            <summary>
            Allow weapons to override holdtypes at any notice.
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.Weapon.PrimaryAttack">
            <summary>
            Called when trying to shoot the weapon with the "Attack1" input action.
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.Weapon.CanPrimaryAttack">
            <summary>
            Can we even use this attack?
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.Weapon.SecondaryAttack">
            <summary>
            Called when trying to shoot the weapon with the "Attack2" input action.
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.Weapon.CanSecondaryAttack">
            <summary>
            Can we even use this attack?
            </summary>
            <returns></returns>
        </member>
        <member name="M:TerrorTown.Weapon.CreateViewModel(System.Boolean)">
            <summary>
            Creates a viewmodel for the player to use.
            </summary>
        </member>
        <member name="T:GameMode">
            <summary>
            Handles the main game loop, using components that listen to state change
            events to handle game logic.
            </summary>
        </member>
        <member name="M:GameMode.GetAll(Sandbox.SceneFile)">
            <summary>
            Gets all game modes referenced by a scene.
            </summary>
        </member>
        <member name="P:GameMode.State">
            <summary>
            Current game state (controlled by the host.)
            </summary>
        </member>
        <member name="P:GameMode.TimeSinceStateChanged">
            <summary>
            Current game time (controlled by the host.)
            </summary>
        </member>
        <member name="P:GameMode.Round">
            <summary>
            Current round number, starting at 1.
            </summary>
        </member>
        <member name="M:GameMode.SendSpawnConfirmation">
            <summary>
            RPC called by a client when they have finished respawning.
            </summary>
        </member>
        <member name="P:DefaultEquipment.Weapons">
            <summary>
            A weapon set that we'll give the player when they spawn.
            </summary>
        </member>
        <member name="M:IGameEndCondition.ShouldGameEnd">
            <summary>
            Called on the host at the end of a round to determine if the game should end.
            </summary>
        </member>
        <member name="M:IRoundEndCondition.CheckRoundEnd">
            <summary>
            Called on the host every update during a round to determine if it should end.
            </summary>
        </member>
        <member name="M:IGameStartListener.PreGameStart">
            <summary>
            Called on the host before <see cref="M:IGameStartListener.OnGameStart"/>.
            </summary>
        </member>
        <member name="M:IGameStartListener.OnGameStart">
            <summary>
            Called on the host when a game is starting.
            </summary>
        </member>
        <member name="M:IGameStartListener.PostGameStart">
            <summary>
            Called on the host after <see cref="M:IGameStartListener.OnGameStart"/> completes.
            </summary>
        </member>
        <member name="M:IGameEndListener.PreGameEnd">
            <summary>
            Called on the host before <see cref="M:IGameEndListener.OnGameEnd"/>.
            </summary>
        </member>
        <member name="M:IGameEndListener.OnGameEnd">
            <summary>
            Called on the host when a game is ending.
            </summary>
        </member>
        <member name="M:IGameEndListener.PostGameEnd">
            <summary>
            Called on the host after <see cref="M:IGameEndListener.OnGameEnd"/> completes.
            </summary>
        </member>
        <member name="M:IRoundStartListener.PreRoundStart">
            <summary>
            Called on the host before <see cref="M:IRoundStartListener.OnRoundStart(System.Boolean)"/>.
            </summary>
        </member>
        <member name="M:IRoundStartListener.OnRoundStart(System.Boolean)">
            <summary>
            Called on the host when a round is starting.
            </summary>
        </member>
        <member name="M:IRoundStartListener.PostRoundStart">
            <summary>
            Called on the host after <see cref="M:IRoundStartListener.OnRoundStart(System.Boolean)"/> completes.
            </summary>
        </member>
        <member name="M:IRoundEndListener.PreRoundEnd">
            <summary>
            Called on the host before <see cref="M:IRoundEndListener.OnRoundEnd"/>.
            </summary>
        </member>
        <member name="M:IRoundEndListener.OnRoundEnd">
            <summary>
            Called on the host when a round is ending.
            </summary>
        </member>
        <member name="M:IRoundEndListener.PostRoundEnd">
            <summary>
            Called on the host after <see cref="M:IRoundEndListener.OnRoundEnd"/> completes.
            </summary>
        </member>
        <member name="M:IPlayerSpawnListener.PrePlayerSpawn(TerrorTown.PlayerComponent)">
            <summary>
            Called on the host before <see cref="M:IPlayerSpawnListener.OnPlayerSpawn(TerrorTown.PlayerComponent)"/>.
            </summary>
        </member>
        <member name="M:IPlayerSpawnListener.OnPlayerSpawn(TerrorTown.PlayerComponent)">
            <summary>
            Called on the host when <paramref name="player"/> respawns.
            </summary>
        </member>
        <member name="M:IPlayerSpawnListener.PostPlayerSpawn(TerrorTown.PlayerComponent)">
            <summary>
            Called on the host after <see cref="M:IPlayerSpawnListener.OnPlayerSpawn(TerrorTown.PlayerComponent)"/>.
            </summary>
        </member>
        <member name="M:IPlayerJoinedListener.OnConnect(TerrorTown.PlayerComponent)">
            <summary>
            Called on the host when a new player joins, before NetworkSpawn is called.
            </summary>
        </member>
        <member name="M:IPlayerJoinedListener.OnJoined(TerrorTown.PlayerComponent)">
            <summary>
            Called on the host when a new player joins, after NetworkSpawn is called.
            </summary>
        </member>
        <member name="M:ITeamAssignedListener.OnTeamAssigned(TerrorTown.PlayerComponent,TerrorTown.Team)">
            <summary>
            Called on the host when a player is assigned to a team.
            </summary>
        </member>
        <member name="M:ITeamSwapListener.OnTeamSwap">
            <summary>
            Called on the host when both teams swap.
            </summary>
        </member>
        <member name="T:NextRoundDelay">
            <summary>
            Wait a bit before starting the next round.
            </summary>
        </member>
        <member name="T:PostponeGameForever">
            <summary>
            Never start the game, useful for testing weapons.
            </summary>
        </member>
        <member name="T:PrepareTime">
            <summary>
            Keep the players frozen for a few seconds at the start of each round.
            </summary>
        </member>
        <member name="T:RoundLimit">
            <summary>
            End the game after a fixed number of rounds.
            </summary>
        </member>
        <member name="T:RoundTimeLimit">
            <summary>
            End the round after a fixed period of time.
            </summary>
        </member>
        <member name="T:KillRewards">
            <summary>
            Grants kill reward money.
            </summary>
        </member>
        <member name="T:PlayerAutoRespawner">
            <summary>
            Respawn players after a delay.
            </summary>
        </member>
        <member name="P:RandomSpawnAssigner.SpawnTags">
            <summary>
            Use spawns that include at least one of these tags.
            </summary>
        </member>
        <member name="P:RandomSpawnAssigner.MinEnemyDistance">
            <summary>
            Avoid spawning within this radius of an enemy player.
            </summary>
        </member>
        <member name="P:RandomSpawnAssigner.SkipLineOfSightTestDistance">
            <summary>
            Assume an enemy player is out of line-of-sight if at least this far away.
            </summary>
        </member>
        <member name="T:RoundStartPlayerSpawner">
            <summary>
            Respawn all players at the start of each round.
            </summary>
        </member>
        <member name="T:SpawnProtection">
            <summary>
            Makes respawned players invulnerable for a given duration, or until they move / shoot.
            </summary>
        </member>
        <member name="T:TeamSpawnAssigner">
            <summary>
            Assign a spawn point for each player at the start of each round, based on their team.
            </summary>
        </member>
        <member name="P:TeamSpawnAssigner.SpawnTags">
            <summary>
            Use spawns that include at least one of these tags.
            </summary>
        </member>
        <member name="T:RoundCounter">
            <summary>
            Keep track of how many rounds have been played;
            </summary>
        </member>
        <member name="T:TeamAssigner">
            <summary>
            Split players into two balanced teams.
            </summary>
        </member>
        <member name="T:WaitForPlayers">
            <summary>
            Wait for enough players to connect before starting, or start anyway if we waited too long.
            </summary>
        </member>
        <member name="T:DestroyBetweenRounds">
            <summary>
            Destroy this object before a round starts if the current game mode has a <see cref="T:TerrorTown.PreRoundCleanup"/> component.
            </summary>
        </member>
        <member name="T:DestroyOnMapCleanup">
            <summary>
            Destroy this object before a round starts if the current game mode has a <see cref="T:TerrorTown.PreRoundCleanup"/> component.
            </summary>
        </member>
        <member name="T:Sandbox.ParticleModelEmitter">
            <summary>
            REMOVE ME WHEN THIS IS ADDED TO SBOX MAIN BRANCH!!!!!! Emits particles in a line. The line can be flat or have a tube-like quality.
            </summary>
        </member>
        <member name="P:Sandbox.UI.CustomSlider.Max">
            <summary>
            The right side of the slider.
            </summary>
        </member>
        <member name="P:Sandbox.UI.CustomSlider.Min">
            <summary>
            The left side of the slider.
            </summary>
        </member>
        <member name="P:Sandbox.UI.CustomSlider.Step">
            <summary>
            If set to 1, value will be rounded to 1's
            If set to 10, value will be rounded to 10's
            If set to 0.1, value will be rounded to 0.1's
            </summary>
        </member>
        <member name="P:Sandbox.UI.CustomSlider.ShowRange">
            <summary>
            Show the range values above the slider
            </summary>
        </member>
        <member name="P:Sandbox.UI.CustomSlider.ShowValueTooltip">
            <summary>
            When changing the value show the tooltip
            </summary>
        </member>
        <member name="P:Sandbox.UI.CustomSlider.ShowTextEntry">
            <summary>
            When changing the value show the tooltip
            </summary>
        </member>
        <member name="P:Sandbox.UI.CustomSlider.NumberFormat">
            <summary>
            How to display numbers in this control
            </summary>
        </member>
        <member name="M:Sandbox.UI.CustomSlider.ScreenPosToValue(Vector2)">
            <summary>
            Convert a screen position to a value. The value is clamped, but not snapped.
            </summary>
        </member>
        <member name="M:Sandbox.UI.CustomSlider.OnMouseMove(Sandbox.UI.MousePanelEvent)">
            <summary>
            If we move the mouse while we're being pressed then set the value
            </summary>
        </member>
        <member name="M:Sandbox.UI.CustomSlider.OnMouseDown(Sandbox.UI.MousePanelEvent)">
            <summary>
            On mouse press jump to that position
            </summary>
        </member>
        <member name="M:Vector2Extensions.Angle(Vector2,Vector2)">
            <summary>
            Gets the angle (in degrees) between two Vector2s
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="T:AmmoData">
            <summary>
            Currently unused, but i want to do something like this eventually.
            </summary>
        </member>
        <member name="P:AmmoData.MainPrefab">
            <summary>
            The prefab to create and attach to the player when spawning it in.
            </summary>
        </member>
        <member name="P:AmmoData.WorldModel">
            <summary>
            The Ammo's model
            </summary>
        </member>
        <member name="P:AmmoData.LegacyEntityName">
            <summary>
            The optional legacy Entity name for this weapon, for map compatibility reasons.
            </summary>
        </member>
        <member name="F:WeaponSlot.Melee">
            <summary>
            Knives etc.
            </summary>
        </member>
        <member name="F:WeaponSlot.Secondary">
            <summary>
            Pistols.
            </summary>
        </member>
        <member name="F:WeaponSlot.Primary">
            <summary>
            Non-pistol guns.
            </summary>
        </member>
        <member name="F:WeaponSlot.Throwable">
            <summary>
            Grenades etc.
            </summary>
        </member>
        <member name="F:WeaponSlot.Special">
            <summary>
            Magneto Stick etc.
            </summary>
        </member>
        <member name="F:WeaponSlot.Equipment">
            <summary>
            Traitor items etc.
            </summary>
        </member>
        <member name="F:WeaponSlot.Holstered">
            <summary>
            Do not use.
            </summary>
        </member>
        <member name="P:WeaponData.RandomlySpawns">
            <summary>
            If true, randomly spawns throughout the map
            </summary>
        </member>
        <member name="P:WeaponData.DropOnDisconnect">
            <summary>
            If true, owner will drop this weapon if they disconnect.
            </summary>
        </member>
        <member name="P:WeaponData.Icon">
            <summary>
            The weapon's icon
            </summary>
        </member>
        <member name="P:WeaponData.IsPurchasable">
            <summary>
            Is this weapon shown in the buy menu
            </summary>
        </member>
        <member name="P:WeaponData.BuyMenuCategory">
            <summary>
            The tab this weapon is shown in the buy menu
            </summary>
        </member>
        <member name="P:WeaponData.BuyMenuType">
            <summary>
            The tab this weapon is shown in the buy menu
            </summary>
        </member>
        <member name="P:WeaponData.Price">
            <summary>
            How much is this weapon to buy in the buy menu?
            </summary>
        </member>
        <member name="P:WeaponData.MainPrefab">
            <summary>
            The prefab to create and attach to the player when spawning it in.
            </summary>
        </member>
        <member name="P:WeaponData.ViewModelPrefab">
            <summary>
            The prefab to create when making a viewmodel for this weapon.
            </summary>
        </member>
        <member name="P:WeaponData.LegacyEntityName">
            <summary>
            The optional legacy Entity name for this weapon, for map compatibility reasons.
            </summary>
        </member>
        <member name="M:InputHint.UpdateTexture">
            <summary>
            Checks the current button and updates the glyph.
            </summary>
        </member>
    </members>
</doc>
