This repository has been archived on 2022-05-21. You can view files and clone it, but cannot push or open issues or pull requests.
LEFTONE/core/loplayer/event.h
falsycat 84c3a02b9a [RELEASE] u22-v03
This version is submitted to U22 breau.
2020-09-14 00:00:00 +00:00

75 lines
1.4 KiB
C

#pragma once
#include <stdbool.h>
#include <stddef.h>
#include "util/math/vector.h"
#include "core/locommon/position.h"
#include "core/loentity/entity.h"
#include "core/loresource/music.h"
#include "core/loresource/set.h"
#include "core/loshader/set.h"
struct loplayer_event_t;
typedef struct loplayer_event_t loplayer_event_t;
typedef struct {
bool controlled;
/* You can return the control by assigning false. */
loentity_id_t controlled_by;
locommon_position_t area_pos;
vec2_t area_size;
bool cinescope;
bool hide_hud;
loresource_music_player_t* music;
} loplayer_event_param_t;
loplayer_event_t* /* OWNERSHIP */
loplayer_event_new(
loresource_set_t* res,
loshader_set_t* shaders
);
void
loplayer_event_delete(
loplayer_event_t* event /* OWNERSHIP*/
);
loplayer_event_param_t* /* NULLABLE */
loplayer_event_take_control(
loplayer_event_t* event,
loentity_id_t id
);
void
loplayer_event_abort(
loplayer_event_t* event
);
void
loplayer_event_draw(
const loplayer_event_t* event
);
const loplayer_event_param_t* /* NULLABLE */
loplayer_event_get_param(
const loplayer_event_t* event
);
void
loplayer_event_param_set_line(
loplayer_event_param_t* param,
const char* str,
size_t len
);
void
loplayer_event_param_release_control(
loplayer_event_param_t* param
);