/// <summary> /// Allow each node to get apropriate AnimationLayer /// </summary> /// <param name="manager">LayerManager to create layer</param> /// <param name="parentSuggestLayer">AnimationLayer suggested by parent. (layer of child at index 0)</param> public override void SelectLayer(AnimationLayerManager manager, AnimationLayer parentSuggestLayer) { AnimationLayer layer = parentSuggestLayer; SyncLayer = false; if (NewLayer) { layer = manager.Create(UnityEngine.AnimationBlendMode.Blend); } if (ChildCount > 0) { if (this[0] != null) { this[0].SelectLayer(manager, layer); } } for (int i = 1; i < ChildCount; i++) { var child = this[i]; if (child != null) { layer = manager.Create(BlendMode); child.SelectLayer(manager, layer); } } }
protected override void Awake() { base.Awake(); this._Profiles = new List <AnimationTreeProfile>(); Root = CreateTree(); LayerManager = new AnimationLayerManager(); Root.SelectLayer(LayerManager, LayerManager.Create(UnityEngine.AnimationBlendMode.Blend)); if (this.Animation != null) { Root.Initialize(this.Animation); } }
/// <summary> /// Allow each node to get apropriate AnimationLayer /// </summary> /// <param name="manager">LayerManager to create layer</param> /// <param name="parentSuggestLayer">AnimationLayer suggested by parent. (layer of child at index 0)</param> public override void SelectLayer(AnimationLayerManager manager, AnimationLayer parentSuggestLayer) { AnimationLayer layer = parentSuggestLayer; if (NewLayer) { layer = manager.Create(UnityEngine.AnimationBlendMode.Blend); } foreach (var item in this) { if (item != null) { item.SelectLayer(manager, layer); } } }
/// <summary> /// Allow each node to get apropriate AnimationLayer /// </summary> /// <param name="manager">LayerManager to create layer</param> /// <param name="parentSuggestLayer">AnimationLayer suggested by parent. (layer of child at index 0)</param> public override void SelectLayer(AnimationLayerManager manager, AnimationLayer parentSuggestLayer) { this.Layer = parentSuggestLayer; }
/// <summary> /// Allow each node to get apropriate AnimationLayer /// </summary> /// <param name="manager">LayerManager to create layer</param> /// <param name="parentSuggestLayer">AnimationLayer suggested by parent. (layer of child at index 0)</param> public abstract void SelectLayer(AnimationLayerManager manager, AnimationLayer parentSuggestLayer);