/// <summary> /// Finds the last name of the level, that predicate returns <code>true</code> value. /// </summary> /// <returns>The last found level or <code>null<code> if not found.</returns> /// <param name="predicate">The predicate.</param> public static string FindLastLevelName(string groupName, LevelPredicate predicate) { CheckHasConfiguration(); MadLevelConfiguration.Group group = null; if (groupName != null) { group = activeConfiguration.FindGroupByName(groupName); if (group == null) { Debug.LogError("Cannot find group named " + groupName); return null; } } var levels = activeConfiguration.GetLevelsInOrder(); for (int i = levels.Length - 1; i >= 0; i--) { var level = levels[i]; if (group != null && level.groupId != group.id) { continue; } if (predicate(level)) { return level.name; } } return null; }
/// <summary> /// Finds the last name of the level, that predicate returns <code>true</code> value. /// </summary> /// <returns>The last found level or <code>null<code> if not found.</returns> /// <param name="predicate">The predicate.</param> public static string FindLastLevelName(LevelPredicate predicate) { CheckHasConfiguration(); var levels = activeConfiguration.GetLevelsInOrder(); for (int i = levels.Length - 1; i >= 0; i--) { var level = levels[i]; if (predicate(level)) { return level.name; } } return null; }
/// <summary> /// Finds the last name of the level, that predicate returns <code>true</code> value. /// </summary> /// <returns>The last found level or <code>null<code> if not found.</returns> /// <param name="predicate">The predicate.</param> public static string FindLastLevelName(LevelPredicate predicate) { return FindLastLevelName(null, predicate); }
/// <summary> /// Finds the last name of the level, that predicate returns <code>true</code> value. /// </summary> /// <returns>The last found level or <code>null<code> if not found.</returns> /// <param name="predicate">The predicate.</param> public static string FindLastLevelName(string groupName, LevelPredicate predicate) { CheckHasConfiguration(); MadLevelConfiguration.Group group = null; if (groupName != null) { group = activeConfiguration.FindGroupByName(groupName); if (group == null) { Debug.LogError("Cannot find group named " + groupName); return null; } } var levels = activeConfiguration.GetLevelsInOrder(); for (int i = levels.Length - 1; i >= 0; i--) { var level = levels[i]; if (group != null && level.groupId != group.id) { continue; } if (predicate(level)) { return level.name; } } return null; }
/// <summary> /// Finds the last name of the level, that predicate returns <code>true</code> value. /// </summary> /// <returns>The last found level or <code>null<code> if not found.</returns> /// <param name="predicate">The predicate.</param> public static string FindLastLevelName(LevelPredicate predicate) { return FindLastLevelName(null, predicate); }