MCPcopy Create free account
hub / github.com/benkuper/Chataigne / process

Method process

Source/Module/Module.cpp:433–469  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

431}
432
433bool Module::Dependency::process()
434{
435 if (target.wasObjectDeleted()) return false;
436
437 bool depIsOk = false;
438
439 var valueToCheck = source->value;
440 if (source->type == Controllable::ENUM) valueToCheck = ((EnumParameter*)source)->getValueData();
441
442 switch (type)
443 {
444 case EQUALS: depIsOk = valueToCheck == value; break;
445 case NOT_EQUALS: depIsOk = valueToCheck != value; break;
446 case LESS_THAN: depIsOk = valueToCheck < value; break;
447 case GREATER_THAN: depIsOk = valueToCheck > value; break;
448 default: break;
449 }
450
451
452 bool changed = false;
453
454 switch (action)
455 {
456 case SHOW:
457 changed = target->hideInEditor == depIsOk;
458 target->hideInEditor = !depIsOk;
459 break;
460
461 case ENABLE:
462 changed = target->enabled == !depIsOk;
463 target->setEnabled(depIsOk);
464 break;
465 default: break;
466 }
467
468 return changed;
469}

Callers 2

processDependenciesMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected