<?xml version="1.0"?>
<doc>
    <assembly>
        <name>package.wurstsoftware.koth</name>
    </assembly>
    <members>
        <member name="M:KOTH.GameMode.GetAll(Sandbox.SceneFile)">
            <summary>
            Gets all game modes referenced by a scene.
            </summary>
        </member>
        <member name="M:KOTH.GameMode.Get``1(System.Boolean)">
            <summary>
            Gets the given component from within the game mode's object hierarchy, or null if not found / enabled.
            </summary>
        </member>
        <member name="T:KOTH.GameUtils">
            <summary>
            A list of game utilities that'll help us achieve common goals with less code... I guess?
            </summary>
        </member>
        <member name="P:KOTH.GameUtils.AllPlayers">
            <summary>
            All players in the game (includes disconnected players before expiration).
            </summary>
        </member>
        <member name="M:KOTH.GameUtils.GetPlayer(System.Guid)">
            <summary>
            Gets a player by their id.
            </summary>
        </member>
        <member name="M:KOTH.GameUtils.GetPlayers(KOTH.Team)">
            <summary>
            Get all players on a team.
            </summary>
        </member>
        <member name="P:KOTH.GameUtils.PlayerPawns">
            <summary>
            Every <see cref="T:KOTH.PlayerPawn"/> currently in the world.
            </summary>
        </member>
        <member name="M:KOTH.GameUtils.GetPlayerPawns(KOTH.Team)">
            <summary>
            Every <see cref="T:KOTH.PlayerPawn"/> currently in the world, on the given team.
            </summary>
        </member>
        <member name="P:KOTH.GameUtils.Teams">
            <summary>
            Helper list of the two teams.
            </summary>
        </member>
        <member name="M:KOTH.GameUtils.GetPlayerFromComponent(Sandbox.Component)">
            <summary>
            Get a player from a component that belongs to a player or their descendants.
            </summary>
        </member>
        <member name="M:KOTH.GameUtils.ReturnToMainMenu">
            <summary>
            Returns the invoking client to the main menu
            </summary>
        </member>
        <member name="M:KOTH.GameUtils.LogPlayers">
            <summary>
            Log all known player states to the console.
            </summary>
        </member>
        <member name="T:KOTH.Notification.ENotificationZone">
            <summary>
            Specifies the layout zones for notifications within the user interface.
            </summary>
        </member>
        <member name="F:KOTH.Notification.ENotificationZone.TopCenter">
            <summary>
            Specifies a notification display zone located at the top-center of the user interface.
            </summary>
        </member>
        <member name="F:KOTH.Notification.ENotificationZone.Center">
            <summary>
            Specifies a notification display zone located at the center of the user interface.
            </summary>
        </member>
        <member name="F:KOTH.Notification.ENotificationZone.LowerCenter">
            <summary>
            Specifies a notification display zone located at the lower-center of the user interface.
            </summary>
        </member>
        <member name="T:KOTH.Notification.FNotification">
            <summary>
            Represents a notification with customizable message, duration, display zone,
            optional custom Razor template, color, and CSS style.
            </summary>
            <param name="Message">The message text of the notification.</param>
            <param name="Duration">The duration (in seconds) for which the notification will be displayed.</param>
            <param name="Zone">The display zone of the notification on the screen.</param>
            <param name="Color">The color code of the notification text. Defaults to white (#FFFFFF).</param>
            <param name="Css">Optional parameter to provide custom CSS style for the notification. Defaults to an empty string.</param>
            <param name="Image">Optional parameter to provide an image path to the notification. Defaults to null.</param>
        </member>
        <member name="M:KOTH.Notification.FNotification.#ctor">
            <summary>
            Represents a notification with customizable message, duration, display zone,
            optional custom Razor template, color, and CSS style.
            </summary>
            <param name="Message">The message text of the notification.</param>
            <param name="Duration">The duration (in seconds) for which the notification will be displayed.</param>
            <param name="Zone">The display zone of the notification on the screen.</param>
            <param name="Color">The color code of the notification text. Defaults to white (#FFFFFF).</param>
            <param name="Css">Optional parameter to provide custom CSS style for the notification. Defaults to an empty string.</param>
            <param name="Image">Optional parameter to provide an image path to the notification. Defaults to null.</param>
        </member>
        <member name="T:KOTH.Notification.NotificationManager">
            <summary>
            Manages the queue and display of notifications in the game.
            NOTE - only one Notification will show at a time, even if its in different zones
            </summary>
        </member>
        <member name="M:KOTH.Notification.NotificationManager.AddNotification(KOTH.Notification.FNotification)">
            <summary>
            Adds a new notification to the notification queue.
            </summary>
            <param name="Notification">The notification to be added to the queue.</param>
        </member>
        <member name="M:KOTH.Notification.NotificationManager.GetNotification">
            <summary>
            Retrieves the currently active notification if one exists.
            </summary>
            <returns>
            The currently active notification or null if no notification is active.
            </returns>
        </member>
        <member name="M:KOTH.Notification.NotificationManager.OnUpdate">
            <summary>
            Updates the state of the notification manager, including processing the notification queue
            and managing the display timing of the current notification.
            </summary>
        </member>
        <member name="T:KOTH.PlayRadioOnKill">
            <summary>
            Handles certain events and plays radio sounds.
            </summary>
        </member>
        <member name="T:KOTH.PlaySound">
            <summary>
            Play a sound at the start of this state.
            </summary>
        </member>
        <member name="T:KOTH.PlayRadio">
            <summary>
            Play a radio message at the start of this state.
            </summary>
        </member>
        <member name="F:KOTH.RadioSound.RoundStarted">
            <summary>
            When the round starts.
            </summary>
        </member>
        <member name="F:KOTH.RadioSound.RoundWon">
            <summary>
            When the team has won.
            </summary>
        </member>
        <member name="F:KOTH.RadioSound.RoundLost">
            <summary>
            When the team has lost.
            </summary>
        </member>
        <member name="F:KOTH.RadioSound.BombPlanted">
            <summary>
            When the bomb has been planted.
            </summary>
        </member>
        <member name="F:KOTH.RadioSound.BombDefused">
            <summary>
            When the bomb has been defused.
            </summary>
        </member>
        <member name="F:KOTH.RadioSound.ThrownGrenade">
            <summary>
            When someone has thrown a grenade.
            </summary>
        </member>
        <member name="F:KOTH.RadioSound.TwoEnemiesLeft">
            <summary>
            When someone dies, and there's 2 people left.
            </summary>
        </member>
        <member name="F:KOTH.RadioSound.OneEnemyLeft">
            <summary>
            When someone dies, and there's 1 person left.
            </summary>
        </member>
        <member name="F:KOTH.RadioSound.TeammateDies">
            <summary>
            When a teammate dies.
            </summary>
        </member>
        <member name="M:KOTH.RadioSounds.Play(KOTH.Team,KOTH.RadioSound)">
            <summary>
            Called on the host to broadcast radio sounds to people
            </summary>
            <param name="team"></param>
            <param name="snd"></param>
        </member>
        <member name="F:KOTH.RadioSounds.TimeSinceRadio">
            <summary>
            Locally controlled, spam control.
            </summary>
        </member>
        <member name="F:KOTH.RadioSounds.RadioSpamDelay">
            <summary>
            How frequently can we spam the radio?
            </summary>
        </member>
        <member name="M:KOTH.RadioSounds.Play(KOTH.Team,System.String,System.String)">
            <summary>
            Send a radio sound to all players on the specified team
            </summary>
            <param name="team"></param>
            <param name="category"></param>
            <param name="sound"></param>
        </member>
        <member name="T:KOTH.FreezePlayers">
            <summary>
            Keep players frozen while this state is active.
            </summary>
        </member>
        <member name="P:KOTH.HudOptions.FullAvatarDisplayPlayerLimit">
            <summary>
            How many players can we display on the round display until we substitute them for a general head-count?
            </summary>
        </member>
        <member name="T:KOTH.KillGameOnEnd">
            <summary>
            Show a warning message when entering this state, then throw everyone back to the menu when this state ends.
            </summary>
        </member>
        <member name="T:KOTH.ShowCountDown">
            <summary>
            Shows a countdown based on the duration of the current state.
            </summary>
        </member>
        <member name="T:KOTH.ShowToast">
            <summary>
            Shows a toast in the middle of the screen for the duration of this state.
            </summary>
        </member>
        <member name="T:KOTH.ShowStatusIcon">
            <summary>
            Display a special icon in the game status display.
            </summary>
        </member>
        <member name="P:KOTH.ShowStatusIcon.IconPath">
            <summary>
            Path to the icon image to show.
            </summary>
        </member>
        <member name="M:KOTH.PlayerExp.ExpManager.BroadcastExpEvent(KOTH.PlayerExp.FExpEvent,KOTH.PlayerPawn)">
            <summary>
             Broadcasts exp event to player to be recorded in Sandbox's 'Stats' Service.
             There is a possibility that we could move this off to http server that records the stats directly so we have more
             control over exp stats and other stats.
            </summary>
            <param name="expEvent">The Event Containing how much exp the player should receive</param>
            <param name="player">The player receiving the exp</param>
        </member>
        <member name="M:KOTH.PlayerExp.ExpManager.CalculateExp(System.Int32,System.Int32)">
            <summary>
            Calculates exp
            </summary>
            <param name="baseExp">the lowest the exp could be</param>
            <param name="entropy">the highest the exp could be</param>
            <returns>a number in between the two values</returns>
        </member>
        <member name="M:KOTH.PlayerExp.ExpManager.ProcessExpEvent(KOTH.PlayerExp.FExpEvent)">
            <summary>
             Processes the exp event and call the increment function for exp
            </summary>
            <param name="expEvent">The event received from the server</param>
        </member>
        <member name="M:KOTH.PlayerExp.ExpManager.CheckLevelUp">
            <summary>
            Checks if the player has accumulated enough experience points to level up.
            If the threshold for leveling up is met or exceeded, the player's level is incremented,
            and the current experience value is adjusted accordingly.
            </summary>
        </member>
        <member name="T:KOTH.PlayerExp.ExpOrigins">
            <summary>
            All origins in which exp can be gained
            </summary>
        </member>
        <member name="T:KOTH.PlayerExp.FExpEvent">
            <summary>
            Event for broadcasting exp for players
            </summary>
            <param name="Amount">Amount of exp</param>
            <param name="Origin">Where the exp originated from</param>
        </member>
        <member name="T:KOTH.PlayerExp.LevelUpEvent">
            <summary>
            Event for broadcasting player level-up notifications.
            </summary>
            <param name="Level">The new level the player has achieved</param>
        </member>
        <member name="M:KOTH.PlayerExp.LevelUpEvent.#ctor(System.Int32)">
            <summary>
            Event for broadcasting player level-up notifications.
            </summary>
            <param name="Level">The new level the player has achieved</param>
        </member>
        <member name="P:KOTH.PlayerExp.LevelUpEvent.Level">
            <summary>The new level the player has achieved</summary>
        </member>
        <member name="T:KOTH.IVoiceFilter">
            <summary>
            One in a scene, used by <see cref="T:KOTH.PlayerVoiceComponent"/> to dictate rules around who can broadcast their voices to who.
            </summary>
        </member>
        <member name="M:KOTH.IVoiceFilter.GetExcludeFilter">
            <summary>
            Should we exclude this potential listener from hearing our voice?
            </summary>
            <returns></returns>
        </member>
        <member name="M:KOTH.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:KOTH.AnimationHelper.MoveStyle">
            <summary>
            We can force the model to walk or run, or let it decide based on the speed.
            </summary>
        </member>
        <member name="T:KOTH.PlayerFootsteps">
            <summary>
            Produces footstep sounds for the player.
            </summary>
        </member>
        <member name="T:KOTH.PlayerId">
            <summary>
            Grants a unique Id to each player, generated on host and synced.
            When a player disconnects that Id is returned to the pool and can be issued to new players. Issues an Id globally and per-team.
            </summary>
        </member>
        <member name="P:KOTH.PlayerId.UniqueId">
            <summary>
            Unique Id of this player in the game. New players will occupy vacant ids.
            </summary>
        </member>
        <member name="P:KOTH.PlayerId.TeamUniqueId">
            <summary>
            Unique Id of this player within their team. New players will occupy vacant ids.
            </summary>
        </member>
        <member name="T:KOTH.ITeam">
            <summary>
            A component that has a team on it.
            </summary>
        </member>
        <member name="M:KOTH.TeamExtensions.GetTeam(Sandbox.GameObject)">
            <summary>
            Accessor to get the team of someone/something.
            </summary>
            <param name="gameObject"></param>
            <returns></returns>
        </member>
        <member name="M:KOTH.TeamExtensions.IsFriendly(KOTH.Team,KOTH.Team)">
            <summary>
            Are we friendly with this other team?
            </summary>
            <param name="teamOne"></param>
            <param name="teamTwo"></param>
            <returns></returns>
        </member>
        <member name="M:KOTH.TeamExtensions.IsFriendly(Sandbox.GameObject,Sandbox.GameObject)">
            <summary>
            Are these two GameObjects friends with eachother?
            </summary>
            <param name="self"></param>
            <param name="other"></param>
            <returns></returns>
        </member>
        <member name="M:KOTH.TeamExtensions.IsFriendly(KOTH.PlayerPawn,KOTH.PlayerPawn)">
            <summary>
            Are these two <see cref="T:KOTH.PlayerPawn"/>s friends with each other?
            </summary>
        </member>
        <member name="M:KOTH.TeamExtensions.IsFriendly(KOTH.PlayerState,KOTH.PlayerState)">
            <summary>
            Are these two <see cref="T:KOTH.PlayerState"/>s friends with each other?
            </summary>
        </member>
        <member name="P:KOTH.CharacterController.Bounciness">
            <summary>
            When jumping into walls, should we bounce off or just stop dead?
            </summary>
        </member>
        <member name="M:KOTH.CharacterController.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:KOTH.CharacterController.ApplyFriction(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:KOTH.CharacterController.TraceDirection(Vector3)">
            <summary>
            Trace the controller's current position to the specified delta
            </summary>
        </member>
        <member name="M:KOTH.CharacterController.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:KOTH.CharacterController.Move">
            <summary>
            Move a character, with this velocity
            </summary>
        </member>
        <member name="M:KOTH.CharacterController.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:KOTH.PlayerPawn.BotFollowHostInput">
            <summary>
            Development: should bots follow the player's input?
            </summary>
        </member>
        <member name="P:KOTH.PlayerPawn.Zones">
            <summary>
            Which <see cref="T:Zone"/>s is the player currently standing in.
            </summary>
        </member>
        <member name="M:KOTH.PlayerPawn.UpdateZones">
            <summary>
            Update which <see cref="T:Zone"/>s the player is standing in.
            </summary>
        </member>
        <member name="T:KOTH.UI.ColorSlider">
            <summary>
            A relatively simple color slider panel. thank you Alex for your instagib code from 2021
            </summary>
        </member>
        <member name="P:KOTH.UI.EquipmentRow.Slot">
            <summary>
             The equipment's slot
            </summary>
        </member>
        <member name="P:KOTH.UI.EquipmentRow.Equipment">
            <summary>
            The player's equipment.
            </summary>
        </member>
        <member name="P:KOTH.UI.ProgressBar.Value">
            <summary>
            0 to 100
            </summary>
        </member>
        <member name="P:KOTH.UI.XHair.Player">
            The player
        </member>
        <member name="M:KOTH.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:KOTH.GameObjectExtensions.PlaySound(Sandbox.GameObject,System.String,System.Boolean)">
            <inheritdoc cref="M:KOTH.GameObjectExtensions.PlaySound(Sandbox.GameObject,Sandbox.SoundEvent,System.Boolean)"/>
        </member>
        <member name="M:KOTH.GameObjectExtensions.DestroyAsync(Sandbox.GameObject,System.Single)">
            <summary>
            Creates a <see cref="T:KOTH.TimedDestroyComponent"/> which will deferred delete the <see cref="T:Sandbox.GameObject"/>.
            </summary>
            <param name="self"></param>
            <param name="seconds"></param>
        </member>
        <member name="T:KOTH.NetworkUtils">
            <summary>
            Some network utils, mainly RPC filters.
            </summary>
        </member>
        <member name="M:KOTH.NetworkUtils.RpcMyTeam">
            <summary>
            Makes a RPC filter based on your team.
            </summary>
            <returns></returns>
        </member>
        <member name="M:KOTH.NetworkUtils.RpcTeam(KOTH.Team)">
            <summary>
            Makes a RPC filter to a specific team.
            </summary>
            <param name="team"></param>
            <returns></returns>
        </member>
        <member name="T:KOTH.SoundEmitter">
            <summary>
            A simple component that plays a sound.
            </summary>
        </member>
        <member name="P:KOTH.SoundEmitter.SoundEvent">
            <summary>
            How long until we destroy the GameObject.
            </summary>
        </member>
        <member name="P:KOTH.SoundEmitter.Follow">
            <summary>
            Should we follow the current GameObject?
            </summary>
        </member>
        <member name="P:KOTH.SoundEmitter.DestroyOnFinish">
            <summary>
            Should the GameObject be destroyed when the sound has finished?
            </summary>
        </member>
        <member name="T:KOTH.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:KOTH.TagBinder.binds">
            <summary>
            A cache of binds.
            </summary>
        </member>
        <member name="M:KOTH.TagBinder.HasExistingBind(System.String)">
            <summary>
            Do we have a bind already?
            </summary>
            <param name="tag"></param>
            <returns></returns>
        </member>
        <member name="M:KOTH.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:KOTH.TimedDestroyComponent">
            <summary>
            A simple component that destroys its GameObject.
            </summary>
        </member>
        <member name="P:KOTH.TimedDestroyComponent.Time">
            <summary>
            How long until we destroy the GameObject.
            </summary>
        </member>
        <member name="P:KOTH.TimedDestroyComponent.TimeUntilDestroy">
            <summary>
            The real time until we destroy the GameObject.
            </summary>
        </member>
        <member name="T:KOTH.ValidOrNullAttribute">
            <summary>
            For properties that contain an <see cref="T:Sandbox.IValid"/>, wrap the getter to return null if
            the stored value isn't valid.
            </summary>
        </member>
        <member name="T:ResetScores">
            <summary>
            Dispatches a <see cref="T:ResetScoresEvent"/> when this state is entered.
            </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:EEquipmentSlot">
            <summary>
            What slot is this equipment for?
            </summary>
        </member>
        <member name="T:EquipmentResource">
            <summary>
            A resource definition for a piece of equipment. This could be a weapon, or a deployable, or a gadget, or a grenade.. Anything really.
            </summary>
        </member>
        <member name="T:Zone">
            <summary>
            A region of the map with some specific gameplay purpose.
            The extents of the zone are defined by <see cref="T:Sandbox.BoxCollider"/>s attached to this object.
            </summary>
        </member>
        <member name="M:Zone.GetAt(Vector3)">
            <summary>
            Returns all zones that contain the given position.
            </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>
    </members>
</doc>
