/// <summary> /// Resets the component. /// This is the preferred method to use when /// resetting a component to its original state when first added. /// </summary> /// <param name="componentType">The component base type.</param> /// <param name="args"></param> public void ResetComponent(ComponentType componentType, params object[] args) { this.entityManager.ResetComponent(this, componentType); }
/// <summary> /// Marks the component to remove. The actual removal is deferred and will happen in the next EntityWorld update. /// Faster removal of components from a entity. /// </summary> /// <param name="componentType">The type.</param> public void RemoveComponent(ComponentType componentType) { Debug.Assert(componentType != null, "Component type must not be null."); this.entityManager.RemoveComponent(this, componentType); }
/// <summary> /// Sets the Type for specified ComponentType. /// </summary> /// <param name="type">The type being set.</param> /// <param name="componentType">The component type.</param> internal static void SetTypeFor(Type type, ComponentType componentType) { ComponentTypes.Add(type, componentType); }
/// <summary> /// Gets the component. /// Slower retrieval of components from this entity. /// Minimize usage of this, but is fine to use e.g. when /// creating new entities and setting data in components. /// </summary> /// <param name="componentType">Type of the component.</param> /// <returns>component that matches, or null if none is found.</returns> public IEntityComponent GetComponent(ComponentType componentType) { Debug.Assert(componentType != null, "Component type must not be null."); return(this.entityManager.GetComponent(this, componentType)); }
/// <summary> /// Sets the type for specified ComponentType T. /// </summary> /// <typeparam name="T">The <see langword="Type" /> of T being set.</typeparam> /// <param name="componentType">The component type.</param> internal static void SetTypeFor <T>(ComponentType componentType) { ComponentTypes.Add(typeof(T), componentType); }