Beispiel #1
0
 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>();
 }
Beispiel #2
0
 private void OnEntityDestroyed(uint entityId, IComponentMap <Resource <TIdentifier, TResource> > map)
 {
     if (map.Has(entityId))
     {
         OnRemoved(entityId, map);
     }
 }
Beispiel #3
0
 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);
 }
Beispiel #5
0
 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
 }
Beispiel #6
0
 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>();
 }
Beispiel #7
0
 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();
 }
Beispiel #8
0
 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();
        }
Beispiel #10
0
 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);
                 }
             }
         }
     }
 }
Beispiel #11
0
 public MovementSystem3D(IWorld world)
     : base(world, world.EntityFilter().With <Transform3D>().With <Velocity>())
 {
     _transform = Map <Transform3D>();
     _velocity  = Map <Velocity>();
 }
Beispiel #12
0
 // 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();
 }
Beispiel #13
0
 protected ComponentSystem(IWorld world, bool skipUpdateIfEmpty = false)
 {
     _skipUpdateIfEmpty = skipUpdateIfEmpty;
     _components        = world.GetComponentMap <T>();
 }
Beispiel #14
0
 public UIButtonSystem(IWorld world, IInputManager inputManager) : base(world, world.EntityFilter().With <Button>().With <TransformRectComponent>())
 {
     _inputManager = inputManager;
     _transform    = Map <TransformRectComponent>();
     _button       = Map <Button>();
 }
Beispiel #15
0
 private void OnRemoved(uint entityId, IComponentMap <Resource <TIdentifier, TResource> > map)
 {
     ref var resource = ref map[entityId];
Beispiel #16
0
 public TransformRectSystem(IWorld world, IWindow window) : base(world, world.EntityFilter().With <TransformRectComponent>())
 {
     _window       = window;
     _transform    = Map <TransformRectComponent>();
     _relationship = Relationship();
 }