public void SetMenu(Type type) { CurrentAnimation = new TargetAnimation(type, previousType: CurrentMenu); Debug.Log($"SetMenu, curr={type}, prev={CurrentAnimation.PreviousType}"); if (PreviousMenu != null && PreviousMenu.HasInterface(typeof(IMenuCallbacks)) && PreviousMenu.IsSubclassOf(typeof(ComponentSystemBase))) { var system = (IMenuCallbacks)World.GetExistingSystem(PreviousMenu); system.OnMenuUnset(CurrentAnimation); } if (type != null && type.HasInterface(typeof(IMenuCallbacks)) && type.IsSubclassOf(typeof(ComponentSystemBase))) { var system = (IMenuCallbacks)World.GetExistingSystem(type); system.OnMenuSet(CurrentAnimation); } OnMenuUpdate?.Invoke(CurrentAnimation); }
public void SetManual(TargetAnimation target) { CurrentAnimation = target; OnMenuUpdate?.Invoke(CurrentAnimation); }