Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        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);
                }
            }
        }