Qu3tzal / meuporg

Best #meuporg.
9 stars 1 forks source link

Ajout du composant bonus ou similaire #5

Closed Qu3tzal closed 6 years ago

Qu3tzal commented 6 years ago

Etudier et créer un composant du type bonus qui confère des bonus de points de vie, d'armure ou d'expérience ou autre.

Qu3tzal commented 6 years ago

Pour le composant bonus je propose :

Selon la valeur de l'énumération, la lambda sera appelée avec le/les composants nécessaires. Par exemple, pour un pack de soin rendant 75 HP :

Dans les fait, la lambda serait un peu plus complexe, car elle doit se baser sur le polymorphisme des composants.

    [](kantan::Component* component) {
        BasicStatsComponent* bsc = std::dynamic_cast<BasicStatsComponent*>(component);
        if(bsc == nullptr)
            return;

        bsc->hp = std::max(bsc->maxhp, hp + 75);
    }
Qu3tzal commented 6 years ago

Finalement, les bonus vont se limiter à des modifications des statistiques. Donc on peut faire un composant tout simple qui ne contient qu'une lambda à exécuter sur le composant de statistiques du joueur touché.