public override (float rawDuration, float duration) CalculateDuration() { float rawDuration = 0f, duration = 0f; InputPorts.ForEach(p => { duration += p.Link.OutputPort.Node.Duration * p.Weight; rawDuration += p.Link.OutputPort.Node.RawDuration * p.Weight; }); return(rawDuration, duration); }
protected override Playable OnCreatePlayable(PlayableGraph playableGraph) { AnimationMixerPlayable playable = AnimationMixerPlayable.Create(playableGraph); playable.SetInputCount(InputPorts.Count); InputPorts.ForEach(inputPort => { inputPort.Weight = inputPort.Weight; }); return(playable); }