//A ordem da adição dos componentes pode impactar no resultado desejado. //Por exemplo ao adicionar "entity.Components.Add(mouseEvents)" primeiro - sendo que mouseEvents é uma instância de MouseEventsComponent, //e depois "entity.Components.Add(followMouse)" - sendo que followMouse é uma instância de FollowMouseComponent; //Ao tentar verificar com mouseEvents se o ponteiro do mouse está sobre a entidade e depois move-la com followMouse //acontece um problema de não reconhecer bem o comando. O que não acontece se 'followMouse' for adicionado primeiro //na lista de componentes. /// <summary>Adiciona um componente na lista de Componentes.</summary> /// <param name="component">O componente a ser adicionado.</param> public void Add(ActorComponent component) { List.Add(component); }
protected ActorComponent(Actor destination, ActorComponent source) { Actor = destination; Enable = new EnableGroup(source.Enable.IsEnabled, source.Enable.IsVisible); Name = source.Name; }
/// <summary> /// Inicializa uma nova instância de GhostComponent como cópia de outra instâcia /// </summary> /// <param name="destination">O ator a ser associado.</param> /// <param name="source">O componente a ser copiado.</param> public GhostComponent(AnimatedActor destination, ActorComponent source) : base(destination, source) { entity = destination; }