void FixedUpdate()
    {
        transform.rotation *= Quaternion.Euler(0f, 0f, angularVelocity * Time.fixedDeltaTime);

        timer += Time.fixedDeltaTime * Item.timeScale;
        float period = 1f / frequence;

        while (timer > period)
        {
            timer += -period;

            var c = pattern[count % pattern.Length];
            if (c == '1')
            {
                Fire(timer);
            }

            count++;
        }

        interpolated.Snapshot();
    }