summaryrefslogtreecommitdiff
path: root/modules/dlscript/godot/godot_rid.cpp
blob: a36a2e64a3a581b936438cf8d271fb8445bb6afa (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 "godot_rid.h"

#include "object.h"
#include "resource.h"

#ifdef __cplusplus
extern "C" {
#endif

void _rid_api_anchor() {
}

void GDAPI godot_rid_new(godot_rid *p_rid, godot_object *p_from) {

	Resource *res_from = ((Object *)p_from)->cast_to<Resource>();

	RID *rid = (RID *)p_rid;
	memnew_placement(rid, RID);

	if (res_from) {
		*rid = RID(res_from->get_rid());
	}
}

uint32_t GDAPI godot_rid_get_rid(const godot_rid *p_rid) {
	RID *rid = (RID *)p_rid;
	return rid->get_id();
}

void GDAPI godot_rid_destroy(godot_rid *p_rid) {
	((RID *)p_rid)->~RID();
}

#ifdef __cplusplus
}
#endif