29 lines
746 B
C++
29 lines
746 B
C++
//
|
|
// Created by sebastian on 20.02.26.
|
|
//
|
|
|
|
#ifndef DICEWARS_SIEDLER_UPGRADECOMPONENT_H
|
|
#define DICEWARS_SIEDLER_UPGRADECOMPONENT_H
|
|
#include "../../../../engine/core/ECS/Component.h"
|
|
|
|
|
|
|
|
class UpgradeComponent : public Component {
|
|
public:
|
|
UpgradeComponent(int currentLevel = 1, int maxLevel = 1): currentLevel(currentLevel), maxLevel(maxLevel) {}
|
|
|
|
[[nodiscard]] int getCurrentLevel() const {return currentLevel;}
|
|
[[nodiscard]] int getMaxLevel() const {return maxLevel;}
|
|
|
|
[[nodiscard]] bool canUpgrade() const {return currentLevel < maxLevel;}
|
|
void upgrade() {currentLevel++;}
|
|
void setMaxLevel(int maxLevel);
|
|
|
|
public:
|
|
private:
|
|
int currentLevel = 1;
|
|
int maxLevel = 1;
|
|
};
|
|
|
|
|
|
#endif //DICEWARS_SIEDLER_UPGRADECOMPONENT_H
|