public static void removeKeyCombination(KeyCode[] keys) { bool repeat = false; for (int v = 0; v < registerdCombs.Count; v++) { KeyComObj obj = registerdCombs[v]; if (keys.Length == obj.getList().Count) { bool remove = true; for (int i = 0; i < keys.Length; i++) { if (keys[i] != obj.getList()[i]) { remove = false; break; } } if (remove) { repeat = true; registerdCombs.Remove(obj); } } } if (repeat) { removeKeyCombination(keys); } }
public static void refreshMultipleCallbacks() { bool repeat = false; for (int i = 0; i < registerdCombs.Count; i++) { KeyComObj obj = registerdCombs[i]; if (checkCombination(obj.getList())) { if (obj.isActive()) { obj.Invoke(); obj.setWaitForChange(true); if (!obj.getRepeat()) { repeat = true; registerdCombs.Remove(obj); break; } } } } if (repeat) { refreshMultipleCallbacks(); } }