Class InternalComponentHub
- Namespace
- Cobilas.GodotEngine.Component
- Assembly
- com.cobilas.godot.icomponent.dll
Inner class for handling IComponentHub.
[Serializable]
public sealed class InternalComponentHub : IInternalComponentHub, IComponentHub, IEnumerable<Node>, IEnumerable, IDisposable
- Inheritance
-
InternalComponentHub
- Implements
-
IEnumerable<Node>
- Inherited Members
Constructors
InternalComponentHub(Node)
Inner class for handling IComponentHub.
public InternalComponentHub(Node entity)
Parameters
entityNode
Properties
ComponentsCount
The number of child objects.
public int ComponentsCount { get; }
Property Value
- int
Returns the number of child objects.
Entity
The Godot.Node object that is associated.
public Node? Entity { get; }
Property Value
- Node
Returns the associated Godot.Node object.
Parent
The parent object.
public Node? Parent { get; }
Property Value
- Node
Returns the parent object.
ParentComponent
The parent object as IComponentHub.
public IComponentHub? ParentComponent { get; }
Property Value
- IComponentHub
Returns the parent object as IComponentHub.
Methods
AddComponent(Type?)
Allows you to add a component by specifying its type.
public Node? AddComponent(Type? component)
Parameters
componentTypeThe type to be added.
Returns
- Node
Returns the type that was added.
Remarks
If the specified type is null or not found in the component list, an object of type NullNode will be returned.
Exceptions
- ArgumentException
Occurs when the specified type does not inherit from Godot.Node.
AddComponent<TypeComponent>()
Allows you to add a component by specifying its type.
public TypeComponent? AddComponent<TypeComponent>() where TypeComponent : Node
Returns
- TypeComponent
Returns the type that was added.
Type Parameters
TypeComponentThe type to be added.
Remarks
If the specified type is null or not found in the component list, an object of type NullNode will be returned.
Exceptions
- ArgumentException
Occurs when the specified type does not inherit from Godot.Node.
AddComponents(params Type[]?)
Allows you to add multiple components by specifying their type.
public void AddComponents(params Type[]? components)
Parameters
componentsType[]The types to be added.
Exceptions
- ArgumentException
Occurs when the specified type does not inherit from Godot.Node.
AddNodeComponent(Node?)
Allows you to add a Godot.Node object to the component list.
public void AddNodeComponent(Node? component)
Parameters
componentNodeThe Godot.Node object to add.
AddNodeComponents(params Node[]?)
Allows you to add multiple Godot.Node objects to the component list.
public void AddNodeComponents(params Node[]? components)
Parameters
componentsNode[]The Godot.Node objects to add.
AddRequireComponent(Node?)
Static function to add components automatically.
public static void AddRequireComponent(Node? mono)
Parameters
monoNodeTarget Godot.Node object.
Remarks
The target Godot.Node object must have the RequireComponentAttribute attribute to specify the types to be added.
Exceptions
- ArgumentException
Occurs when the specified type does not inherit from Godot.Node.
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
~InternalComponentHub()
The destructor is responsible for discarding unmanaged resources.
protected ~InternalComponentHub()
GetComponent(Type?)
Gets the component by the specified type.
public Node? GetComponent(Type? component)
Parameters
componentTypeThe type to be obtained.
Returns
- Node
Returns the component type as node.
Remarks
If the specified type is null or not found in the component list, an object of type NullNode will be returned.
Exceptions
- ArgumentException
Occurs when the specified type does not inherit from Godot.Node.
GetComponent(Type?, bool)
Gets the component by the specified type.
public Node? GetComponent(Type? component, bool recursive)
Parameters
Returns
- Node
Returns the component type as node.
Remarks
If the specified type is null or not found in the component list, an object of type NullNode will be returned.
Exceptions
- ArgumentException
Occurs when the specified type does not inherit from Godot.Node.
GetComponent<TypeComponent>()
Gets the component by the specified type.
public TypeComponent? GetComponent<TypeComponent>() where TypeComponent : Node
Returns
- TypeComponent
Returns the component type as node.
Type Parameters
TypeComponentThe type to be obtained.
Remarks
If the specified type is null or not found in the component list, an object of type NullNode will be returned.
Exceptions
- ArgumentException
Occurs when the specified type does not inherit from Godot.Node.
GetComponent<TypeComponent>(bool)
Gets the component by the specified type.
public TypeComponent? GetComponent<TypeComponent>(bool recursive) where TypeComponent : Node
Parameters
recursiveboolAllows searching in sub-children.
Returns
- TypeComponent
Returns the component type as node.
Type Parameters
TypeComponentThe type to be obtained.
Remarks
If the specified type is null or not found in the component list, an object of type NullNode will be returned.
Exceptions
- ArgumentException
Occurs when the specified type does not inherit from Godot.Node.
GetComponents(Type?)
Gets components by the specified type.
public Node[]? GetComponents(Type? component)
Parameters
componentTypeThe type to be obtained.
Returns
- Node[]
Returns the component types as a node list.
Remarks
If the specified type is null or not found in the component list, an empty list will be returned.
Exceptions
- ArgumentException
Occurs when the specified type does not inherit from Godot.Node.
GetComponents(Type?, bool)
Gets components by the specified type.
public Node[]? GetComponents(Type? component, bool recursive)
Parameters
Returns
- Node[]
Returns the component types as a node list.
Remarks
If the specified type is null or not found in the component list, an empty list will be returned.
Exceptions
- ArgumentException
Occurs when the specified type does not inherit from Godot.Node.
GetComponents<TypeComponent>()
Gets components by the specified type.
public TypeComponent[]? GetComponents<TypeComponent>() where TypeComponent : Node
Returns
- TypeComponent[]
Returns the component types as a node list.
Type Parameters
TypeComponentThe type to be obtained.
Remarks
If the specified type is null or not found in the component list, an empty list will be returned.
Exceptions
- ArgumentException
Occurs when the specified type does not inherit from Godot.Node.
GetComponents<TypeComponent>(bool)
Gets components by the specified type.
public TypeComponent[]? GetComponents<TypeComponent>(bool recursive) where TypeComponent : Node
Parameters
recursiveboolAllows searching in sub-children.
Returns
- TypeComponent[]
Returns the component types as a node list.
Type Parameters
TypeComponentThe type to be obtained.
Remarks
If the specified type is null or not found in the component list, an empty list will be returned.
Exceptions
- ArgumentException
Occurs when the specified type does not inherit from Godot.Node.
GetEnumerator()
Returns an enumerator that iterates through the collection.
public IEnumerator<Node> GetEnumerator()
Returns
- IEnumerator<Node>
An enumerator that can be used to iterate through the collection.
RemoveComponent(Node?)
Allows you to remove a Godot.Node object from the list of components.
public bool RemoveComponent(Node? component)
Parameters
componentNodeThe Godot.Node object to remove.
Returns
- bool
Returns
trueif the operation is successful.
RemoveComponents(params Node[]?)
Allows you to remove several Godot.Node objects from the list of components.
public void RemoveComponents(params Node[]? components)
Parameters
componentsNode[]The Godot.Node objects to be removed.