docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class Relation<T>

    Generic form of Relation, which provides RateDataMatch and other methods

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    ConditionBase
    RelationBase
    Relation
    Relation<T>
    NonBinaryRelation<TRange, TTrait>
    Implements
    ISimulatable
    IRelation<T>
    IRelation
    IRelationBase
    IConditionBase
    IRequiresTraits<T>
    IRequiresTraits
    ICreateFromDataPair
    Inherited Members
    Relation.child1TraitName
    Relation.child2TraitName
    Relation.GetRequiredTraits()
    RelationBase.m_Child1
    RelationBase.m_Child2
    RelationBase.child1
    RelationBase.child2
    RelationBase.child1Transform
    RelationBase.child2Transform
    RelationBase.child1Proxy
    RelationBase.child2Proxy
    RelationBase.proxyGroup
    RelationBase.Reset()
    RelationBase.OnValidate()
    RelationBase.EnsureChildClients()
    RelationBase.ResetChildrenReferences()
    ConditionBase.proxy
    ConditionBase.drawWarning
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(string, float)
    MonoBehaviour.InvokeRepeating(string, float, float)
    MonoBehaviour.CancelInvoke(string)
    MonoBehaviour.IsInvoking(string)
    MonoBehaviour.StartCoroutine(string)
    MonoBehaviour.StartCoroutine(string, object)
    MonoBehaviour.StartCoroutine(IEnumerator)
    MonoBehaviour.StartCoroutine_Auto(IEnumerator)
    MonoBehaviour.StopCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(Coroutine)
    MonoBehaviour.StopCoroutine(string)
    MonoBehaviour.StopAllCoroutines()
    MonoBehaviour.print(object)
    MonoBehaviour.destroyCancellationToken
    MonoBehaviour.useGUILayout
    MonoBehaviour.didStart
    MonoBehaviour.didAwake
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, out Component)
    Component.TryGetComponent<T>(out T)
    Component.GetComponent(string)
    Component.GetComponentInChildren(Type, bool)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(bool)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, bool)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(bool)
    Component.GetComponentsInChildren<T>(bool, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type, bool)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>(bool)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, bool)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(bool)
    Component.GetComponentsInParent<T>(bool, List<T>)
    Component.GetComponentsInParent<T>()
    Component.GetComponents(Type)
    Component.GetComponents(Type, List<Component>)
    Component.GetComponents<T>(List<T>)
    Component.GetComponents<T>()
    Component.GetComponentIndex()
    Component.CompareTag(string)
    Component.CompareTag(TagHandle)
    Component.SendMessageUpwards(string, object, SendMessageOptions)
    Component.SendMessageUpwards(string, object)
    Component.SendMessageUpwards(string)
    Component.SendMessageUpwards(string, SendMessageOptions)
    Component.SendMessage(string, object)
    Component.SendMessage(string)
    Component.SendMessage(string, object, SendMessageOptions)
    Component.SendMessage(string, SendMessageOptions)
    Component.BroadcastMessage(string, object, SendMessageOptions)
    Component.BroadcastMessage(string, object)
    Component.BroadcastMessage(string)
    Component.BroadcastMessage(string, SendMessageOptions)
    Component.transform
    Component.gameObject
    Component.tag
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(object)
    Object.InstantiateAsync<T>(T)
    Object.InstantiateAsync<T>(T, Transform)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int)
    Object.InstantiateAsync<T>(T, int, Transform)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, CancellationToken)
    Object.InstantiateAsync<T>(T, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, InstantiateParameters, CancellationToken)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Scene)
    Object.Instantiate<T>(T, InstantiateParameters)
    Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, bool)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, float)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: Unity.MARS
    Assembly: Unity.MARS.dll
    Syntax
    public abstract class Relation<T> : Relation, ISimulatable, IRelation<T>, IRelation, IRelationBase, IConditionBase, IRequiresTraits<T>, IRequiresTraits, ICreateFromDataPair
    Type Parameters
    Name Description
    T

    The type of data this relation will be rating

    Methods

    ConformToData(TraitDataSnapshot, TraitDataSnapshot)

    Modifies the properties so that the data is acceptable for this relation

    Declaration
    public virtual void ConformToData(TraitDataSnapshot child1Data, TraitDataSnapshot child2Data)
    Parameters
    Type Name Description
    TraitDataSnapshot child1Data

    The data for child 1 that should pass this relation after this method is called

    TraitDataSnapshot child2Data

    The data for child 2 that should pass this relation after this method is called

    FormatDataString(TraitDataSnapshot, TraitDataSnapshot)

    Formats data into a string that is human-readable and appropriate for the relation

    Declaration
    public virtual string FormatDataString(TraitDataSnapshot child1Data, TraitDataSnapshot child2Data)
    Parameters
    Type Name Description
    TraitDataSnapshot child1Data

    The data for child 1

    TraitDataSnapshot child2Data

    The data for child 2

    Returns
    Type Description
    string

    The formatted string

    OptimizeForData(TraitDataSnapshot, TraitDataSnapshot)

    Modifies the properties so that the data is the optimal data for this relation

    Declaration
    public virtual void OptimizeForData(TraitDataSnapshot child1Data, TraitDataSnapshot child2Data)
    Parameters
    Type Name Description
    TraitDataSnapshot child1Data

    The data that should be optimal for child 1 after this method is called

    TraitDataSnapshot child2Data

    The data that should be optimal for child 2 after this method is called

    RateDataMatch(ref T, ref T)

    Compares the given trait data to the filter function

    Declaration
    public abstract float RateDataMatch(ref T child1Data, ref T child2Data)
    Parameters
    Type Name Description
    T child1Data

    The data being filtered against for the first child

    T child2Data

    The data being filtered against for the second child

    Returns
    Type Description
    float

    A number from 0 to 1 indicating how well a set of data matches

    Implements

    ISimulatable
    IRelation<T>
    IRelation
    IRelationBase
    IConditionBase
    IRequiresTraits<T>
    IRequiresTraits
    ICreateFromDataPair

    Extension Methods

    IRequiresTraitsMethods.ForEachContextIdWithTrait<T>(IRequiresTraits<T>, string, Action<int>)
    IRequiresTraitsMethods.TryGetAllTraitsWithSemanticTag<T>(IRequiresTraits<T>, string, string, out Dictionary<int, T>)
    IRequiresTraitsMethods.TryGetTraitValue<T>(IRequiresTraits<T>, int, string, out T)
    IRelationGenericMethods.PassesRelation<T>(IRelation<T>, ref T, ref T)
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)