aboutsummaryrefslogtreecommitdiff
path: root/src/screens/infoScreen.h
blob: 071eea6c86a776da1f96db496c3bd00331dd19db (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
#include "gameCommon.h"
#include "entity.h"
#include "assets.h"

#ifndef INFO_SCREEN_H
#define INFO_SCREEN_H

#define ENTITY_USER_INFO_MSG_MAX 100
#define INFO_SCREEN_ENTITY_COUNT 7

typedef struct EntityUserInfo {
    EntityType type;
    AssetId assetId;
    float cameraDistance;
    char msg[ENTITY_USER_INFO_MSG_MAX];
} EntityUserInfo;

extern const EntityUserInfo infoScreenEntityInfo[INFO_SCREEN_ENTITY_COUNT];

typedef struct InfoScreen {
    Rectangle goBackButton;
    Camera3D camera;
    int currentEntity;

    Vector2 lastMouse;
    Quaternion rotation;
    bool resetMouse;

    float distances[ENTITY_USER_INFO_MSG_MAX];
} InfoScreen;

void initInfoScreen(Game * game);
void updateInfoScreen(Game * game);
void resizeInfoScreen(Game * game, InfoScreen * infoScreen);

#endif