public static void Stimulate(Sensation sensation) { int inSphere = BaseEntity.Query.Server.GetInSphere(sensation.Position, sensation.Radius, Sense.query, new Func <BaseEntity, bool>(Sense.IsAbleToBeStimulated)); float radius = sensation.Radius * sensation.Radius; for (int i = 0; i < inSphere; i++) { if ((Sense.query[i].transform.position - sensation.Position).sqrMagnitude <= radius) { Sense.query[i].OnSensation(sensation); } } }
public static void Stimulate(Sensation sensation) { int inSphere = BaseEntity.Query.Server.GetInSphere(sensation.Position, sensation.Radius, Sense.query, new Func <BaseEntity, bool>(Sense.IsAbleToBeStimulated)); float num = sensation.Radius * sensation.Radius; for (int index = 0; index < inSphere; ++index) { Vector3 vector3 = Vector3.op_Subtraction(((Component)Sense.query[index]).get_transform().get_position(), sensation.Position); if ((double)((Vector3) ref vector3).get_sqrMagnitude() <= (double)num) { Sense.query[index].OnSensation(sensation); } } }