blob: 10e3fc92a58fce0dc2a6cb674b2603b385a1d73d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
#include <raylib.h>
#include <stdlib.h>
#include "scenes.h"
#include "../resources/resources.h"
typedef struct {
Puzzle *PuzzlePtr;
} puzzleSceneData;
bool updatePuzzleScene(void *self) {
return true;
}
Vector2 PuzzleNamePos = { .x = 0, .y = 0 };
bool drawPuzzleScene(void *self) {
puzzleSceneData *data = ((Scene *)self)->data;
ClearBackground(SKYBLUE);
DrawTextEx(*GetMainFont(),
data->PuzzlePtr->Name,
PuzzleNamePos,
100, 1, BLACK);
return true;
}
void deinitPuzzleScene(void *self) {
TraceLog(LOG_INFO, "Deleting a puzzle scene");
free((puzzleSceneData *)((Scene *)self)->data);
free((Scene *)self);
}
Scene *CreatePuzzleScene(Puzzle *puzzle) {
Scene *outp = malloc(sizeof(Scene));
outp->Update = updatePuzzleScene;
outp->Draw = drawPuzzleScene;
outp->Deint = deinitPuzzleScene;
puzzleSceneData *data = malloc(sizeof(puzzleSceneData));
data->PuzzlePtr = puzzle;
outp->data = data;
return outp;
}
|