<?xml version="1.0"?>
<doc>
    <assembly>
        <name>package.wurstsoftware.koth</name>
    </assembly>
    <members>
        <member name="T:KOTH.AudioComponent">
            <summary>
            Manages sound playback within the game, including playing sounds globally or for specific teams,
            updating sound states, and handling active sound instances.
            </summary>
            <remarks>
            This component is responsible for managing the lifecycle of sounds,
            including their initiation, positional updates, and cleanup. It provides
            methods for playing sounds either globally or targeted to specific teams
            and maintains references to active sound handles.
            </remarks>
        </member>
        <member name="P:KOTH.AudioComponent.StoppedSounds">
            <summary>
            A collection of sound events that have been stopped during the audio handling process.
            This list is managed internally and is primarily used to track and clean up finished or stopped sounds,
            ensuring efficient audio management within the system.
            </summary>
        </member>
        <member name="P:KOTH.AudioComponent.SoundHandles">
            <summary>
            A mapping between sound events and their corresponding sound handles used during audio processing.
            This dictionary is utilized to associate each active sound event with its control and state information,
            enabling management of sound playback, updates, and cleanup within the system.
            </summary>
        </member>
        <member name="M:KOTH.AudioComponent.PlaySoundForTeam(KOTH.FSound,KOTH.Team)">
            <summary>
            Plays a specified sound for all players on the given team.
            </summary>
            <param name="soundEvent">The sound event to be played.</param>
            <param name="team">The team for which the sound will be played.</param>
        </member>
        <member name="M:KOTH.AudioComponent.PlaySound(KOTH.FSound)">
            <summary>
            Plays a specified sound globally for all players in the game.
            </summary>
            <param name = "soundEvent">The sound event to be played.</param>
        </member>
        <member name="M:KOTH.AudioComponent.StopSound(KOTH.FSound)">
            <summary>
            Stops the playback of a specified sound in the game.
            </summary>
            <param name = "soundEvent">The sound event to be stopped.</param>
        </member>
        <member name="M:KOTH.AudioComponent.IsPlayingSound(KOTH.FSound)">
            <summary>
            Determines whether the specified sound event is currently playing.
            </summary>
            <param name="soundEvent">The sound event to check.</param>
            <returns>True if the sound event is currently playing; otherwise, false.</returns>
        </member>
        <member name="M:KOTH.AudioComponent.SoundTick">
            <summary>
            Updates the positions of active sounds and removes references to completed or invalid ones.
            </summary>
            <remarks>
            This method iterates through all active sound handles. If a sound should update its position,
            its position is recalculated. Stopped, finished, or invalid sound handles are marked for cleanup
            and later removed.
            </remarks>
        </member>
        <member name="M:KOTH.AudioComponent.CleanUpStoppedSounds">
            <summary>
            Cleans up the references to sounds that have been stopped, finished, or are no longer valid.
            </summary>
            <remarks>
            This method iterates through the list of stopped sounds, attempting to remove their corresponding entries
            from the active sound handles dictionary. Logs errors or successful removals as appropriate, then clears
            the list of stopped sounds.
            </remarks>
        </member>
        <member name="T:KOTH.FSound">
            <summary>
            Represents a sound event within the game.
            This struct is used to encapsulate data necessary to play a sound, including its location,
            the associated sound event, and the owning component triggering the sound.
            </summary>
        </member>
        <member name="P:KOTH.FSound.SoundEvent">
            <summary>
            Represents the underlying data or identity of a playable sound within the audio system.
            </summary>
        </member>
        <member name="P:KOTH.FSound.Position">
            <summary>
            Represents the 3D position in the game world where the sound event should occur.
            </summary>
        </member>
        <member name="P:KOTH.FSound.SoundId">
            <summary>
            A unique identifier for a specific sound event within the game.
            This identifier is automatically generated upon the creation of a sound event and is used
            to distinguish and manage individual sound instances effectively.
            </summary>
        </member>
        <member name="P:KOTH.FSound.Owner">
            <summary>
            The component responsible for triggering the sound event in the game.
            </summary>
        </member>
        <member name="P:KOTH.FSound.UpdatePosition">
            <summary>
            Indicates whether the position of the sound should be updated dynamically.
            </summary>
            <remarks>
            If set to true, the sound's position is recalculated during the sound management process
            to match the world position of its owning component. This is particularly useful for
            sounds tied to moving objects or entities within the game world. If false, the sound
            remains static at its initial position.
            </remarks>
        </member>
        <member name="M:KOTH.GameMode.GetAll(Sandbox.SceneFile)">
            <summary>
            Gets all game modes referenced by a scene.
            </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.FreezePlayers">
            <summary>
            Keep players frozen while this state is active.
            </summary>
        </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.LocalProcessExpEvent(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="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="F:KOTH.PlayerPawn.MedicSound">
            <summary>
            Represents the sound event associated with the "Medic" audio cue for the player character.
            </summary>
        </member>
        <member name="M:KOTH.PlayerPawn.SoundTick">
            <summary>
            Performs audio updates for the player pawn, handling sound-related behavior and interactions.
            </summary>
            <remarks>
            This method primarily updates the audio state by delegating to the SoundTick method of the
            audio component.
            </remarks>
        </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="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="P:KOTH.UI.XHair.Player">
            The player
        </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>
    </members>
</doc>
