Struct DefaultVariantSystemBase.Rule
When defining default variants for a type, you must denote whether or not this variant will be applied to both parents and children.
Inherited Members
Namespace: Unity.NetCode
Assembly: Unity.NetCode.dll
Syntax
public readonly struct DefaultVariantSystemBase.Rule
Fields
VariantForChildren
The variant to use for all child entities.
Declaration
public readonly Type VariantForChildren
Field Value
Type | Description |
---|---|
Type |
Remarks
Child entities default to Dont
VariantForParents
The variant to use for all top-level (i.e. root/parent level) entities.
Declaration
public readonly Type VariantForParents
Field Value
Type | Description |
---|---|
Type |
Remarks
Parent entities default to send (i.e. serialize all "Ghost Fields" using the settings defined in the Ghost
Methods
Equals(Rule)
Compare two rules ana check if their parent and child types are identical.
Declaration
public bool Equals(DefaultVariantSystemBase.Rule other)
Parameters
Type | Name | Description |
---|---|---|
Default |
other | Rule to test equality against |
Returns
Type | Description |
---|---|
bool | Whether they variant type for parents and children match. |
ForAll(Type)
This rule will add the same variant to all entities with this component type (i.e. both parent and children a.k.a. regardless of hierarchy). Note: It is not recommended to serialize child entities as it is relatively slow to serialize them!
Declaration
public static DefaultVariantSystemBase.Rule ForAll(Type variantForBoth)
Parameters
Type | Name | Description |
---|---|---|
Type | variantForBoth | All entities with this component type will receive the variant |
Returns
Type | Description |
---|---|
Default |
Updated rule |
GetHashCode()
Unique HashCode if Variant fields are set.
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
int | A unique hashcode if variant fields are set. Otherwise 0. |
Overrides
OnlyChildren(Type)
This rule will only add this variant to child entities with this component. The parent entities with this component will use the default serializer. Note: It is not recommended to serialize child entities as it is relatively slow to serialize them!
Declaration
public static DefaultVariantSystemBase.Rule OnlyChildren(Type variantForChildrenOnly)
Parameters
Type | Name | Description |
---|---|---|
Type | variantForChildrenOnly | Child entities with this component type will receive the variant |
Returns
Type | Description |
---|---|
Default |
Updated rule |
OnlyParents(Type)
This rule will only add the variant to parent entities with this component type.
Children with this component will remain Dont
Declaration
public static DefaultVariantSystemBase.Rule OnlyParents(Type variantForParentOnly)
Parameters
Type | Name | Description |
---|---|---|
Type | variantForParentOnly | Parent entities with this component type will receive the variant |
Returns
Type | Description |
---|---|
Default |
Updated rule |
Unique(Type, Type)
This rule will add one variant for parents, and another variant for children, by default. Note: It is not recommended to serialize child entities as it is relatively slow to serialize them!
Declaration
public static DefaultVariantSystemBase.Rule Unique(Type variantForParents, Type variantForChildren)
Parameters
Type | Name | Description |
---|---|---|
Type | variantForParents | Parent entities with this component type will receive the variant |
Type | variantForChildren | Child entities with this component type will receive the variant |
Returns
Type | Description |
---|---|
Default |
Updated rule |