docs.unity.cn
    Show / Hide Table of Contents

    Class CommandDataUtility

    Contains utility methods to add and retrieve commands from ICommandData dynamic buffers.

    Inheritance
    Object
    CommandDataUtility
    Inherited Members
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: Unity.NetCode
    Syntax
    public static class CommandDataUtility

    Fields

    k_CommandDataMaxSize

    The maximum number of commands that can be sent in one single command packet.

    Declaration
    public const int k_CommandDataMaxSize = 64
    Field Value
    Type Description
    Int32

    Methods

    AddCommandData<T>(DynamicBuffer<T>, T)

    Add an instance of a ICommandData into the command circular buffer. The command buffer capacity if fixed and the Tick is used to find in which slot the command should be put to keep the command buffer sorted. If a command with the same tick already exists in the buffer, it will be overritten

    Declaration
    public static void AddCommandData<T>(this DynamicBuffer<T> commandArray, T commandData)
        where T : struct, ICommandData
    Parameters
    Type Name Description
    DynamicBuffer<T> commandArray
    T commandData
    Type Parameters
    Name Description
    T

    the command type

    GetDataAtTick<T>(DynamicBuffer<T>, NetworkTick, out T)

    Get latest command data for given target tick. For example, if command buffer contains ticks 3,4,5,6 and targetTick is 5 it will return tick 5 (latest without going over). If the command buffer is 1,2,3 and targetTick is 5 it will return tick 3.

    Declaration
    public static bool GetDataAtTick<T>(this DynamicBuffer<T> commandArray, NetworkTick targetTick, out T commandData)
        where T : struct, ICommandData
    Parameters
    Type Name Description
    DynamicBuffer<T> commandArray
    NetworkTick targetTick
    T commandData
    Returns
    Type Description
    Boolean

    Returns true if any data was found, false when no tick data is equal or older to the target tick in the buffer.

    Type Parameters
    Name Description
    T

    GetInputAtIndex<T>(DynamicBuffer<T>, Int32)

    Get a readonly reference to the input at the given index. Need to be used in safe context, where you know the buffer is not going to be modified. That would invalidate the reference in that case and we can't guaratee the data you are reading is going to be valid anymore.

    Declaration
    public static ref readonly T GetInputAtIndex<T>(this DynamicBuffer<T> buffer, int index)
        where T : struct, ICommandData
    Parameters
    Type Name Description
    DynamicBuffer<T> buffer
    Int32 index
    Returns
    Type Description
    T

    A readonly reference to the element

    Type Parameters
    Name Description
    T
    Back to top Copyright © 2023 Unity Technologies — Terms of use
    Generated by DocFX
    on Wednesday, September 20, 2023