public static bool Prefix(FlyingSpriteSpawner __instance, Vector3 pos, ref FlyingSpriteEffect.Pool ____flyingSpriteEffectPool, ref float ____xSpread, ref float ____targetYPos, ref float ____targetZPos, ref float ____duration, ref Sprite ____sprite, ref Material ____material, ref Color ____color, ref bool ____shake)
        {
            if (!Plugin.active)
            {
                return(true);
            }

            FlyingSpriteEffect flyingSpriteEffect = ____flyingSpriteEffectPool.Spawn();

            flyingSpriteEffect.didFinishEvent += __instance.HandleFlyingSpriteEffectDidFinish;
            Vector3 targetPos = Vector3.zero;

            if (lastNoteRotationSet)
            {
                Quaternion quaternion = lastNoteRotation;
                lastNoteRotationSet = false;
                Vector3 vector = quaternion * pos;
                flyingSpriteEffect.transform.SetPositionAndRotation(vector, quaternion);
                targetPos = quaternion * new Vector3(pos.x, ____targetYPos, ____targetZPos);
            }
            else
            {
                flyingSpriteEffect.transform.SetPositionAndRotation(pos, Quaternion.identity);
                targetPos = new Vector3(pos.x, ____targetYPos, ____targetZPos);
            }

            flyingSpriteEffect.InitAndPresent(____duration, targetPos, ____sprite, ____material, ____color, ____shake);

            return(false);
        }
 static void Prefix(FlyingSpriteEffect __instance, float duration, Vector3 targetPos, Color color, bool shake)
 {
     __instance.gameObject.layer = 26;
 }