AnimancerState.

Clone(CloneContext) Method

Summary

Creates a new object with the same type and values this.
Assembly
Animancer.dll
Namespace
Animancer
Containing Type
AnimancerState

Syntax

public abstract AnimancerState Clone(CloneContext context)

Remarks

Calling this method directly is not generally recommended. Use Animancer.CloneableExtensions.Clone``1(Animancer.ICloneable{``0}) if you don't have a `context` or Animancer.CloneContext.GetOrCreateClone``1(Animancer.ICloneable{``0}) if you do have one.

Example:
class BaseClass : ICloneable
{
    // Explicit implementation so that the recommended methods will be used instead.
    object ICloneable.Clone(CloneContext context)
    {
        var clone = (BaseClass)MemberwiseClone();
        clone.CopyFrom(this, context);
        return clone;
    }
    
    // Protected method which should only be called by Clone.
    protected virtual void InitializeClone(CloneContext context)
    {
        // Alter any necessary BaseClass fields according to the context.
    }
}

class DerivedClass : BaseClass
{
    protected override void InitializeClone(CloneContext context)
    {
        base.CopyFrom(copyFrom, context);
        
        var derived = (DerivedClass)copyFrom;
        // Alter any necessary DerivedClass fields according to the context.
    }
}

Parameters

Name Type Description
context CloneContext

Return Value

Type Description
AnimancerState