popcorn/Scripts/Utilities/AnimateHierarchyOrder.cs

31 lines
719 B
C#

using UnityEngine;
[ExecuteInEditMode]
public class AnimateHierarchyOrder : MonoBehaviour {
public float siblingOrder;
void Awake(){
siblingOrder = transform.GetSiblingIndex();
}
void OnValidate(){
siblingOrder = Mathf.Round(siblingOrder);
if(siblingOrder != transform.GetSiblingIndex()){
transform.SetSiblingIndex((int)siblingOrder);
siblingOrder = transform.GetSiblingIndex();
}
}
void OnDidApplyAnimationProperties(){
OnValidate();
}
public void UpdateOrder(int siblingOrder){
this.siblingOrder = siblingOrder;
OnValidate();
}
public void UpdateOrder(){
OnValidate();
}
}