public static AnimationConfiguration Create(AnimationState state) { var config = new AnimationConfiguration(); config.name = state.name; config.rate = AnimationConfiguration.rateMode == SpeedUnit.Scalar ? 1 : state.clip.frameRate; config.speed = AnimationConfiguration.speedMode == SpeedUnit.Scalar ? state.speed : state.speed * state.clip.frameRate; config.originalSpeed = state.clip.frameRate; config.blendMode = state.blendMode; config.wrapMode = state.clip.wrapMode; return(config); }
public void Build() { var animation = gameObject.GetComponent <Animation>(); if (this.animations.Count == 0 && !animation.IsNull()) { foreach (AnimationState state in animation) { var config = AnimationConfiguration.Create(state); this.animations.Add(config); } } foreach (var config in this.animations) { config.parent = animation; } }