docs: added performance warnings to find methods

This commit is contained in:
2025-05-25 13:56:59 +03:00
parent 2df41e1881
commit 8f8558a262
2 changed files with 14 additions and 2 deletions

View File

@@ -8,7 +8,7 @@ public static class UniverseExtensions
=> universe.InstantiateUniverseObject<UniverseObject>(args);
/// <summary>
/// Searches through all<see cref="IUniverseObject"/>s to find the specified instance of the type.
/// Searches through all <see cref="IUniverseObject"/>s to find the specified instance of the type.
/// </summary>
/// <typeparam name="T">Type to be searched through the <see cref="IUniverse"/>.</typeparam>
/// <returns>The specified type if found; otherwise, throws <see cref="UniverseObjectNotFoundException"/>.</returns>
@@ -16,7 +16,7 @@ public static class UniverseExtensions
=> universe.GetUniverseObject<T>() ?? throw new UniverseObjectNotFoundException($"{universe.GetType().FullName}({universe.Id}) does not contain any {nameof(IUniverseObject)} object of type {typeof(T).FullName}");
/// <summary>
/// Searches through all<see cref="IBehaviours"/>s to find the specified instance of the type.
/// Searches through all <see cref="IBehaviours"/>s to find the specified instance of the type.
/// </summary>
/// <typeparam name="T">Type to be searched through the <see cref="IUniverse"/>.</typeparam>
/// <returns>The specified type if found; otherwise, throws <see cref="BehaviourNotFoundException"/>.</returns>
@@ -26,6 +26,9 @@ public static class UniverseExtensions
/// <summary>
/// Searches through all <see cref="IUniverseObject"/>s and <see cref="IBehaviours"/>s to find the specified instance of the type.
/// </summary>
/// <remarks>
/// WARNING: This is more expensive compared to <see cref="GetRequiredUniverseObject{T}(IUniverse)"/> or <see cref="FindRequiredBehaviour{T}(IUniverse)"/> as it combines the two. If you know whether the type is either a type that gets implemented on an <see cref="IBehaviour"/> or <see cref="IUniverseObject"/> use the method appropriate for it for performance.
/// </remarks>
/// <typeparam name="T">Type to be searched through the <see cref="IUniverse"/>.</typeparam>
/// <returns>The specified type if found; otherwise, throws <see cref="NotFoundException"/>.</returns>
public static T FindRequired<T>(this IUniverse universe) where T : class