Compare commits
	
		
			1 Commits
		
	
	
		
			de336d0ee5
			...
			6c36d4d21d
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 6c36d4d21d | 
@@ -51,6 +51,15 @@ public interface IBehaviourController : IAssignableGameObject, IEnumerable<IBeha
 | 
			
		||||
    /// <returns>The instantiated <see cref="IBehaviour"/> class after initialization.</returns>
 | 
			
		||||
    T AddBehaviour<T>(params object?[]? args) where T : class, IBehaviour;
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Looks up and returns the <see cref="IBehaviour"/> that is controlled by the <see cref="IBehaviourController"/>. 
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <typeparam name="T">An implemented class or <see cref="interface"/></typeparam>
 | 
			
		||||
    /// <returns> 
 | 
			
		||||
    /// <see cref="T"/>, if the type of <see cref="IBehaviour"/> is present in the <see cref="IBehaviourController"/>, <see cref="null"/> if not.
 | 
			
		||||
    /// </returns>
 | 
			
		||||
    T? GetBehaviour<T>();
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Looks up and tries to get the <see cref="IBehaviour"/> that is controlled by the <see cref="IBehaviourController"/>. 
 | 
			
		||||
    /// </summary>
 | 
			
		||||
 
 | 
			
		||||
@@ -41,19 +41,19 @@ public class BehaviourController : IBehaviourController
 | 
			
		||||
    public T AddBehaviour<T>(params object?[]? args) where T : class, IBehaviour
 | 
			
		||||
        => AddBehaviour(new Factory.BehaviourFactory().Instantiate<T>(_gameObject, args));
 | 
			
		||||
 | 
			
		||||
    public bool TryGetBehaviour<T>([NotNullWhen(returnValue: true)] out T? behaviour)
 | 
			
		||||
    public T? GetBehaviour<T>()
 | 
			
		||||
    {
 | 
			
		||||
        foreach (var behaviourItem in behaviours)
 | 
			
		||||
        {
 | 
			
		||||
            if (behaviourItem is not T result)
 | 
			
		||||
                continue;
 | 
			
		||||
            if (behaviourItem is T result)
 | 
			
		||||
                return result;
 | 
			
		||||
 | 
			
		||||
            behaviour = result;
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
        return default;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
        behaviour = default;
 | 
			
		||||
        return false;
 | 
			
		||||
    public bool TryGetBehaviour<T>([NotNullWhen(returnValue: true)] out T? behaviour)
 | 
			
		||||
    {
 | 
			
		||||
        behaviour = GetBehaviour<T>();
 | 
			
		||||
        return behaviour is not null;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public IList<T> GetBehaviours<T>()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user