use bevy::prelude::*; pub fn target_and_other( entity1: Entity, entity2: Entity, mut predecate: F, ) -> Option<(Entity, Entity)> where F: FnMut(Entity) -> bool, { if predecate(entity1) { Some((entity1, entity2)) } else if predecate(entity2) { Some((entity2, entity1)) } else { None } }