Beispiel #1
0
            protected override unsafe void Update(float state, ReadOnlySpan <Entity> entities)
            {
                foreach (ref readonly Entity entity in entities)
                {
                    DefaultSpeed        speed    = entity.Get <DefaultSpeed>();
                    ref DefaultPosition position = ref entity.Get <DefaultPosition>();

                    position.X += speed.X * state;
                    position.Y += speed.Y * state;
                }
Beispiel #2
0
            protected override void Update(float state, ReadOnlySpan <DefaultEntity> entities)
            {
                for (int i = 0; i < entities.Length; i++)
                {
                    DefaultEntity       entity   = entities[i];
                    DefaultSpeed        speed    = entity.Get <DefaultSpeed>();
                    ref DefaultPosition position = ref entity.Get <DefaultPosition>();

                    position.X += speed.X * state;
                    position.Y += speed.Y * state;
                }
        public ICar CreateCar(float maxMoveSpeed, float rotataeSpeed, ISurfaceInfo surface)
        {
            ISpeedProvider moveSpeed     = new DefaultSpeed(maxMoveSpeed);
            ISpeedProvider speedOfRotate = new DefaultSpeed(rotataeSpeed);

            speedOfRotate.SetSpeed(rotataeSpeed);

            IAcceleration acceleration = new DefaultAcceleration(moveSpeed, surface);

            return(new Car(moveSpeed, speedOfRotate, acceleration, surface));
        }
Beispiel #4
0
            protected override unsafe void Update(float state, ReadOnlySpan <Entity> entities)
            {
                Components <DefaultSpeed>    speeds    = _world.GetComponents <DefaultSpeed>();
                Components <DefaultPosition> positions = _world.GetComponents <DefaultPosition>();

                foreach (ref readonly Entity entity in entities)
                {
                    DefaultSpeed        speed    = speeds[entity];
                    ref DefaultPosition position = ref positions[entity];

                    position.X += speed.X * state;
                    position.Y += speed.Y * state;
                }
Beispiel #5
0
 private static void Update(float state, DefaultSpeed speed, ref DefaultPosition position)
 {
     position.X += speed.X * state;
     position.Y += speed.Y * state;
 }