public BoundingBoxSystem(IWorld world, RendererDebug3Dv3 renderer, IInputManager inputManager) : base(world, world.EntityFilter().With <Transform3D>().With <Model3D>()) { _renderer = renderer; _inputManager = inputManager; _transform = Map <Transform3D>(); _model = Map <Model3D>(); }
private void OnEntityDestroyed(uint entityId, IComponentMap <Resource <TIdentifier, TResource> > map) { if (map.Has(entityId)) { OnRemoved(entityId, map); } }
public SpriteRenderSystem(IWorld world, ISpriteBatchRenderer spriteBatchRenderer) : base(world, world.EntityFilter().With <Transform2D>().With <Sprite>().With <Texture2D>()) { _spriteBatchRenderer = spriteBatchRenderer; _transform = Map <Transform2D>(); _sprite = Map <Sprite>(); _texture = Map <Texture2D>(); }
public void Add <TComponent>(IComponentMap <TEntityKey, TComponent> map) { if (map == null) { throw new ArgumentNullException(nameof(map)); } _mapLookup.Add(typeof(TComponent), map); }
public LightSystem(IWorld world, Renderer3Dv2 renderer) : base(world, world.EntityFilter().With <Light>().With <Transform3D>()) { _renderer = renderer; _light = Map <Light>(); _transform = Map <Transform3D>(); // TODO: sort based on distance from the current camera }
public UITextRenderSystem(IWorld world, ISpriteBatchRenderer renderer) : base(world, world.EntityFilter().With <TransformRectComponent>().With <FontComponent>().With <UITextComponent>()) { _renderer = renderer; _transform = Map <TransformRectComponent>(); _font = Map <FontComponent>(); _text = Map <UITextComponent>(); }
public Camera3DSystem(IWorld world, Renderer3Dv2 renderer, RendererDebug3Dv3 rendererDebug) : base(world, world.EntityFilter().With <Camera>().With <Transform3D>()) { _renderer = renderer; _rendererDebug = rendererDebug; _camera = Map <Camera>(); _transform = Map <Transform3D>(); _relationShip = Relationship(); }
public Model3DRenderSystem(IWorld world, IRenderQueue renderQueue, Renderer3Dv2 renderer) : base(world, world.EntityFilter().With <Transform3D>().With <Model3D>().With <Texture2D>()) // TODO: add support for materials { _renderQueue = renderQueue; _renderer = renderer; _model = Map <Model3D>(); _transform = Map <Transform3D>(); _texture = Map <Texture2D>(); }
public SoundTestSystem(IWorld world, ISoundSystem soundSystem, IInputManager inputManager) : base(world, world.EntityFilter(10).With <SoundClipComponent>()) { _keyboard = inputManager.Keyboard; _sound = Map <SoundClipComponent>(); _soundEffects = soundSystem.GetPlayer("SoundEffects"); _music = soundSystem.GetPlayer("Music"); _volume = _soundEffects.GetVolume(); }
private void OnWorldDisposed(IComponentMap <Resource <TIdentifier, TResource> > componentMap) { lock (_loadedResources) { foreach (ref var resource in componentMap.AsSpan()) { if (_loadedResources.TryGetValue(resource.Identifier, out var loadedResource)) { if (--loadedResource.References <= 0) { Unload(resource.Identifier, loadedResource.Value); _loadedResources.Remove(resource.Identifier); } } } } }
public MovementSystem3D(IWorld world) : base(world, world.EntityFilter().With <Transform3D>().With <Velocity>()) { _transform = Map <Transform3D>(); _velocity = Map <Velocity>(); }
// TODO: Add support for sorting the entities based on parent count public Transform2DEntitySystem(IWorld world) : base(world, world.EntityFilter().With <Transform2D>()) { _transform = Map <Transform2D>(); _relationship = Relationship(); }
protected ComponentSystem(IWorld world, bool skipUpdateIfEmpty = false) { _skipUpdateIfEmpty = skipUpdateIfEmpty; _components = world.GetComponentMap <T>(); }
public UIButtonSystem(IWorld world, IInputManager inputManager) : base(world, world.EntityFilter().With <Button>().With <TransformRectComponent>()) { _inputManager = inputManager; _transform = Map <TransformRectComponent>(); _button = Map <Button>(); }
private void OnRemoved(uint entityId, IComponentMap <Resource <TIdentifier, TResource> > map) { ref var resource = ref map[entityId];
public TransformRectSystem(IWorld world, IWindow window) : base(world, world.EntityFilter().With <TransformRectComponent>()) { _window = window; _transform = Map <TransformRectComponent>(); _relationship = Relationship(); }