virtual void mainUpdate(double time) { for (auto e : _collection) { auto c = e->getComponent<Component::SpaceshipController>(); if (e->hasComponent<Component::Collision>()) { auto lol = e->getComponent<Component::Collision>(); std::cout << "lol" << std::endl; } updateComponent(e, c, time); } }
void Updater::run() { status = UPDATER_RUNNING; totalTasks = 0; for (int i = 0; i < components.size(); i++) { Launcher::Component *component = &components.getReference(i); if (component->canUpdate()) { totalTasks += 5; if (component->getName() == "launcher") { totalTasks = 5; startFirstTask(); if (updateComponent(*component)) { status = UPDATER_NEEDRESTART; } else { status = UPDATER_FAILED; } return; } } } startFirstTask(); for (int i = 0; i < components.size(); i++) { Launcher::Component *component = &components.getReference(i); if (component->canUpdate()) { if (!updateComponent(*component)) { status = UPDATER_FAILED; return; } } } status = UPDATER_FINISHED; }
static void updateComponent (ComponentBuilder& builder, const ValueTree& state) { if (Component* topLevelComp = builder.getManagedComponent()) { ComponentBuilder::TypeHandler* const type = builder.getHandlerForState (state); const String uid (getStateId (state)); if (type == nullptr || uid.isEmpty()) { // ..handle the case where a child of the actual state node has changed. if (state.getParent().isValid()) updateComponent (builder, state.getParent()); } else { if (Component* const changedComp = findComponentWithID (*topLevelComp, uid)) type->updateComponentFromState (changedComp, state); } } }
void Ctrl::bind(ComboBox *c) { comboBox = c; updateComponent(); c->addListener(this); c->addMouseListener(this, true); }
void Ctrl::bind(Button *b) { button = b; updateComponent(); b->addListener(this); b->addMouseListener(this, true); }
void Ctrl::bind(Slider *s) { slider = s; updateComponent(); s->addListener(this); s->addMouseListener(this, true); }