docs.unity.cn
    Show / Hide Table of Contents

    Struct Property

    Struct of this type store a property value and its current type.

    Namespace: UnityEngine.GameFoundation
    Syntax
    [Serializable]
    public struct Property : IEquatable<Property>, IEqualityComparer<Property>, IComparable<Property>
    Remarks

    All fields should be declared in this script to avoid the compilation warning CS0282 (see https://docs.microsoft.com/en-us/dotnet/csharp/misc/cs0282).

    Properties

    type

    Stored value's type.

    Declaration
    public PropertyType type { get; }
    Property Value
    Type Description
    PropertyType

    Methods

    AsAddressable<T>()

    Explicitly returns this Property as an Addressables handle.

    Declaration
    public AsyncOperationHandle<T> AsAddressable<T>()
    Returns
    Type Description
    AsyncOperationHandle<T>

    Async-operation handle to this Addressable. Addressables will be loaded asynchronously, and the returned handle can be used to check status of async load and retrieve requested Addressables asset when it's ready.

    Type Parameters
    Name Description
    T

    Type of Addressables asset to return.

    Exceptions
    Type Condition
    InvalidCastException

    Thrown if the stored type isn't compatible with the requested type.

    AsAddressables<T>(Action<T>)

    Explicitly returns this Property as an Addressables handle to list of assets.

    Declaration
    public AsyncOperationHandle<IList<T>> AsAddressables<T>(Action<T> callback = null)
    Parameters
    Type Name Description
    Action<T> callback

    Callback Action<T> that is called per load operation.

    Returns
    Type Description
    AsyncOperationHandle<IList<T>>

    Async-operation handle to this Addressable. Addressables will be loaded asynchronously, and the returned handle can be used to check status of async load and retrieve requested Addressables asset when it's ready. Important: whereas AsAddressable<T>() returns a single asset, this returns a list of matching assets so it will be necessary to extract the needed asset from the list. By using the filter, you can restrict the call to just a single asset so it can easily be extracted.

    Type Parameters
    Name Description
    T

    Type of Addressables asset list to return.

    Exceptions
    Type Condition
    InvalidCastException

    Thrown if the stored type isn't compatible with the requested type.

    AsAddressables<T>(String, Addressables.MergeMode, Action<T>)

    Explicitly returns this Property as an Addressables handle allowing a string to be used to filter, usually by Addressables label.

    Declaration
    public AsyncOperationHandle<IList<T>> AsAddressables<T>(string label, Addressables.MergeMode mergeMode = Addressables.MergeMode.Intersection, Action<T> callback = null)
    Parameters
    Type Name Description
    String label

    Label to use in filtering. By default, method uses Addressable Intersection to further restrict the output (for example based on a label specified to choose between different assets of the same Address).

    Addressables.MergeMode mergeMode

    Desired merge for labels and Game Foundation Addressables address. Defaults to Intersection to permit finding a specific asset with specified label, but any valid Addressables.MergeMode enum value can be used.

    Action<T> callback

    Callback Action<T> that is called per load operation.

    Returns
    Type Description
    AsyncOperationHandle<IList<T>>

    Async-operation handle to this Addressable. Addressables will be loaded asynchronously, and the returned handle can be used to check status of async load and retrieve requested Addressables asset list when it's ready. Important: whereas AsAddressable<T>() returns a single asset, this returns a list of matching assets so it will be necessary to extract the needed asset from the list. By using the filter, you can restrict the call to just a single asset so it can easily be extracted.

    Type Parameters
    Name Description
    T

    Type of Addressables asset list to return.

    Exceptions
    Type Condition
    InvalidCastException

    Thrown if the stored type isn't compatible with the requested type.

    AsAddressString()

    Explicitly returns this Property as an address for use with Addressables.

    Declaration
    public string AsAddressString()
    Returns
    Type Description
    String

    This Addressables Property's address as a string.

    Exceptions
    Type Condition
    InvalidCastException

    Thrown if the stored type isn't compatible with the requested type.

    AsAsset<TAsset>()

    Explicitly casts this Property into an asset of the given TAsset.

    Declaration
    public TAsset AsAsset<TAsset>()
        where TAsset : Object
    Returns
    Type Description
    TAsset

    The asset reference.

    Type Parameters
    Name Description
    TAsset

    The type of the returned asset.

    Exceptions
    Type Condition
    InvalidCastException

    Thrown if the stored type isn't compatible with the requested type.

    AsBool()

    Explicitly casts this Property into a bool. Handle convertible types properly.

    Declaration
    public bool AsBool()
    Returns
    Type Description
    Boolean

    The Boolean value.

    Exceptions
    Type Condition
    InvalidCastException

    Thrown if the stored type isn't compatible with the requested type.

    AsDouble()

    Explicitly casts this Property into a double. Handle convertible types properly.

    Declaration
    public double AsDouble()
    Returns
    Type Description
    Double

    The Double value.

    Exceptions
    Type Condition
    InvalidCastException

    Thrown if the stored type isn't compatible with the requested type.

    AsFloat()

    Explicitly casts this Property into a float. Handle convertible types properly.

    Declaration
    public float AsFloat()
    Returns
    Type Description
    Single

    The Single value.

    Exceptions
    Type Condition
    InvalidCastException

    Thrown if the stored type isn't compatible with the requested type.

    AsInt()

    Explicitly casts this Property into an integer. Handle convertible types properly.

    Declaration
    public int AsInt()
    Returns
    Type Description
    Int32

    The Int32 value.

    Exceptions
    Type Condition
    InvalidCastException

    Thrown if the stored type isn't compatible with the requested type.

    OverflowException

    Thrown if the stored value is outside int boundaries.

    AsLong()

    Explicitly casts this Property into a long. Handle convertible types properly.

    Declaration
    public long AsLong()
    Returns
    Type Description
    Int64

    The Int64 value.

    Exceptions
    Type Condition
    InvalidCastException

    Thrown if the stored type isn't compatible with the requested type.

    OverflowException

    Thrown if the stored value is outside long boundaries.

    AsString()

    Explicitly casts this Property into a string. Handle convertible types properly.

    Declaration
    public string AsString()
    Returns
    Type Description
    String

    The String value.

    Exceptions
    Type Condition
    NotSupportedException

    Thrown if the stored type isn't supported.

    CompareTo(Property)

    Declaration
    public int CompareTo(Property other)
    Parameters
    Type Name Description
    Property other
    Returns
    Type Description
    Int32

    CreateAddressablesProperty(String)

    Create a Property of type Addressables using the given address. Note that the given address isn't verified--editor or runtime code must ensure specified address exists and is of valid type.

    Declaration
    public static Property CreateAddressablesProperty(string address)
    Parameters
    Type Name Description
    String address

    The address of desired Addressables asset.

    Returns
    Type Description
    Property

    Return the created property.

    CreateAssetProperty(String)

    Create a Property of type ResourcesAsset using the given path. Note that the given path isn't verified.

    Declaration
    public static Property CreateAssetProperty(string path)
    Parameters
    Type Name Description
    String path

    A path to an asset from the Resources folder.

    Returns
    Type Description
    Property

    Return the created property.

    Equals(Object)

    Tells whether this Property instance equals obj.

    Declaration
    public override bool Equals(object obj)
    Parameters
    Type Name Description
    Object obj

    The other object to compare this instance with.

    Returns
    Type Description
    Boolean

    true if equals, false otherwise.

    Overrides
    ValueType.Equals(Object)

    Equals(Property)

    Declaration
    public bool Equals(Property other)
    Parameters
    Type Name Description
    Property other
    Returns
    Type Description
    Boolean

    Equals(Property, Property)

    Declaration
    public bool Equals(Property x, Property y)
    Parameters
    Type Name Description
    Property x
    Property y
    Returns
    Type Description
    Boolean

    GetHashCode()

    Gets the hash code of this Property instance.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    Int32

    The hash code of this Property instance.

    Overrides
    ValueType.GetHashCode()

    GetHashCode(Property)

    Declaration
    public int GetHashCode(Property obj)
    Parameters
    Type Name Description
    Property obj
    Returns
    Type Description
    Int32

    ToString()

    Gets a String respresentation of this Property.

    Declaration
    public override string ToString()
    Returns
    Type Description
    String

    A String respresentation of this Property.

    Overrides
    ValueType.ToString()

    TryParse(String, String, out Property)

    Create a new Property instance by parsing the given rawPropertyType and rawValue.

    Declaration
    public static bool TryParse(string rawPropertyType, string rawValue, out Property property)
    Parameters
    Type Name Description
    String rawPropertyType

    Property type to parse.

    String rawValue

    Property value to parse.

    Property property

    Created Property if the parsing was successful.

    Returns
    Type Description
    Boolean

    Return true if the given strings could be parsed into a valid Property; return false otherwise.

    Operators

    Addition(Property, Property)

    Add the two given operands into a new Property.

    Declaration
    public static Property operator +(Property a, Property b)
    Parameters
    Type Name Description
    Property a

    Left operand.

    Property b

    Right operand.

    Returns
    Type Description
    Property

    A new Property resulting from the addition of both operands.

    Exceptions
    Type Condition
    NotSupportedException

    Thrown if one of the operands' type isn't supported.

    Equality(Property, Property)

    Compare the two given operands for equality.

    Declaration
    public static bool operator ==(Property a, Property b)
    Parameters
    Type Name Description
    Property a

    Left operand.

    Property b

    Right operand.

    Returns
    Type Description
    Boolean

    True if both operands have the same property type and value.

    Exceptions
    Type Condition
    NotSupportedException

    Thrown if the stored type isn't supported.

    GreaterThan(Property, Property)

    Compare the two given operands if they are numbers.

    Declaration
    public static bool operator>(Property a, Property b)
    Parameters
    Type Name Description
    Property a

    Left operand.

    Property b

    Right operand.

    Returns
    Type Description
    Boolean

    True if a's value is greater than b's; false otherwise.

    Exceptions
    Type Condition
    NotSupportedException

    Thrown if one of the operands' type isn't supported.

    GreaterThanOrEqual(Property, Property)

    Compare the two given operands if they are numbers.

    Declaration
    public static bool operator >=(Property a, Property b)
    Parameters
    Type Name Description
    Property a

    Left operand.

    Property b

    Right operand.

    Returns
    Type Description
    Boolean

    True if a's value is greater or equal to b's; false otherwise.

    Exceptions
    Type Condition
    NotSupportedException

    Thrown if one of the operands' type isn't supported.

    Implicit(Boolean to Property)

    Construct a Property from the given value.

    Declaration
    public static implicit operator Property(bool value)
    Parameters
    Type Name Description
    Boolean value

    The value to cast into Property.

    Returns
    Type Description
    Property

    The value as a Property

    Implicit(Double to Property)

    Construct a Property from the given value.

    Declaration
    public static implicit operator Property(double value)
    Parameters
    Type Name Description
    Double value

    The value to cast into Property.

    Returns
    Type Description
    Property

    The value as a Property.

    Implicit(Int32 to Property)

    Construct a Property from the given value.

    Declaration
    public static implicit operator Property(int value)
    Parameters
    Type Name Description
    Int32 value

    The value to cast into Property.

    Returns
    Type Description
    Property

    The value as a Property.

    Implicit(Int64 to Property)

    Construct a Property from the given value.

    Declaration
    public static implicit operator Property(long value)
    Parameters
    Type Name Description
    Int64 value

    The value to cast into Property.

    Returns
    Type Description
    Property

    The value as a Property.

    Implicit(Single to Property)

    Construct a Property from the given value.

    Declaration
    public static implicit operator Property(float value)
    Parameters
    Type Name Description
    Single value

    The value to cast into Property.

    Returns
    Type Description
    Property

    The value as a Property.

    Implicit(String to Property)

    Construct a Property from the given value.

    Declaration
    public static implicit operator Property(string value)
    Parameters
    Type Name Description
    String value

    The value to cast into Property.

    Returns
    Type Description
    Property

    The value as a Property.

    Implicit(Property to Boolean)

    Declaration
    public static implicit operator bool (Property value)
    Parameters
    Type Name Description
    Property value

    The value to cast.

    Returns
    Type Description
    Boolean

    The Boolean value of the property.

    Implicit(Property to Double)

    Declaration
    public static implicit operator double (Property value)
    Parameters
    Type Name Description
    Property value

    The value to cast.

    Returns
    Type Description
    Double

    The Double value of the property.

    Implicit(Property to Int32)

    Declaration
    public static implicit operator int (Property value)
    Parameters
    Type Name Description
    Property value

    The value to cast.

    Returns
    Type Description
    Int32

    The Int32 value of the property.

    Implicit(Property to Int64)

    Declaration
    public static implicit operator long (Property value)
    Parameters
    Type Name Description
    Property value

    The value to cast.

    Returns
    Type Description
    Int64

    The Int64 value of the property.

    Implicit(Property to Single)

    Declaration
    public static implicit operator float (Property value)
    Parameters
    Type Name Description
    Property value

    The value to cast.

    Returns
    Type Description
    Single

    The Single value of the property.

    Implicit(Property to String)

    Declaration
    public static implicit operator string (Property value)
    Parameters
    Type Name Description
    Property value

    The value to cast.

    Returns
    Type Description
    String

    The String value.

    Inequality(Property, Property)

    Compare the two given operands for inequality.

    Declaration
    public static bool operator !=(Property a, Property b)
    Parameters
    Type Name Description
    Property a

    Left operand.

    Property b

    Right operand.

    Returns
    Type Description
    Boolean

    True if both operands have different property type or value.

    Exceptions
    Type Condition
    NotSupportedException

    Thrown if the stored type isn't supported.

    LessThan(Property, Property)

    Compare the two given operands if they are numbers.

    Declaration
    public static bool operator <(Property a, Property b)
    Parameters
    Type Name Description
    Property a

    Left operand.

    Property b

    Right operand.

    Returns
    Type Description
    Boolean

    True if a's value is smaller than b's; false otherwise.

    Exceptions
    Type Condition
    NotSupportedException

    Thrown if one of the operands' type isn't supported.

    LessThanOrEqual(Property, Property)

    Compare the two given operands if they are numbers.

    Declaration
    public static bool operator <=(Property a, Property b)
    Parameters
    Type Name Description
    Property a

    Left operand.

    Property b

    Right operand.

    Returns
    Type Description
    Boolean

    True if a's value is smaller or equal to a's; false otherwise.

    Exceptions
    Type Condition
    NotSupportedException

    Thrown if one of the operands' type isn't supported.

    Subtraction(Property, Property)

    Subtract the two given operands into a new Property.

    Declaration
    public static Property operator -(Property a, Property b)
    Parameters
    Type Name Description
    Property a

    Left operand.

    Property b

    Right operand.

    Returns
    Type Description
    Property

    A new Property resulting from the subtraction of both operands.

    Exceptions
    Type Condition
    NotSupportedException

    Thrown if one of the operands' type isn't supported.

    Back to top Copyright © 2020 Unity Technologies
    Generated by DocFX
    on 16 June 2021