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; }