void Button::setPropertyOverride(const std::string& _key, const std::string& _value) { /// @wproperty{Button, StateSelected, bool} Set state selected. if (_key == "StateSelected") setStateSelected(utility::parseValue<bool>(_value)); else if (_key == "ModeImage") setModeImage(utility::parseValue<bool>(_value)); else if (_key == "ImageResource") setImageResource(_value); else if (_key == "ImageGroup") setImageGroup(_value); else if (_key == "ImageName") setImageName(_value); else { Base::setPropertyOverride(_key, _value); return; } eventChangeProperty(this, _key, _value); }
void Player::setState(proto::Player p) { if (p_.ps != p.ps) { tics = 0; } tics++; p_ = p; setPosition(p_.pos); setFlipped(p_.o == proto::left); std::string image = "idle_1"; switch (p_.ps) { case proto::PlayerState::moving: image = "running_" + std::to_string(tics); if (tics >= 11) tics = 0; break; case proto::PlayerState::idle: break; case proto::PlayerState::shooting: image = "shooting_" + std::to_string(tics); if (tics >= 2) tics = 1; break; case proto::PlayerState::jumping: if (p.ps == proto::PlayerState::jumpingShooting) tics = 2; image = "jumping_" + std::to_string(tics); if (tics >= 3) tics = 2; break; case proto::PlayerState::jumpingShooting: image = "jumping_shooting_1"; if (tics >= 3) tics = 2; break; case proto::PlayerState::climbing: image = "climbing_1"; if (tics >= 10) image = "climbing_2"; if (tics >= 20) tics = 0; break; } setImageName("player/" + image + ".png"); }
void Enemy::setState(proto::Enemy e) { setPosition(e.pos); setImageName("enemies/bumby/idle_1.png"); }