Esempio n. 1
0
        public Entity CreateEntity(ElementTag tag)
        {
            var en = new Entity(tag, this, orderContainer);

            entities.Add(tag, en);
            notify.NotifyChange(en);
            components.Add(en.Tag, new List <ID3DComponent>());
            return(en);
        }
Esempio n. 2
0
        public void RemoveEntity(ElementTag elementTag)
        {
            entitySynchronizer.Add((owner, input) => {
                if (owner.entities.Contains(elementTag))
                {
                    var entity = _CreateEntity(elementTag);

                    foreach (var component in owner.GetComponents(entity.Tag))
                    {
                        owner._RemoveComponent(entity.Tag, component);
                    }
                    owner.entities.Remove(entity.Tag);
                    owner.components.Remove(entity.Tag);
                    entityHas.Remove(entity.Tag);

                    notify.NotifyChange(entity);
                }
            }, null);
        }