public void SendOnComboSuccess(ComboSequence sequence) { foreach (IComboListener listener in listeners) { listener.OnComboSuccess(sequence.Name); } }
void ShowComboSequences() { if (string.IsNullOrEmpty(comboManagerProperty.FindPropertyRelative("inputEnumName").GetValue<string>())) { EditorGUILayout.HelpBox("Create an Enum starting with the prefix 'Combo' with your input options.", MessageType.Info); return; } combosProperty = comboManagerProperty.FindPropertyRelative("combos"); if (AddFoldOut(combosProperty, "Combos".ToGUIContent())) { comboManager.combos[comboManager.combos.Length - 1] = new ComboSequence(comboSystem); comboManager.combos[comboManager.combos.Length - 1].SetUniqueName(comboManager.combos, "default", ""); } if (combosProperty.isExpanded) { EditorGUI.indentLevel += 1; for (int i = 0; i < combosProperty.arraySize; i++) { currentSequence = comboManager.combos[i]; currentSequenceProperty = combosProperty.GetArrayElementAtIndex(i); BeginBox(); if (DeleteFoldOut(combosProperty, i, GetComboSequenceName(currentSequence).ToGUIContent(), GetComboSequenceStyle())) { break; } ShowComboSequence(); EndBox(); } Separator(); EditorGUI.indentLevel -= 1; } }
string GetComboSequenceName(ComboSequence sequence) { string displayName = sequence.Name + " ("; foreach (ComboSequenceItem item in sequence.items) { displayName += GetComboSequenceItemName(item); if (item != sequence.items.Last()) { displayName += " + "; } } displayName += ")"; return displayName; }