Страница 1 из 1

Как запросить все объеты класса?

Добавлено: Ср дек 09, 2020 10:48 am
fynto
Добрый день!

У меня есть класс Task в нем есть объекты, LightTask , LightTask2, LightTask3 и тд. У класса есть два свойства StartTime и EndTime, а также два метода обрабатывающие задание startTask и stopTask. Для срабатывания в onNewMinute помещен код для каждого задания вида:

Код: Выделить всё

if (getGlobal('LightTask.status')){
 if (timeIs(getGlobal('LightTask.startTime'))) {
  callMethod('LightTask.startTask');
 }
 if (timeIs(getGlobal('LightTask.stopTime'))) {
  callMethod('LightTask.stopTask');
 }
}
Подскажите, пожалуйста, как получить список всех объектов из класса Task, чтобы изменить код и не дублировать его для каждого объекта Task

Re: Как запросить все объеты класса?

Добавлено: Ср дек 09, 2020 11:31 am
tarasfrompir
fynto писал(а):
Ср дек 09, 2020 10:48 am
Добрый день!

У меня есть класс Task в нем есть объекты, LightTask , LightTask2, LightTask3 и тд. У класса есть два свойства StartTime и EndTime, а также два метода обрабатывающие задание startTask и stopTask. Для срабатывания в onNewMinute помещен код для каждого задания вида:

Код: Выделить всё

if (getGlobal('LightTask.status')){
 if (timeIs(getGlobal('LightTask.startTime'))) {
  callMethod('LightTask.startTask');
 }
 if (timeIs(getGlobal('LightTask.stopTime'))) {
  callMethod('LightTask.stopTask');
 }
}
Подскажите, пожалуйста, как получить список всех объектов из класса Task, чтобы изменить код и не дублировать его для каждого объекта Task
Было но такое - но похерить пришлось.... :oops: :oops: :oops:

Re: Как запросить все объеты класса?

Добавлено: Ср дек 09, 2020 12:13 pm
Logrus
fynto писал(а):
Ср дек 09, 2020 10:48 am
Добрый день!

У меня есть класс Task в нем есть объекты, LightTask , LightTask2, LightTask3 и тд. У класса есть два свойства StartTime и EndTime, а также два метода обрабатывающие задание startTask и stopTask. Для срабатывания в onNewMinute помещен код для каждого задания вида:

Код: Выделить всё

if (getGlobal('LightTask.status')){
 if (timeIs(getGlobal('LightTask.startTime'))) {
  callMethod('LightTask.startTask');
 }
 if (timeIs(getGlobal('LightTask.stopTime'))) {
  callMethod('LightTask.stopTask');
 }
}
Подскажите, пожалуйста, как получить список всех объектов из класса Task, чтобы изменить код и не дублировать его для каждого объекта Task

Код: Выделить всё

$objects = getObjectsByClass($class_name);

Re: Как запросить все объеты класса?

Добавлено: Ср дек 09, 2020 8:04 pm
Chainik
fynto писал(а):
Ср дек 09, 2020 10:48 am
...
Подскажите, пожалуйста, как получить список всех объектов из класса Task, чтобы изменить код и не дублировать его для каждого объекта Task
Попробуйте так:

Код: Выделить всё

$objects=getObjectsByClass("Task");
foreach($objects as $obj) {
if (getGlobal($obj['TITLE'].".status")){
 if (timeIs(getGlobal($obj['TITLE'].".startTime"))) {
  callMethod($obj['TITLE'].".startTask");
 }
 if (timeIs(getGlobal($obj['TITLE'].".stopTime"))) {
  callMethod($obj['TITLE'].".stopTask");
 }
}
}