refactor jokers to use struct and function pointer
This commit is contained in:
+9
-1
@@ -25,7 +25,6 @@
|
||||
#define RARE_JOKER 2
|
||||
#define LEGENDARY_JOKER 3
|
||||
|
||||
#define MAX_JOKERS 2 // The current maximum jokers added
|
||||
#define MAX_JOKER_OBJECTS 32 // The maximum number of joker objects that can be created at once
|
||||
|
||||
#define DEFAULT_JOKER_ID 0
|
||||
@@ -55,6 +54,15 @@ typedef struct // These jokers are triggered after the played hand has finished
|
||||
bool retrigger; // Retrigger played hand (e.g. "Dusk" joker, even though on the wiki it says "On Scored" it makes more sense to have it here)
|
||||
} JokerEffect;
|
||||
|
||||
typedef JokerEffect (*JokerEffectFunc)(Joker *joker, Card *scored_card);
|
||||
typedef struct {
|
||||
u8 rarity;
|
||||
u8 base_value;
|
||||
JokerEffectFunc effect;
|
||||
} JokerInfo;
|
||||
extern const JokerInfo joker_registry[];
|
||||
extern const size_t joker_registry_size;
|
||||
|
||||
void joker_init();
|
||||
|
||||
Joker *joker_new(u8 id);
|
||||
|
||||
Reference in New Issue
Block a user