naev 0.12.6
event.h
1/*
2 * See Licensing and Copyright notice in naev.h
3 */
4#pragma once
5
6#include "claim.h"
7#include "nlua.h"
8
12typedef struct Event_s {
13 unsigned int id;
14 int data;
15 nlua_env env;
16 int save;
17 Claim_t *claims;
18} Event_t;
19
23typedef enum EventTrigger_s {
24 EVENT_TRIGGER_NULL = -1,
25 EVENT_TRIGGER_NONE = 0,
26 EVENT_TRIGGER_ENTER,
27 EVENT_TRIGGER_LAND,
28 EVENT_TRIGGER_LOAD
29} EventTrigger_t;
30
31/*
32 * Loading/exiting.
33 */
34int events_load( void );
35void events_exit( void );
36void events_cleanup( void );
37void event_checkValidity( void );
38int event_reload( const char *name );
39
40/*
41 * Triggering.
42 */
43int event_start( const char *name, unsigned int *id );
44void events_trigger( EventTrigger_t trigger );
45
46/*
47 * Handling.
48 */
49Event_t *event_get( unsigned int eventid );
50void event_remove( unsigned int eventid );
51int event_save( unsigned int eventid );
52const char *event_getData( unsigned int eventid );
53int event_isUnique( unsigned int eventid );
54
55/*
56 * Data.
57 */
58int event_dataID( const char *evdata );
59const char *event_dataName( int dataid );
60
61/*
62 * Claims.
63 */
64void event_activateClaims( void );
65int event_testClaims( unsigned int eventid, int sys );
66
67/*
68 * Misc.
69 */
70int event_alreadyRunning( int data );
71void event_toLuaTable( lua_State *L, int eventid );
int event_start(const char *name, unsigned int *id)
Starts an event.
Definition event.c:123
const char * event_dataName(int dataid)
Gets the event data name from id.
Definition event.c:781
void events_exit(void)
Exits the event subsystem.
Definition event.c:749
int event_alreadyRunning(int data)
Check to see if an event is already running.
Definition event.c:302
const char * event_getData(unsigned int eventid)
Gets the name of the event data.
Definition event.c:145
void event_remove(unsigned int eventid)
Removes an event by ID.
Definition event.c:268
Event_t * event_get(unsigned int eventid)
Gets an event.
Definition event.c:104
void events_cleanup(void)
Cleans up and removes active events.
Definition event.c:737
int event_dataID(const char *evdata)
Gets the event data id from name.
Definition event.c:766
int event_save(unsigned int eventid)
Checks to see if an event should be saved.
Definition event.c:289
int event_isUnique(unsigned int eventid)
Checks to see if an event is unique.
Definition event.c:159
int events_load(void)
Loads all the events.
Definition event.c:567
void event_activateClaims(void)
Activates all the active event claims.
Definition event.c:789
void event_checkValidity(void)
Checks the event validity and cleans up after them.
Definition event.c:814
void events_trigger(EventTrigger_t trigger)
Runs all the events matching a trigger.
Definition event.c:319
int event_testClaims(unsigned int eventid, int sys)
Tests to see if an event has claimed a system.
Definition event.c:800
Activated event structure.
Definition event.h:12
unsigned int id
Definition event.h:13
int save
Definition event.h:16
int data
Definition event.h:14
nlua_env env
Definition event.h:15
Claim_t * claims
Definition event.h:17