<?xml version="1.0"?>
<doc>
    <assembly>
        <name>IceCream</name>
    </assembly>
    <members>
        <member name="T:IceCream.Debug.Console.KeyModifier">
            <summary>
            Defines the key modifier state for a keyboard key
            </summary>
        </member>
        <member name="T:IceCream.Debug.Console.ConsoleKeyMap">
            <summary>
            ConsoleKeyMap maps a set of keys and key modifier combinations to ASCII char values
            </summary>
        </member>
        <member name="M:IceCream.Debug.Console.ConsoleKeyMap.GetCharacter(Microsoft.Xna.Framework.Input.Keys,IceCream.Debug.Console.KeyModifier,System.Char@)">
            <summary>
            Retrieves the char value for the specified key and key modifier combination.
            If a char is registered for said combination, then the char is assigned to
            'ch' and true is returned. False is returned otherwise and 'ch' is unassigned.
            </summary>
            <param name="key">The key for which to retrieve the corresponding char value</param>
            <param name="mod">The key modifier for the specified key</param>
            <param name="ch">Will contain the requested char value for the specified key
            and key modifier if such a value exists in the key map, or will be unassigned
            if no such char value is registered</param>
            <returns>True if the char value for the specified key and key modifier combination
            was retrieved and stored in 'ch', false otherwise</returns>
        </member>
        <member name="M:IceCream.Debug.Console.ConsoleKeyMap.SetCharacter(Microsoft.Xna.Framework.Input.Keys,IceCream.Debug.Console.KeyModifier,System.Char)">
            <summary>
            Sets the char value for the specified key and key modifier combination
            </summary>
            <param name="key">The key for which to set the corresponding char value</param>
            <param name="mod">The key modifier for which to set the corresponding char value</param>
            <param name="ch">The char value to set for the specified key and key modifier</param>
        </member>
        <member name="M:IceCream.Debug.Console.ConsoleKeyMap.UnsetCharacter(Microsoft.Xna.Framework.Input.Keys,IceCream.Debug.Console.KeyModifier)">
            <summary>
            Unsets the char value for the specified key and key modifier combination
            </summary>
            <param name="key">The key for which to unset the corresponding char value</param>
            <param name="mod">The key modifier for which to unset the corresponding char value</param>
            <returns>The char value previously set for the specified key and key modifier, or the
            null character ('\0') if no char value was set for the combination</returns>
        </member>
        <member name="M:IceCream.Debug.Console.ConsoleKeyMap.GetRegisteredCharacters">
            <summary>
            Gets the unique set of char values registered to the ConsoleKeyMap
            </summary>
            <returns>The unique set of char values registered to the ConsoleKeyMaps</returns>
        </member>
        <member name="M:IceCream.Debug.Console.ConsoleKeyMap.#cctor">
            <summary>
            Static constructor for ConsoleKeyMap that initializes the internal Keys to char
            dictionary set
            </summary>
        </member>
        <member name="T:IceCream.Debug.Console.ConsoleInputHandler">
            <summary>
            Delegate called when text is entered into the console
            </summary>
            <param name="input">The text entered into the console</param>
            <param name="time">The game time at which the text was entered</param>
        </member>
        <member name="T:IceCream.Debug.Console.ConsoleLogHandler">
            <summary>
            Delegate called when a message is logged to the console
            </summary>
            <param name="message">The message that was logged to the console</param>
        </member>
        <member name="T:IceCream.Debug.Console.ConsoleCommandHandler">
            <summary>
            Delegate called when a specific command is entered into the console
            </summary>
            <param name="time">The time at which the command was entered into the console</param>
            <param name="args">The arguments passed to the command (text entered after the command, separated by spaces)</param>
        </member>
        <member name="T:IceCream.Debug.Console.ConsoleDisplayOptions">
            <summary>
            A set of flags specifying how to display output in the console
            </summary>
        </member>
        <member name="T:IceCream.Debug.Console.ConsoleMessage">
            <summary>
            Defines a message logged to the console
            </summary>
        </member>
        <member name="M:IceCream.Debug.Console.ConsoleMessage.#ctor(System.UInt32,System.TimeSpan,System.TimeSpan,System.String)">
            <summary>
            Creates a new instance of ConsoleMessage with the specified
            log level, timestamp and text
            </summary>
            <param name="lev">The log level of the message</param>
            <param name="gametime">The game time timestamp of the message</param>
            <param name="realtime">The real time timestamp of the message</param>
            <param name="txt">The text of the message</param>
        </member>
        <member name="P:IceCream.Debug.Console.ConsoleMessage.Level">
            <summary>
            Gets the log level of the message
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.ConsoleMessage.GameTime">
            <summary>
            Gets the game time at which the message was logged
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.ConsoleMessage.RealTime">
            <summary>
            Gets the real time at which the message was logged
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.ConsoleMessage.Text">
            <summary>
            Gets the text of the message
            </summary>
        </member>
        <member name="T:IceCream.Debug.Console.GameConsole">
            <summary>
            GameConsole is a simple console game component that displays a log of text to the 
            screen and allows the user to enter input (which is also logged). Handling user
            input can be done in two ways, the first by registering a delegate to the
            console's 'TextEntered' event, which will trigger any delegates registered to it
            when the user enters text into the console. Both the text input and current GameTime
            are passed to the delegate for processing, and the function can handle the raw input
            any way it wishes to. The second method for handling input is to register a
            ConsoleCommandHandler with the console through the 'BindCommandHandler' method.
            ConsoleCommandHandler delegates are registered for a specific command string, and
            are triggered when that particular string is entered into the console. Any text after
            the command is considered to be a set of arguments separated by spaces. These arguments
            are passed to the ConsoleCommandHandler delegate when it is triggered.
            </summary>
        </member>
        <member name="M:IceCream.Debug.Console.IGameConsole.BindCommandHandler(System.String,IceCream.Debug.Console.ConsoleCommandHandler,System.Char[])">
            <summary>
            Binds a ConsoleCommandHandler to the specified command
            </summary>
            <param name="command">The command to which the command handler will be bound</param>
            <param name="handler">The command handler to bind to the specified command</param>
            <param name="argumentSeparators">The characters with which the command argument string will
            be split into separate arguments</param>
        </member>
        <member name="M:IceCream.Debug.Console.IGameConsole.UnbindCommandHandler(System.String)">
            <summary>
            Unbinds the ConsoleCommandHandler for the specified command
            </summary>
            <param name="command">The command for which to unbind the current
            command handler</param>
            <returns>The command handler previously bound to the specified command,
            or null if no handler was bound</returns>
        </member>
        <member name="M:IceCream.Debug.Console.IGameConsole.Open(Microsoft.Xna.Framework.Input.Keys)">
            <summary>
            Displays the console
            </summary>
            <param name="closeKey">The key that should deactivate the console
            when pressed</param>
        </member>
        <member name="M:IceCream.Debug.Console.IGameConsole.Log(System.String,System.UInt32)">
            <summary>
            Logs a message with the specified log level to the console
            </summary>
            <param name="message">The message to output to the console</param>
            <param name="level">The log level of the message</param>
        </member>
        <member name="M:IceCream.Debug.Console.IGameConsole.Log(System.String)">
            <summary>
            Logs a message with log level 0 to the console
            </summary>
            <param name="message">The message to output to the console</param>
        </member>
        <member name="M:IceCream.Debug.Console.IGameConsole.SetLogLevelCustomColor(System.UInt32,Microsoft.Xna.Framework.Color)">
            <summary>
            Sets the custom display color of text for the specified log level
            </summary>
            <param name="level">The log level for which to set the custom text
            display color</param>
            <param name="color">The custom color with which to display text for
            the specified log level</param>
        </member>
        <member name="M:IceCream.Debug.Console.IGameConsole.GetLogLevelCustomColor(System.UInt32)">
            <summary>
            Gets the custom display color of text for the specified log level,
            or returns the default text color if a custom color is not
            set for the level
            </summary>
            <param name="level">The log level for which to get the
            custom display color</param>
            <returns>The custom display color of text for the specified log level, or
            the default text color if no custom color is set for the level</returns>
        </member>
        <member name="M:IceCream.Debug.Console.IGameConsole.UnsetLogLevelCustomColor(System.UInt32)">
            <summary>
            Unsets the custom display color of text for the specified log level
            </summary>
            <param name="level">The log level for which to unset the custom
            text color</param>
        </member>
        <member name="E:IceCream.Debug.Console.IGameConsole.TextEntered">
            <summary>
            Event triggered when text is entered into the console
            </summary>
        </member>
        <member name="E:IceCream.Debug.Console.IGameConsole.MessageLogged">
            <summary>
            Event triggered when a message is logged to the console
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.TextColor">
            <summary>
            Gets or sets the console's text color
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.BackgroundColor">
            <summary>
            Gets or sets the console's background color
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.BackgroundAlpha">
            <summary>
            Gets or sets the console's background alpha translucency
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.DisplayOptions">
            <summary>
            Gets or sets the console's display options
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.TimestampFormat">
            <summary>
            Gets or sets the timestamp format for message timestamps.
            The following symblols are replaced with their corresponding values
            when the timestamp for each message is constructed:
                {Hr} - Hour (in 24 hour format)
                {Min} - Minute
                {Sec} - Second
                {Ms} - Millisecond
            
            Sample timestamp strings:
                "{Hr}:{Min}:{Sec}"
                "[{Hr}:{Min}:{Sec}:{Ms}]"
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.Prompt">
            <summary>
            Gets or sets the prompt used on the input line of the console
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.VisibleLineCount">
            <summary>
            Gets or sets the number of text lines visible in the
            console
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.VerticalLineSpacing">
            <summary>
            Gets or sets the vertical spacing between text lines in
            the console
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.HorizontalPadding">
            <summary>
            Gets or sets the amount by which text in the console will be
            right offset from the leftmost side of the screen
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.AutoScrollOnOutput">
            <summary>
            Gets or sets a value indicating whether or not the console should
            automatically scroll to the last line of the message log whenever a 
            message is output to the console
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.AlertOnUnrecognizedCommand">
            <summary>
            Gets or sets a value indicating whether or not the console will output
            the warning "Unrecognized Command" if the user inputs a command not
            registered with a command handler
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.EchoEnabled">
            <summary>
            Gets or sets a value indicating whether or not the console
            should automatically echo and input it receives from the user
            to the console log
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.EchoLogLevel">
            <summary>
            Gets or sets the log level of messages echoed automatically
            if the EchoEnabled property is set to true
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.DefaultLogLevel">
            <summary>
            Gets or sets the console's default log level which will
            be assigned to messages logged to the console with no log level
            defined
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "P:IceCream.Debug.Console.IGameConsole.LogLevelThreshold" -->
        <member name="P:IceCream.Debug.Console.IGameConsole.DisplayLevelThreshold">
            <summary>
            Gets or sets the console's display level threshold. The console will
            only display messages in the log with log levels lower or equal to
            the display level threshold. However, if the value is negative,
            then all messages will be displayed regardless of their threshold
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.CursorEnabled">
            <summary>
            Gets or sets a value indicating whether or not the input cursor
            is enabled. If enabled, the user can use the arrow keys to navigate
            the edit position within the current input string
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.CursorBlinkSpeed">
            <summary>
            Gets or sets the blink interval of the input cursor, in seconds. The cursor
            will not blink if this value is set to 0.
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.NotifyBlinkSpeed">
            <summary>
            Gets or sets the blink interval of the notifier that is displayed when
            the console's current line is not the last line of the log, that is: when
            the user has used PageUp/Up to scroll upward in the console. The notifier
            will not blink if this value is set to 0.
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.MessageLog">
            <summary>
            Gets the console log of messages
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.IGameConsole.IsOpen">
            <summary>
            Gets a value indicating whether or not the console is currently open
            </summary>
        </member>
        <member name="M:IceCream.Debug.Console.GameConsole.Initialize(IceCream.Game,System.String,Microsoft.Xna.Framework.Color,Microsoft.Xna.Framework.Color,System.Single,System.Int32)">
            <summary>
            Initializes the Console, adding an instance of the Console
            class to the specified Game's component and service lists. The
            IInputManager service may then be retrieved using the Game's
            GetService function
            </summary>
            <param name="game">The XNA Game with which to register the
            Console component and IConsole service</param>
            <param name="font">The path to the SpriteFont used to draw
            text to the console</param>
            <param name="textColor">The color of the console text</param>
            <param name="backgroundColor">The color of the console background</param>
            <param name="backgroundAlpha">The alpha translucency of the console background</param>
            <param name="lineCount">The maximum number of text lines visible in
            the console at any given time</param>
        </member>
        <member name="M:IceCream.Debug.Console.GameConsole.#ctor(IceCream.Game,System.String,Microsoft.Xna.Framework.Color,Microsoft.Xna.Framework.Color,System.Single,System.Int32)">
            <summary>
            Creates a new instance of Console
            </summary>
            <param name="game">The XNA Game with which to register the
            Console component and IConsole service</param>
            <param name="font">The path to the SpriteFont used to draw
            text to the console</param>
            <param name="textColor">The color of the console text</param>
            <param name="bgColor">The color of the console background</param>
            <param name="bgAlpha">The alpha translucency of the console background</param>
            <param name="lineCount">The maximum number of text lines visible in
            the console at any given time</param>
        </member>
        <member name="M:IceCream.Debug.Console.GameConsole.LoadContent">
            <summary>
            Loads managed resources used by the console
            </summary>
        </member>
        <member name="M:IceCream.Debug.Console.GameConsole.Update(Microsoft.Xna.Framework.GameTime)">
            <summary>
            Updates any input to the console
            </summary>
            <param name="gameTime">The current game time</param>
        </member>
        <member name="M:IceCream.Debug.Console.GameConsole.GetLines(System.Single,System.String)">
            <summary>
            Breaks the specified text into multiple lines if neccessary, based on the
            specified screen width
            </summary>
            <param name="screenWidth">The width of the current viewport</param>
            <param name="text">The text to process</param>
            <returns>The set of lines for the specified text that will fit visibly into
            the console display area</returns>
        </member>
        <member name="M:IceCream.Debug.Console.GameConsole.Draw(Microsoft.Xna.Framework.GameTime)">
            <summary>
            Draws the console to the screen if the console is currently open
            </summary>
            <param name="gameTime">The current game time</param>
        </member>
        <member name="M:IceCream.Debug.Console.GameConsole.BindCommandHandler(System.String,IceCream.Debug.Console.ConsoleCommandHandler,System.Char[])">
            <summary>
            Binds a ConsoleCommandHandler to the specified command
            </summary>
            <param name="command">The command to which the command handler will be bound</param>
            <param name="handler">The command handler to bind to the specified command</param>
            <param name="argumentSeparators">The characters with which the command argument string will
            be split into separate arguments</param>
        </member>
        <member name="M:IceCream.Debug.Console.GameConsole.UnbindCommandHandler(System.String)">
            <summary>
            Unbinds the ConsoleCommandHandler for the specified command
            </summary>
            <param name="command">The command for which to unbind the current
            command handler</param>
            <returns>The command handler previously bound to the specified command,
            or null if no handler was bound</returns>
        </member>
        <member name="M:IceCream.Debug.Console.GameConsole.Open(Microsoft.Xna.Framework.Input.Keys)">
            <summary>
            Displays the console
            </summary>
            <param name="closeKey">The key that should deactivate the console
            when pressed</param>
        </member>
        <member name="M:IceCream.Debug.Console.GameConsole.Log(System.String,System.UInt32)">
            <summary>
            Logs a message with the specified log level to the console
            </summary>
            <param name="message">The message to output to the console</param>
            <param name="level">The log level of the message</param>
        </member>
        <member name="M:IceCream.Debug.Console.GameConsole.Log(System.String)">
            <summary>
            Logs a message with log level 0 to the console
            </summary>
            <param name="message">The message to output to the console</param>
        </member>
        <member name="M:IceCream.Debug.Console.GameConsole.SetLogLevelCustomColor(System.UInt32,Microsoft.Xna.Framework.Color)">
            <summary>
            Sets the custom display color of text for the specified log level
            </summary>
            <param name="level">The log level for which to set the custom text
            display color</param>
            <param name="color">The custom color with which to display text for
            the specified log level</param>
        </member>
        <member name="M:IceCream.Debug.Console.GameConsole.GetLogLevelCustomColor(System.UInt32)">
            <summary>
            Gets the custom display color of text for the specified log level,
            or returns the default text color if a custom color is not
            set for the level
            </summary>
            <param name="level">The log level for which to get the
            custom display color</param>
            <returns>The custom display color of text for the specified log level, or
            the default text color if no custom color is set for the level</returns>
        </member>
        <member name="M:IceCream.Debug.Console.GameConsole.UnsetLogLevelCustomColor(System.UInt32)">
            <summary>
            Unsets the custom display color of text for the specified log level
            </summary>
            <param name="level">The log level for which to unset the custom
            text color</param>
        </member>
        <member name="E:IceCream.Debug.Console.GameConsole.TextEntered">
            <summary>
            Event triggered when text is entered into the console
            </summary>
        </member>
        <member name="E:IceCream.Debug.Console.GameConsole.MessageLogged">
            <summary>
            Event triggered when a message is logged to the console
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.TextColor">
            <summary>
            Gets or sets the console's text color
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.BackgroundColor">
            <summary>
            Gets or sets the console's background color
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.BackgroundAlpha">
            <summary>
            Gets or sets the console's background alpha translucency
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.DisplayOptions">
            <summary>
            Gets or sets the console's display options
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.TimestampFormat">
            <summary>
            Gets or sets the timestamp format for message timestamps.
            The following symblols are replaced with their corresponding values
            when the timestamp for each message is constructed:
                {Hr} - Hour (in 24 hour format)
                {Min} - Minute
                {Sec} - Second
                {Ms} - Millisecond
            
            Sample timestamp strings:
                "{Hr}:{Min}:{Sec}"
                "[{Hr}:{Min}:{Sec}:{Ms}]"
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.Prompt">
            <summary>
            Gets or sets the prompt used on the input line of the console
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.VisibleLineCount">
            <summary>
            Gets or sets the number of text lines visible in the
            console
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.VerticalLineSpacing">
            <summary>
            Gets or sets the vertical spacing between text lines in
            the console
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.HorizontalPadding">
            <summary>
            Gets or sets the amount by which text in the console will be
            right offset from the leftmost side of the screen
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.AutoScrollOnOutput">
            <summary>
            Gets or sets a value indicating whether or not the console should
            automatically scroll to the last line of the message log whenever a 
            message is output to the console
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.AlertOnUnrecognizedCommand">
            <summary>
            Gets or sets a value indicating whether or not the console will output
            the warning "Unrecognized Command" if the user inputs a command not
            registered with a command handler
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.EchoEnabled">
            <summary>
            Gets or sets a value indicating whether or not the console
            should automatically echo and input it receives from the user
            to the console log
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.EchoLogLevel">
            <summary>
            Gets or sets the log level of messages echoed automatically
            if the EchoEnabled property is set to true
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.DefaultLogLevel">
            <summary>
            Gets or sets the console's default log level which will
            be assigned to messages logged to the console with no log level
            defined
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "P:IceCream.Debug.Console.GameConsole.LogLevelThreshold" -->
        <member name="P:IceCream.Debug.Console.GameConsole.DisplayLevelThreshold">
            <summary>
            Gets or sets the console's display level threshold. The console will
            only display messages in the log with log levels lower or equal to
            the display level threshold. However, if the value is negative,
            then all messages will be displayed regardless of their threshold
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.CursorEnabled">
            <summary>
            Gets or sets a value indicating whether or not the input cursor
            is enabled. If enabled, the user can use the arrow keys to navigate
            the edit position within the current input string
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.CursorBlinkSpeed">
            <summary>
            Gets or sets the blink interval of the input cursor, in seconds. The cursor
            will not blink if this value is set to 0.
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.NotifyBlinkSpeed">
            <summary>
            Gets or sets the blink interval of the notifier that is displayed when
            the console's current line is not the last line of the log, that is: when
            the user has used PageUp/Up to scroll upward in the console. The notifier
            will not blink if this value is set to 0.
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.MessageLog">
            <summary>
            Gets the console log of messages
            </summary>
        </member>
        <member name="P:IceCream.Debug.Console.GameConsole.IsOpen">
            <summary>
            Gets a value indicating whether or not the console is currently open
            </summary>
        </member>
        <member name="T:IceCream.Debug.Console.GameConsole.ConsoleCommandHandlerInfo">
            <summary>
            Describes a ConsoleCommandHandler entry and the argument separators it requires
            </summary>
        </member>
        <member name="T:IceCream.Farseer.ConvertUnits">
            <summary>
            Convert units between display and simulation units.
            </summary>
        </member>
        <member name="T:IceCream.IceCounter">
            <summary>
            Defines a counter that you can fill with an integer
            and decrease during the logic loop. It acts as a timer if
            the logic rate is a fixed value.
            </summary>
        </member>
        <member name="M:IceCream.IceCounter.#ctor(System.Int32)">
            <summary>
            Set the counter's value
            </summary>
            <param name="count">The initial value</param>
        </member>
        <member name="M:IceCream.IceCounter.#ctor(System.Int32,System.Boolean)">
            <summary>
            Set the counter's value and empty it if needed
            </summary>
        </member>
        <member name="M:IceCream.IceCounter.#ctor(System.Int32,System.Int32)">
            <summary>
            Set the counter and the decrease's step values
            </summary>
            <param name="count">The initial value</param>
            <param name="step">The default step used by the Decrement() method</param>
        </member>
        <member name="M:IceCream.IceCounter.Decrement">
            <summary>
            Decrement the counter's current value with the default step value
            </summary>
            <returns>True if the counter has reached 0, else returns false</returns>
        </member>
        <member name="M:IceCream.IceCounter.Decrement(System.Int32)">
            <summary>
            Decrement the counter's current value with the specified step value
            </summary>
            <param name="step">The desired step value</param>
            <returns>True if the counter has reached 0, else returns false</returns>
        </member>
        <member name="M:IceCream.IceCounter.Empty">
            <summary>
            Set the Current Value to 0
            </summary>
        </member>
        <member name="M:IceCream.IceCounter.Reset">
            <summary>
            Reset the counter to it's initial value
            </summary>
        </member>
        <member name="M:IceCream.IceCounter.ResetTo(System.Int32)">
            <summary>
            Reset the counter and change its initial value
            </summary>
        </member>
        <member name="M:IceCream.IceCounter.IsZero">
            <summary>
            Check if the current value is zero
            </summary>
            <returns>True if zero, false for any other value</returns>
        </member>
        <member name="T:IceCream.IceAsset">
            <summary>
            The IceAsset class is a base class for any IceAsset in the IceCream framework.
            </summary>
        </member>
        <member name="P:IceCream.IceAsset.Name">
            <summary>
            Gets or Sets the Name of the Asset
            </summary>
        </member>
        <member name="P:IceCream.IceAsset.Scope">
            <summary>
            Gets or Sets the Scope of the Asset
            </summary>
        </member>
        <member name="P:IceCream.IceAsset.Filename">
            <summary>
            Gets or Sets the Filename of the Asset
            </summary>
        </member>
        <member name="P:IceCream.IceAsset.Parent">
            <summary>
            Gets or Sets the Parent SceneBase of the Asset
            </summary>
        </member>
        <member name="M:IceCream.Drawing.IceEffect.LoadParameters">
            <summary>
            Load every EffectParameter instances
            </summary>
        </member>
        <member name="M:IceCream.Drawing.IceEffects.BloomEffect.SetBlurEffectParameters(System.Single,System.Single)">
            <summary>
            Computes sample weightings and texture coordinate offsets
            for one pass of a separable gaussian blur filter.
            </summary>
        </member>
        <member name="M:IceCream.Drawing.IceEffects.BloomEffect.ComputeGaussian(System.Single)">
            <summary>
            Evaluates a single point on the gaussian falloff curve.
            Used for setting up the blur filter weightings.
            </summary>
        </member>
        <member name="M:IceCream.Drawing.IceEffects.GaussianBlurEffect.SetBlurEffectParameters(System.Single,System.Single)">
            <summary>
            Computes sample weightings and texture coordinate offsets
            for one pass of a separable gaussian blur filter.
            </summary>
        </member>
        <member name="M:IceCream.Drawing.IceEffects.GaussianBlurEffect.ComputeGaussian(System.Single)">
            <summary>
            Evaluates a single point on the gaussian falloff curve.
            Used for setting up the blur filter weightings.
            </summary>
        </member>
        <member name="M:IceCream.Drawing.RenderTargetManager.BackbufferResized(System.Int32,System.Int32)">
            <summary>
            Recreates the necessary dependencies if the device was resized
            </summary>
        </member>
        <member name="T:IceCream.AssetScope">
            <summary>
            The enum represents the Scene scope of the Asset
            </summary>
        </member>
        <member name="M:IceCream.IceCreamExtensions.IsWithinValue(System.Single,System.Single,System.Single)">
            <summary>
            Checks if a float value is equal to another value within a given threshold limit, with extremes excluded
            </summary>
            <param name="comparisonValue">The value to compare to</param>
            <param name="threshold">The thresold above and below the comparaison value</param>
            <returns>True if the value is contained within (comparisonValue-threshold and comparisonValue+threshold)</returns>
        </member>
        <member name="M:IceCream.IceCreamExtensions.CanBuyGame(Microsoft.Xna.Framework.PlayerIndex)">
            <summary>
            Returns true if the PlayerIndex is allowed to purchase content from the marketplace
            </summary>
        </member>
        <member name="T:IceCream.Input.InputCore">
            <summary>
            Additional refactor: this code should notify on button PUSH, not on button release! Or, make it a pass-in option.
            Personally, I expect my game to respond on button push, not release.
            </summary>
        </member>
        <member name="M:IceCream.Input.InputCore.PollControllersForActiveOne">
            <summary>
            Polls all 4 controllers for a button press of "START" or "A"
            </summary>
            <returns>The 0-based controller index if one controller pressed START or A, else returns null</returns>
        </member>
        <member name="M:IceCream.Input.InputCore.ThumbStickRightVector">
            <summary>
            Gets the first connected pads Right Thumb Stick as a Vector2
            </summary>
            <returns></returns>
        </member>
        <member name="M:IceCream.Input.InputCore.ThumbStickLeftVector">
            <summary>
            Gets the first connected pads Left Thumb Stick as a Vector2
            </summary>
            <returns></returns>
        </member>
        <member name="P:IceCream.LinkPoint.LinkRotationToOwnerRotation">
            <summary>
            Link the link point's position and rotation to the owner's rotation value
            </summary>
        </member>
        <member name="P:IceCream.LinkPoint.LinkPositionToOwnerRotation">
            <summary>
            Link the link point's position and rotation to the owner's rotation value
            </summary>
        </member>
        <member name="M:IceCream.Physics.ConvexPolygon.IsSimpleClockWisePolygonConvex(System.Collections.Generic.List{Microsoft.Xna.Framework.Vector2})">
            <summary>
            Check if a given simple closed list of vertices (with clockwise winding) is a forming convex polygon. 
            The polygon must always be a correct simple polygon (no self intersecting vertex)
            </summary>
            <param name="vertices">List of vertices</param>
            <returns>True if convex, false otherwise</returns>
        </member>
        <member name="M:IceCream.Physics.ConvexPolygon.#ctor">
            <summary>
            Creates an empty polygon (0 vertice)
            </summary>
        </member>
        <member name="M:IceCream.Physics.ConvexPolygon.#ctor(System.Collections.Generic.List{Microsoft.Xna.Framework.Vector2})">
            <summary>
            Creates a polygon from a list of vertices. The polygon must be simple (no self-intersecting sides) and convex.
            </summary>
            <param name="vertices"></param>
        </member>
        <member name="M:IceCream.Physics.ConvexPolygon.ApplyChanges">
            <summary>
            Apply the changes and construct a polygon after modification of its vertices. 
            Note that this method is called automatically after a modification of the rotation angle
            </summary>
        </member>
        <member name="M:IceCream.Physics.ConvexPolygon.Draw(Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Color)">
            <summary>
            Render the polygon using debug lines
            </summary>
            <param name="position"></param>
            <param name="verticesColor"></param>
        </member>
        <member name="P:IceCream.Physics.ConvexPolygon.Rotation">
            <summary>
            Rotation angle in degrees of the polygon
            </summary>
        </member>
        <member name="P:IceCream.Physics.ConvexPolygon.Vertices">
            <summary>
            List of vertice coordinates relative to the polygon's position
            </summary>
        </member>
        <member name="T:IceCream.ResourcePool`1">
            <summary>
            A pre-allocated pool of objects with the ability to sort
            and maintain objects as they become invalidated.
            </summary>
            <typeparam name="T">The type of object the pool will hold.</typeparam>
        </member>
        <member name="M:IceCream.ResourcePool`1.GetNewValidObject">
            <summary>
            Creates a new valid object to fill the spot of an invalidated
            object if possible. Returns null if all objects are valid.
            </summary>
            <returns>A reference to the next valid object, or null if all space is being used.</returns>
        </member>
        <member name="M:IceCream.ResourcePool`1.ValidateObjects">
            <summary>
            Iterates through the objects checking for valid and
            invalid objects, arranging the internal list as needed.
            This method should be called each frame.
            </summary>
        </member>
        <member name="P:IceCream.ResourcePool`1.Item(System.Int32)">
            <summary>
            Returns a valid object at the given index. Throws an exception
            if the index points to an invalid object space.
            </summary>
            <param name="index">The index of the valid object to get</param>
            <returns>A valid object found at the index</returns>
        </member>
        <member name="P:IceCream.ResourcePool`1.MaximumSize">
            <summary>
            Gets the maximum number of objects the pool can hold.
            </summary>
        </member>
        <member name="P:IceCream.ResourcePool`1.NumberOfInvalidObjects">
            <summary>
            Gets the number of invalid objects (open spaces) in the pool.
            </summary>
        </member>
        <member name="P:IceCream.ResourcePool`1.NumberOfValidObjects">
            <summary>
            Gets the number of valid objects (filled spaces) in the pool.
            </summary>
        </member>
        <member name="T:IceCream.ResourcePool`1.CreateNewObject">
            <summary>
            Creates a new object during initialization.
            </summary>
            <returns>The newly created object. Cannot return null.</returns>
        </member>
        <member name="T:IceCream.ResourcePool`1.ValidateObject">
            <summary>
            Checks if an object should be flagged as
            invalidated, allowing it's space in the pool
            to be given to another object.
            </summary>
            <param name="obj">The object to check</param>
            <returns>True if the object should be kept; false otherwise</returns>
        </member>
        <member name="T:IceCream.IceBase">
            <summary>
            A base class for anything with a name in the IceCream framework
            </summary>
        </member>
        <member name="P:IceCream.IceBase.Name">
            <summary>
            Gets or Sets the name used to indentify the item
            </summary>
        </member>
        <member name="M:IceCream.SceneItem.CopyValuesTo(IceCream.SceneItem)">
            <summary>
            Perform a deep copy of the object to the target
            </summary>
            <param name="target">The target that will receive all the values</param>
        </member>
        <member name="M:IceCream.SceneItem.GetComponent``1">
            <summary>
            Returns a component of specified type. Use this to quickly get a component from the object
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:IceCream.SceneItem.CheckType(System.UInt32)">
            <summary>
            Checks if the sceneitem has an objecttype of the given value
            </summary>
            <param name="type">The type of object</param>
            <returns>True if the type is found to be set on the SceneItems ObjectType property</returns>
        </member>
        <member name="M:IceCream.SceneItem.CheckType(System.UInt32[])">
            <summary>
            Checks if the sceneitem has an objecttype of the given values
            </summary>
            <param name="objectTypeEnum">The types of object</param>
            <returns>True if the type is found to be set on the SceneItems ObjectType property</returns>
        </member>
        <member name="M:IceCream.SceneItem.CheckForTag(System.String)">
            <summary>
            Checks if the sceneitem has a tag matching the parameter
            </summary>
            <param name="searchTag">The tag to search for</param>
            <returns>True if the tag is found to be in the SceneItem's Tags list</returns>
        </member>
        <member name="P:IceCream.SceneItem.IsMounted">
            <summary>
            Gets the value of wether this SceneItem is Mounted to another object
            </summary>
        </member>
        <member name="P:IceCream.SceneItem.BoundingRectSize">
            <summary>
            Values used to calculate the bounding rect
            X: default width (unrotated, unscaled)
            Y: default height (unrotated, unscaled)
            </summary>
        </member>
        <member name="E:IceCream.SceneItem.UnRegister">
            <summary>
            This event is no longer used.
            </summary>
        </member>
        <member name="T:IceCream.SceneItems.AnimationClasses.AnimationInfo">
            <summary>
            Holds information about an Animation
            </summary>
            <remarks>Used for seperating animations on an AnimatedSprite such as Run, Walk, Jump</remarks>
        </member>
        <member name="M:IceCream.SceneItems.AnimationClasses.AnimationInfo.Reset">
            <summary>
            Reset the animation to the beginning
            </summary>
        </member>
        <member name="M:IceCream.SceneItems.Camera.ConvertToWorldPos(Microsoft.Xna.Framework.Vector2)">
            <summary>
            Translate an absolute screen position (i.e. mouse coord) into a world position, using this Camera
            </summary>
        </member>
        <member name="M:IceCream.SceneItems.Camera.ConvertToScreenPos(Microsoft.Xna.Framework.Vector2)">
            <summary>
            Translate a world position into an absolute screen position, using this Camera
            </summary>
        </member>
        <member name="M:IceCream.Drawing.DrawingManager.RenderScene">
            <summary>
            Call this method to render all the layers of the scene
            </summary>
        </member>
        <member name="M:IceCream.Drawing.DrawingManager.DrawOnLayer(IceCream.Drawing.DrawRequest,System.Int32,IceCream.Drawing.DrawingBlendingType)">
            <summary>
            Draw on the requested layer
            </summary>
            <param name="drawRequest">The drawRequest to render</param>
            <param name="layer">The desired layer</param>
        </member>
        <member name="M:IceCream.Drawing.DrawingManager.ApplyPostProcess(IceCream.Drawing.PostProcessRequest,System.Int32)">
            <summary>
            Apply the specified Post Process effect on the requested layer after rendering it
            </summary>
        </member>
        <member name="M:IceCream.Drawing.DrawingLayer.RenderLayer(Microsoft.Xna.Framework.Graphics.GraphicsDevice,Microsoft.Xna.Framework.Matrix)">
            <summary>
            Render each sub layer (blending) of that layer
            </summary>
            <param name="graphicsDevice">The GraphicsDevice to render on</param>
            <param name="transformMatrix">The camera transform matrix </param>
        </member>
        <member name="M:IceCream.Drawing.DrawingLayer.Draw(IceCream.Drawing.DrawRequest)">
            <summary>
            Draw a DrawRequest on the alpha sublayer of that layer
            </summary>
        </member>
        <member name="M:IceCream.Drawing.DrawingLayer.Draw(IceCream.Drawing.DrawRequest,IceCream.Drawing.DrawingBlendingType)">
            <summary>
            Draw a DrawRequest on the specified blending sub layer
            </summary>
            <param name="drawRequest"></param>
            <param name="blendingType"></param>
        </member>
        <member name="M:IceCream.Drawing.DrawingLayer.ApplyPostProcess(IceCream.Drawing.PostProcessRequest)">
            <summary>
            Apply the specified Post Process effect on the layer after rendering it
            </summary>
        </member>
        <member name="M:IceCream.Drawing.DrawingLayerComponent.RenderLayerComponent(Microsoft.Xna.Framework.Graphics.GraphicsDevice,Microsoft.Xna.Framework.Matrix)">
            <summary>
            Main rendering method. Renders all the requests of the current blending type
            </summary>
            <param name="device">The GraphicsDevice to render on</param>
            <param name="transformMatrix">The camera transform matrix</param>
            <returns>True if any drawing was performed on that layer, false otherwise</returns>
        </member>
        <member name="T:IceCream.GlobalDataHolder">
            <summary>
            The GlobalDataHolder class
            </summary>
            <remarks></remarks>
        </member>
        <member name="M:IceCream.IceCore.DrawIceCreamScene(Microsoft.Xna.Framework.Graphics.GraphicsDevice,System.Single,IceCream.IceScene)">
            <summary>
            Queues Up The Drawable Items to Draw to the screen
            </summary>
            <param name="device">The GraphicsDevice to use</param>
            <param name="elapsed">The elapsed gametime since the last draw</param>
            <param name="scene">The IceScene to draw</param>
        </member>
        <member name="M:IceCream.IceCore.RenderIceCream">
            <summary>
            Renders the Queued Items to the Screen
            </summary>
        </member>
        <member name="M:IceCream.IceCore.UpdateIceCream(System.Single)">
            <summary>
            Calls Update on all enabled SceneItems and their Corresponding Components along with the SceneComponents
            </summary>
            <param name="elapsed">The elapsed game time since the last Update</param>
        </member>
        <member name="M:IceCream.IceMath.SinFromDegree(System.Single)">
            <summary>
            Returns the sin from an angle in degrees 
            </summary>
            <param name="angle">Angle value between 0 and 360 degrees</param>
            <returns>Sin value</returns>
        </member>
        <member name="M:IceCream.IceMath.CosFromDegree(System.Single)">
            <summary>
            Returns the cos from an angle in degrees 
            </summary>
            <param name="angle">Angle value between 0 and 360 degrees</param>
            <returns>Cos value</returns>
        </member>
        <member name="M:IceCream.IceMath.SinFromRadians(System.Single)">
            <summary>
            Returns the sin from an angle in radians 
            </summary>
            <param name="angle">Angle value between 0 and 2 PI radians</param>
            <returns>Sin value</returns>
        </member>
        <member name="M:IceCream.IceMath.CosFromRadians(System.Single)">
            <summary>
            Returns the cos from an angle in radians 
            </summary>
            <param name="angle">Angle value between 0 and 2 PI radians</param>
            <returns>Cos value</returns>
        </member>
        <member name="M:IceCream.IceMath.IsPointInsideRectangle(Microsoft.Xna.Framework.Point,Microsoft.Xna.Framework.Rectangle)">
            <summary>
            Check if a given point is contained inside a rectangle
            </summary>
            <returns>True if the point is contained inside the rectangle</returns>
        </member>
        <member name="M:IceCream.IceMath.Clamp(System.Int32,System.Int32,System.Int32)">
            <summary>
            Clamp an integer value
            </summary>
            <returns>Clamped integer value</returns>
        </member>
        <member name="M:IceCream.IceMath.Min(System.Int32,System.Int32)">
            <summary>
            Compares 2 integers and return the smallest value of the 2
            </summary>
            <returns></returns>
        </member>
        <member name="M:IceCream.IceMath.Max(System.Int32,System.Int32)">
            <summary>
            Compares 2 integers and return the biggest value of the 2
            </summary>
        </member>
        <member name="M:IceCream.IceMath.GetPackedValueFromColor(Microsoft.Xna.Framework.Color)">
            <summary>
            Convert a Color to its uint representation
            </summary>
        </member>
        <member name="M:IceCream.IceMath.GetEnumValuesCount(System.Type)">
            <summary>
            Gets the number of elements in an Enum (using Reflection on Xbox360 as Enum.GetValues() isn't available
            </summary>
        </member>
        <member name="M:IceCream.QuadTree.FRect.#ctor(Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2)">
            <summary>
            Floating-point rectangle constructor
            </summary>
            <param name="topleft">The top left point of the rectangle</param>
            <param name="bottomright">The bottom right point of the rectangle</param>
        </member>
        <member name="M:IceCream.QuadTree.FRect.#ctor(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Floating-point rectangle constructor
            </summary>
            <param name="top">The top of the rectangle</param>
            <param name="left">The left of the rectangle</param>
            <param name="bottom">The bottom of the rectangle</param>
            <param name="right">The right of the rectangle</param>
        </member>
        <member name="F:IceCream.QuadTree.QuadTree`1.headNode">
            <summary>
            The head node of the QuadTree
            </summary>
        </member>
        <member name="F:IceCream.QuadTree.QuadTree`1.maxItems">
            <summary>
            The maximum number of items in any node before partitioning
            </summary>
        </member>
        <member name="M:IceCream.QuadTree.QuadTree`1.#ctor(IceCream.QuadTree.FRect,System.Int32)">
            <summary>
            QuadTree constructor
            </summary>
            <param name="worldRect">The world rectangle for this QuadTree (a rectangle containing all items at all times)</param>
            <param name="maxItems">Maximum number of items in any cell of the QuadTree before partitioning</param>
        </member>
        <member name="M:IceCream.QuadTree.QuadTree`1.#ctor(Microsoft.Xna.Framework.Vector2,System.Int32)">
            <summary>
            QuadTree constructor
            </summary>
            <param name="size">The size of the QuadTree (i.e. the bottom-right with a top-left of (0,0))</param>
            <param name="maxItems">Maximum number of items in any cell of the QuadTree before partitioning</param>
            <remarks>This constructor is for ease of use</remarks>
        </member>
        <member name="M:IceCream.QuadTree.QuadTree`1.Insert(IceCream.QuadTree.QuadTreePositionItem{`0})">
            <summary>
            Inserts an item into the QuadTree
            </summary>
            <param name="item">The item to insert</param>
            <remarks>Checks to see if the world needs resizing and does so if needed</remarks>
        </member>
        <member name="M:IceCream.QuadTree.QuadTree`1.Insert(`0,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2)">
            <summary>
            Inserts an item into the QuadTree
            </summary>
            <param name="parent">The parent of the new position item</param>
            <param name="position">The position of the new position item</param>
            <param name="size">The size of the new position item</param>
            <returns>A new position item</returns>
            <remarks>Checks to see if the world needs resizing and does so if needed</remarks>
        </member>
        <member name="M:IceCream.QuadTree.QuadTree`1.Resize(IceCream.QuadTree.FRect)">
            <summary>
            Resizes the Quadtree field
            </summary>
            <param name="newWorld">The new field</param>
            <remarks>This is an expensive operation, so try to initialize the world to a big enough size</remarks>
        </member>
        <member name="M:IceCream.QuadTree.QuadTree`1.GetItems(Microsoft.Xna.Framework.Vector2,System.Collections.Generic.List{IceCream.QuadTree.QuadTreePositionItem{`0}}@)">
            <summary>
            Gets a list of items containing a specified point
            </summary>
            <param name="Point">The point</param>
            <param name="ItemsFound">The list to add found items to (list will not be cleared first)</param>
        </member>
        <member name="M:IceCream.QuadTree.QuadTree`1.GetItems(IceCream.QuadTree.FRect,System.Collections.Generic.List{IceCream.QuadTree.QuadTreePositionItem{`0}}@)">
            <summary>
            Gets a list of items intersecting a specified rectangle
            </summary>
            <param name="Rect">The rectangle</param>
            <param name="ItemsFound">The list to add found items to (list will not be cleared first)</param>
        </member>
        <member name="M:IceCream.QuadTree.QuadTree`1.GetAllItems(System.Collections.Generic.List{IceCream.QuadTree.QuadTreePositionItem{`0}}@)">
            <summary>
            Get a list of all items in the quadtree
            </summary>
            <param name="ItemsFound">The list to add found items to (list will not be cleared first)</param>
        </member>
        <member name="P:IceCream.QuadTree.QuadTree`1.WorldRect">
            <summary>
            Gets the world rectangle
            </summary>
        </member>
        <member name="F:IceCream.QuadTree.QuadTreeNode`1.rect">
            <summary>
            The rectangle of this node
            </summary>
        </member>
        <member name="F:IceCream.QuadTree.QuadTreeNode`1.MaxItems">
            <summary>
            The maximum number of items in this node before partitioning
            </summary>
        </member>
        <member name="F:IceCream.QuadTree.QuadTreeNode`1.IsPartitioned">
            <summary>
            Whether or not this node has been partitioned
            </summary>
        </member>
        <member name="F:IceCream.QuadTree.QuadTreeNode`1.ParentNode">
            <summary>
            The parent node
            </summary>
        </member>
        <member name="F:IceCream.QuadTree.QuadTreeNode`1.TopLeftNode">
            <summary>
            The top left node
            </summary>
        </member>
        <member name="F:IceCream.QuadTree.QuadTreeNode`1.TopRightNode">
            <summary>
            The top right node
            </summary>
        </member>
        <member name="F:IceCream.QuadTree.QuadTreeNode`1.BottomLeftNode">
            <summary>
            The bottom left node
            </summary>
        </member>
        <member name="F:IceCream.QuadTree.QuadTreeNode`1.BottomRightNode">
            <summary>
            The bottom right node
            </summary>
        </member>
        <member name="F:IceCream.QuadTree.QuadTreeNode`1.Items">
            <summary>
            The items in this node
            </summary>
        </member>
        <member name="F:IceCream.QuadTree.QuadTreeNode`1.WorldResize">
            <summary>
            Resize the world
            </summary>
            <param name="newSize">The new world size</param>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreeNode`1.#ctor(IceCream.QuadTree.QuadTreeNode{`0},IceCream.QuadTree.FRect,System.Int32)">
            <summary>
            QuadTreeNode constructor
            </summary>
            <param name="parentNode">The parent node of this QuadTreeNode</param>
            <param name="rect">The rectangle of the QuadTreeNode</param>
            <param name="maxItems">Maximum number of items in the QuadTreeNode before partitioning</param>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreeNode`1.#ctor(IceCream.QuadTree.FRect,System.Int32,IceCream.QuadTree.QuadTreeNode{`0}.ResizeDelegate)">
            <summary>
            QuadTreeNode constructor
            </summary>
            <param name="rect">The rectangle of the QuadTreeNode</param>
            <param name="maxItems">Maximum number of items in the QuadTreeNode before partitioning</param>
            <param name="worldResize">The function to return the size</param>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreeNode`1.Insert(IceCream.QuadTree.QuadTreePositionItem{`0})">
            <summary>
            Insert an item in this node
            </summary>
            <param name="item">The item to insert</param>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreeNode`1.InsertInChild(IceCream.QuadTree.QuadTreePositionItem{`0})">
            <summary>
            Inserts an item into one of this node's children
            </summary>
            <param name="item">The item to insert in a child</param>
            <returns>Whether or not the insert succeeded</returns>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreeNode`1.PushItemDown(System.Int32)">
            <summary>
            Pushes an item down to one of this node's children
            </summary>
            <param name="i">The index of the item to push down</param>
            <returns>Whether or not the push was successful</returns>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreeNode`1.PushItemUp(System.Int32)">
            <summary>
            Push an item up to this node's parent
            </summary>
            <param name="i">The index of the item to push up</param>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreeNode`1.Partition">
            <summary>
            Repartitions this node
            </summary>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreeNode`1.GetItems(Microsoft.Xna.Framework.Vector2,System.Collections.Generic.List{IceCream.QuadTree.QuadTreePositionItem{`0}}@)">
            <summary>
            Gets a list of items containing a specified point
            </summary>
            <param name="Point">The point</param>
            <param name="ItemsFound">The list to add found items to (list will not be cleared first)</param>
            <remarks>ItemsFound is assumed to be initialized, and will not be cleared</remarks>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreeNode`1.GetItems(IceCream.QuadTree.FRect,System.Collections.Generic.List{IceCream.QuadTree.QuadTreePositionItem{`0}}@)">
            <summary>
            Gets a list of items intersecting a specified rectangle
            </summary>
            <param name="Rect">The rectangle</param>
            <param name="ItemsFound">The list to add found items to (list will not be cleared first)</param>
            <remarks>ItemsFound is assumed to be initialized, and will not be cleared</remarks>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreeNode`1.GetAllItems(System.Collections.Generic.List{IceCream.QuadTree.QuadTreePositionItem{`0}}@)">
            <summary>
            Gets a list of all items within this node
            </summary>
            <param name="ItemsFound">The list to add found items to (list will not be cleared first)</param>
            <remarks>ItemsFound is assumed to be initialized, and will not be cleared</remarks>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreeNode`1.FindItemNode(IceCream.QuadTree.QuadTreePositionItem{`0})">
            <summary>
            Finds the node containing a specified item
            </summary>
            <param name="Item">The item to find</param>
            <returns>The node containing the item</returns>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreeNode`1.Destroy">
            <summary>
            Destroys this node
            </summary>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreeNode`1.RemoveItem(IceCream.QuadTree.QuadTreePositionItem{`0})">
            <summary>
            Removes an item from this node
            </summary>
            <param name="item">The item to remove</param>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreeNode`1.RemoveItem(System.Int32)">
            <summary>
            Removes an item from this node at a specific index
            </summary>
            <param name="i">the index of the item to remove</param>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreeNode`1.ItemMove(IceCream.QuadTree.QuadTreePositionItem{`0})">
            <summary>
            Handles item movement
            </summary>
            <param name="item">The item that moved</param>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreeNode`1.ItemDestroy(IceCream.QuadTree.QuadTreePositionItem{`0})">
            <summary>
            Handles item destruction
            </summary>
            <param name="item">The item that is being destroyed</param>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreeNode`1.ContainsRect(IceCream.QuadTree.FRect)">
            <summary>
            Tests whether this node contains a rectangle
            </summary>
            <param name="rect">The rectangle to test</param>
            <returns>Whether or not this node contains the specified rectangle</returns>
        </member>
        <member name="P:IceCream.QuadTree.QuadTreeNode`1.Rect">
            <summary>
            Gets the rectangle of this node
            </summary>
        </member>
        <member name="T:IceCream.QuadTree.QuadTreeNode`1.ResizeDelegate">
            <summary>
            World resize delegate
            </summary>
            <param name="newSize">The new world size</param>
        </member>
        <member name="T:IceCream.QuadTree.QuadTreePositionItem`1">
            <summary>
            A position item in a quadtree
            </summary>
            <typeparam name="T">The type of the QuadTree item's parent</typeparam>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreePositionItem`1.OnMove">
            <summary>
            Handles the move event
            </summary>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreePositionItem`1.OnDestroy">
            <summary>
            Handles the destroy event
            </summary>
        </member>
        <member name="F:IceCream.QuadTree.QuadTreePositionItem`1.position">
            <summary>
            The center position of this item
            </summary>
        </member>
        <member name="F:IceCream.QuadTree.QuadTreePositionItem`1.size">
            <summary>
            The size of this item
            </summary>
        </member>
        <member name="F:IceCream.QuadTree.QuadTreePositionItem`1.rect">
            <summary>
            The rectangle containing this item
            </summary>
        </member>
        <member name="F:IceCream.QuadTree.QuadTreePositionItem`1.parent">
            <summary>
            The parent of this item
            </summary>
            <remarks>The Parent accessor is used to gain access to the item controlling this position item</remarks>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreePositionItem`1.#ctor(`0,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2)">
            <summary>
            Creates a position item in a QuadTree
            </summary>
            <param name="parent">The parent of this item</param>
            <param name="position">The position of this item</param>
            <param name="size">The size of this item</param>
        </member>
        <member name="M:IceCream.QuadTree.QuadTreePositionItem`1.Delete">
            <summary>
            Destroys this item and removes it from the QuadTree
            </summary>
        </member>
        <member name="P:IceCream.QuadTree.QuadTreePositionItem`1.Position">
            <summary>
            Gets or sets the center position of this item
            </summary>
        </member>
        <member name="P:IceCream.QuadTree.QuadTreePositionItem`1.Size">
            <summary>
            Gets or sets the size of this item
            </summary>
        </member>
        <member name="P:IceCream.QuadTree.QuadTreePositionItem`1.Rect">
            <summary>
            Gets a rectangle containing this item
            </summary>
        </member>
        <member name="P:IceCream.QuadTree.QuadTreePositionItem`1.Parent">
            <summary>
            Gets the parent of this item
            </summary>
        </member>
        <member name="T:IceCream.Randomizer">
            <summary>
            A static class to generate pseudo random numbers
            </summary>
        </member>
        <member name="M:IceCream.Randomizer.Float(System.Single,System.Single)">
            <summary>
            Return a (float) random number, with decimals, between a and b included
            </summary>
        </member>
        <member name="M:IceCream.Randomizer.Integer(System.Int32,System.Int32)">
            <summary>
            Returns a random integer number between a and b included
            </summary>
        </member>
        <member name="M:IceCream.Randomizer.AngleInDegrees">
            <summary>
            Returns a random angle in degree between 0° and 360°
            </summary>
            <returns></returns>
        </member>
        <member name="M:IceCream.Randomizer.AngleInRadians">
            <summary>
            Returns a random angle in radians between 0 and 2PI
            </summary>
            <returns></returns>
        </member>
        <member name="M:IceCream.IceScene.#ctor">
            <summary>
            Instiantiates an instance of IceScene
            </summary>
        </member>
        <member name="M:IceCream.IceScene.RegisterSceneItemNow(IceCream.SceneItem)">
            <summary>
            Registers a sceneitem in the scene immediately.
            </summary>
            <param name="sceneItem"></param>
        </member>
        <member name="M:IceCream.IceScene.RegisterSceneItem(IceCream.SceneItem)">
            <summary>
            Registers a sceneitem in the scene at the end of this update.
            </summary>
            <param name="sceneItem"></param>
        </member>
        <member name="M:IceCream.IceScene.LinkCompositeEntitySceneItems(IceCream.SceneItem@)">
            <summary>
            This isn't the proper place for this, but it works for now.
            Basically, every time we add an item to the scene, if it's a composite entity, 
            go through the scene bank and link the children to the parent
            so that we can do lookups when a child item collides.
            </summary>
            <param name="item"></param>
        </member>
        <member name="M:IceCream.IceScene.LoadMaterial(System.String,System.String)">
            <summary>
            Loads a Material given the location and assigning it the given name
            </summary>
            <param name="location">The file location of the texture file, do not include the file extension</param>
            <param name="name">The name to give the material</param>
            <returns>A IceCream Material</returns>
        </member>
        <member name="M:IceCream.IceScene.GetTemplate(System.String)">
            <summary>
            Gets a Template SceneItem
            </summary>
            <remarks>If the template is not in this scene, it will try to retrieve from the global cache</remarks>
            <param name="name">The name of the template</param>
            <returns>A SceneItem type, if the template is not found, null is returned</returns>
        </member>
        <member name="M:IceCream.IceScene.CreateCopy(System.String)">
            <summary>
            Creates a copy of a template with the given name
            </summary>
            <param name="name">The name of the template to copy</param>
            <returns>A copied SceneItem, if the Template is not found, null is returned</returns>
        </member>
        <member name="M:IceCream.IceScene.CreateNewInstaceCopyOf(IceCream.SceneItem)">
            <summary>
            Creates a new instance of a given SceneItem using Reflection
            </summary>
        </member>
        <member name="M:IceCream.IceScene.CreateCopy``1(System.String)">
            <summary>
            Creates a copy of a template with the given name
            </summary>
            <typeparam name="T">The generic type of sceneitem to create</typeparam>
            <param name="name">The name of the template to copy</param>
            <returns>The copied SceneItem as the specified SceneItem generic type</returns>
        </member>
        <member name="M:IceCream.IceScene.AddTemplate(IceCream.SceneItem)">
            <summary>
            Adds a template sceneitem to the templates collection
            </summary>
            <param name="sceneItem">The scene item to add</param>
        </member>
        <member name="M:IceCream.IceScene.GetSceneItem(System.String)">
            <summary>
            Gets a SceneItem from the SceneItems collection given its name
            </summary>
            <param name="name">The name of the scene item to get</param>
            <returns></returns>
        </member>
        <member name="M:IceCream.IceScene.GetComponent``1">
            <summary>
            Returns a component of specified type. Use this to quickly get a component from the object
            </summary>
            <typeparam name="T">The generic type of IceSceneComponent to get</typeparam>
            <returns></returns>
        </member>
        <member name="M:IceCream.IceScene.GetSceneItem``1(System.String)">
            <summary>
            Gets a sceneitem from the SceneItems collection given its name and generic type
            </summary>
            <typeparam name="T">The generic type of SceneItem to get</typeparam>
            <param name="name">The name of the sceneitem to get</param>
            <returns>Returns the SceneItem given its name and type</returns>
        </member>
        <member name="M:IceCream.IceScene.AddComponent(IceCream.Components.IceSceneComponent)">
            <summary>
            Adds an IceSceneComponent to the Scenecomponents collection
            </summary>
            <param name="component">The IceSceneComponent to add</param>
        </member>
        <member name="P:IceCream.IceScene.WillRenderNotActive">
            <summary>
            Gets or Sets the value of whether the scene will be rendered even if its not the active scene. 
            </summary>
            <remarks>Useful for background scenes.</remarks>
        </member>
        <member name="P:IceCream.IceScene.Enabled">
            <summary>
            Gets or Sets the value of whether the Scene Is Enabled.
            </summary>
            <remarks>When a scene is not enabled it's items update will not be called</remarks>
        </member>
        <member name="P:IceCream.IceScene.ActiveCameras">
            <summary>
            Gets or sets the active cameras in the scene.
            <remarks>An IceScene should always have at least 1 camera.</remarks>
            </summary>
        </member>
        <member name="P:IceCream.IceScene.ClearColor">
            <summary>
            Gets or Sets the value of the color the scene will clear as before drawing any items.
            </summary>
        </member>
        <member name="M:IceCream.SceneItems.CompositeAnimation.Reset">
            <summary>
            Reset the animation to the beginning
            </summary>
        </member>
        <member name="M:IceCream.SceneItems.CompositeAnimation.ResetToKeyFrame(System.Int32)">
            <summary>
            Reset the animation to the beginning of the specific keyFrame
            </summary>
        </member>
        <member name="P:IceCream.SceneItems.CompositeAnimation.LerpLastFrameWithFirst">
            <summary>
            Flag to enable or disable interpolation of the last keyframe of an animation with the first keyframe
            </summary>
        </member>
        <member name="M:IceCream.SceneItems.CompositeBone.RemoveChildBone(IceCream.SceneItems.CompositeBone)">
            <summary>
            Removes a children from this bone
            </summary>
        </member>
        <member name="M:IceCream.SceneItems.CompositeBone.InsertChildBone(System.Int32,IceCream.SceneItems.CompositeBone)">
            <summary>
            Insert a children bone at specific index
            </summary>
        </member>
        <member name="M:IceCream.SceneItems.CompositeBone.AddChildBone(IceCream.SceneItems.CompositeBone)">
            <summary>
            Add a children to this bone
            </summary>
        </member>
        <member name="M:IceCream.SceneItems.CompositeBone.FindBone(System.String)">
            <summary>
            Recurisvely search the bone and its children for this name, and return null if didn't find any match
            </summary>
        </member>
        <member name="M:IceCream.SceneItems.CompositeEntity.FindBone(System.String)">
            <summary>
            Recurisvely search every bones of the entity for this name and return it,
            or null if didn't find any match
            </summary>
        </member>
        <member name="M:IceCream.SceneItems.CompositeEntity.FindAnimation(System.String)">
            <summary>
            Search for the animation by name
            </summary>
        </member>
        <member name="E:IceCream.SceneItems.CompositeEntity.EndOfAnimLoopReached">
            <summary>
            Event fired when the animation has finished its current loop normally (wether or not it will loop again)
            </summary>
        </member>
        <member name="E:IceCream.SceneItems.PostProcessAnimation.EndOfAnimLoopReached">
            <summary>
            Event fired when the animation has finished its current loop normally (wether or not it will loop again)
            </summary>
        </member>
        <member name="T:IceCream.Game">
            <summary>
            The main Game class
            </summary>
        </member>
        <member name="M:IceCream.Game.SetVideoResolution(System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Change the resolution and reload the content, aswell as setup fullscreen and vsync
            </summary>
            <param name="x">Width</param>
            <param name="y">Height</param>
        </member>
        <member name="P:IceCream.Game.Elapsed">
            <summary>
            Gets the last Elapsed time since the last update.
            </summary>
            <remarks>This is updated before any SceneItems or Components are updated</remarks>
        </member>
        <member name="T:IceCream.SceneItems.ParticlesClasses.OverLifeSettings">
            <summary>
            Over life percentages variations for a particle type
            </summary>
        </member>
        <member name="M:IceCream.SceneItems.ParticlesClasses.Particle.GetLerpValueWithVariation(System.Collections.Generic.List{Microsoft.Xna.Framework.Vector2},System.Collections.Generic.List{Microsoft.Xna.Framework.Vector2},System.Single)">
            <summary>
            Get the linear interpolation value with an added random variation
            </summary>
            <param name="values">The key values</param>
            <param name="variations">The key variation values</param>
            <param name="lerpLife">The life, between 0 and 1</param>
            <returns></returns>
        </member>
        <member name="M:IceCream.SceneItems.ParticlesClasses.Particle.GetLerpValue(System.Collections.Generic.List{Microsoft.Xna.Framework.Vector2},System.Single)">
            <summary>
            Get the liner interpolation value corresponding to the current life
            </summary>
            <param name="values">The key values</param>
            <param name="life">The life, between 0 and 1</param>
            <returns></returns>
        </member>
        <member name="M:IceCream.SceneItems.ParticlesClasses.Particle.GetRandomVariationValue(System.Single)">
            <summary>
            get a random value between -value/2 and value/2
            </summary>
        </member>
        <member name="M:IceCream.SceneItems.ParticlesClasses.Particle.Update(System.Single,System.Single)">
            <summary>
            Update the properties of a particle
            </summary>
        </member>
        <member name="M:IceCream.SceneItems.ParticlesClasses.Particle.ModifiyParticle(IceCream.SceneItems.ParticlesClasses.ParticleType,IceCream.Material,System.Int32,System.Boolean,IceCream.SceneItems.ParticlesClasses.ParticleOrientationType,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,Microsoft.Xna.Framework.Vector2,System.Single,System.Single,System.Single,System.Single,System.Single,Microsoft.Xna.Framework.Vector2,System.Boolean,IceCream.SceneItems.ParticlesClasses.OverLifeSettings)">
            <summary>
            Modify the properties of a particles (recycling)
            </summary>
        </member>
        <member name="M:IceCream.SceneItems.ParticlesClasses.ParticleType.UpdateParticlesPosition(Microsoft.Xna.Framework.Vector2)">
            <summary>
            Updates each particles position with a displacement value
            </summary>
            <param name="displacement"></param>
        </member>
        <member name="M:IceCream.SceneItems.ParticlesClasses.ParticleType.Draw">
            <summary>
            Draw each particle on the selected layer
            </summary>
        </member>
        <member name="M:IceCream.SceneItems.TileGrid.DetermineVisibility">
            <summary>
            This function determines which tiles are visible on the screen,
            given the current camera position, rotation, zoom, and tile scale
            </summary>
        </member>
        <member name="M:IceCream.SceneManager.LoadScene(System.String)">
            <summary>
            Loads the given filename into a scene and returns it. 
            </summary>
            <param name="filename">The filename of the scene</param>
            <returns>The loaded Scene</returns>
            <remarks>Automatically loads Materials</remarks>
        </member>
        <member name="M:IceCream.SceneManager.LoadScene(System.String,System.Boolean)">
            <summary>
            Loads the given filename into a scene and returns it. 
            </summary>
            <param name="filename">The filename of the scene</param>
            <param name="loadMaterials">Should load materials</param>
            <remarks>If false is passed to load materials they are not loaded from the content manager into the texture object. This is for the editor</remarks>
        </member>
        <member name="P:IceCream.SceneManager.IsNetworkOwner">
            <summary>
            Trial property for networking code | dont remove 
            </summary>
        </member>
        <member name="T:IceCream.StringResources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:IceCream.StringResources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:IceCream.StringResources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:IceCream.StringResources.DefaultParticleMaterial">
            <summary>
              Looks up a localized string similar to DefaultParticleMaterial.
            </summary>
        </member>
        <member name="P:IceCream.StringResources.DefaultTileGridMaterial">
            <summary>
              Looks up a localized string similar to DefaultTileGridMaterial.
            </summary>
        </member>
        <member name="P:IceCream.StringResources.DefaultTileGridTexture">
            <summary>
              Looks up a localized string similar to DefaultTileGridTexture.
            </summary>
        </member>
        <member name="P:IceCream.StringResources.GlobalDataFile">
            <summary>
              Looks up a localized string similar to Content/Global.ice.
            </summary>
        </member>
        <member name="T:IceCream.Utility.IceTimer">
            <summary>
            To use, instantiate new IceTimer(). Then call Stopwatch() with ms intervals. It will auto-reset, so
            just call/monitor return value of Stopwatch().
            </summary>
        </member>
        <member name="T:IceCream.WINIceCreamResources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:IceCream.WINIceCreamResources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:IceCream.WINIceCreamResources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
    </members>
</doc>
