private void HandleVectorInteraction(VectorInteraction interaction, Vector2 value) { for (int i = f_menuStack.Count; --i >= 0;) { for (int j = f_menuStack[i].Count; --j >= 0;) { IEnumerable <VectorInputCallback> vectorInputCallbacks = f_menuStack[i][j].ActiveInputHandler.VectorInputCallbacks; foreach (VectorInputCallback vic in vectorInputCallbacks) { foreach (VectorInputCombination comb in vic.VectorInputCombinations) { if (comb.Evaluate(interaction)) { bool consume = vic.Callback(value); if (consume) { Event.current.Use(); return; } break; } } } } } }
//public ButtonInteraction[] necessaryButtons; //public ButtonInteraction[] blockingButtons; public bool Evaluate(VectorInteraction interaction) { return(vectorInput == interaction); }