Make creation of new skills more generic
This commit is contained in:
@@ -75,47 +75,32 @@ KartStatsWidget::KartStatsWidget(core::recti area, const int player_id,
|
||||
}
|
||||
|
||||
|
||||
const int offset = (m_h - (SKILL_COUNT*m_skill_bar_h)) / 2;;
|
||||
for (int i = 0; i < SKILL_COUNT; ++i)
|
||||
{
|
||||
irr::core::recti skillArea(m_skill_bar_x, m_skill_bar_y + offset*i,
|
||||
m_skill_bar_x + m_skill_bar_w,
|
||||
m_skill_bar_y + offset*i + m_skill_bar_h);
|
||||
|
||||
// ---- Mass skill level widget
|
||||
irr::core::recti massArea(m_skill_bar_x, m_skill_bar_y,
|
||||
m_skill_bar_x + m_skill_bar_w,
|
||||
m_skill_bar_y + m_skill_bar_h);
|
||||
SkillLevelWidget* skill_bar = NULL;
|
||||
SkillLevelWidget* skill_bar = NULL;
|
||||
|
||||
skill_bar = new SkillLevelWidget(massArea, m_player_id,
|
||||
(int) props->getMass()/10, "Weight");
|
||||
skill_bar->m_properties[PROP_ID] = StringUtils::insertValues("@p%i_mass", m_player_id);
|
||||
skill_bar = new SkillLevelWidget(skillArea, m_player_id);
|
||||
|
||||
m_skills.push_back(skill_bar);
|
||||
m_children.push_back(skill_bar);
|
||||
m_skills.push_back(skill_bar);
|
||||
m_children.push_back(skill_bar);
|
||||
}
|
||||
|
||||
// ---- Speed skill level widget
|
||||
irr::core::recti speedArea(m_skill_bar_x, m_skill_bar_y - m_skill_bar_h - 10,
|
||||
m_skill_bar_x + m_skill_bar_w,
|
||||
m_skill_bar_y + 10);
|
||||
m_skills[SKILL_MASS]->setValue(props->getMass()/10);
|
||||
m_skills[SKILL_MASS]->setLabel("Weight");
|
||||
m_skills[SKILL_MASS]->m_properties[PROP_ID] = StringUtils::insertValues("@p%i_mass", m_player_id);
|
||||
|
||||
skill_bar = NULL;
|
||||
m_skills[SKILL_ACCEL]->setValue(props->getTrackConnectionAccel()/10);
|
||||
m_skills[SKILL_ACCEL]->setLabel("Accel");
|
||||
m_skills[SKILL_ACCEL]->m_properties[PROP_ID] = StringUtils::insertValues("@p%i_accel", m_player_id);
|
||||
|
||||
skill_bar = new SkillLevelWidget(speedArea, m_player_id,
|
||||
(int) props->getMaxSpeed()/10, "Speed");
|
||||
skill_bar->m_properties[PROP_ID] = StringUtils::insertValues("@p%i_speed", m_player_id);
|
||||
|
||||
m_skills.push_back(skill_bar);
|
||||
m_children.push_back(skill_bar);
|
||||
|
||||
// ---- Acceleration skill level widget
|
||||
irr::core::recti accelArea(m_skill_bar_x, m_skill_bar_y + m_skill_bar_h + 10,
|
||||
m_skill_bar_x + m_skill_bar_w,
|
||||
m_skill_bar_y + 2*m_skill_bar_y + 10);
|
||||
|
||||
skill_bar = NULL;
|
||||
|
||||
skill_bar = new SkillLevelWidget(accelArea, m_player_id,
|
||||
(int) props->getTrackConnectionAccel()/10, "Accel");
|
||||
skill_bar->m_properties[PROP_ID] = StringUtils::insertValues("@p%i_accel", m_player_id);
|
||||
|
||||
m_skills.push_back(skill_bar);
|
||||
m_children.push_back(skill_bar);
|
||||
m_skills[SKILL_SPEED]->setValue(props->getMaxSpeed()/10);
|
||||
m_skills[SKILL_SPEED]->setLabel("Speed");
|
||||
m_skills[SKILL_SPEED]->m_properties[PROP_ID] = StringUtils::insertValues("@p%i_speed", m_player_id);
|
||||
|
||||
} // KartStatsWidget
|
||||
|
||||
|
||||
@@ -136,7 +136,7 @@ void SkillLevelWidget::setSize(const int x, const int y, const int w, const int
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
void SkillLevelWidget::setValue(int value)
|
||||
void SkillLevelWidget::setValue(const int value)
|
||||
{
|
||||
m_bar->setValue(value);
|
||||
|
||||
@@ -144,3 +144,8 @@ void SkillLevelWidget::setValue(int value)
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
void SkillLevelWidget::setLabel(const irr::core::stringw& label)
|
||||
{
|
||||
m_label->setText(label, false);
|
||||
}
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ class SkillLevelWidget : public Widget
|
||||
ProgressBarWidget* m_bar;
|
||||
|
||||
SkillLevelWidget(core::recti area, const int player_id,
|
||||
const int value, const irr::core::stringw& label);
|
||||
const int value = 0, const irr::core::stringw& label = "default");
|
||||
virtual ~SkillLevelWidget() {};
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
@@ -81,10 +81,14 @@ class SkillLevelWidget : public Widget
|
||||
void setSize(const int x, const int y, const int w, const int h);
|
||||
|
||||
/** Change the value of the widget, it must be a percent. */
|
||||
void setValue(int value);
|
||||
void setValue(const int value);
|
||||
|
||||
/** Get the current values of the widget. */
|
||||
int getValue() {return m_bar->getValue(); };
|
||||
|
||||
/** Change the label of the widget */
|
||||
void setLabel(const irr::core::stringw& label);
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user