Custom entity fields, @Hide for entity member UI, queue

This commit is contained in:
2024-12-16 23:37:12 +01:00
parent 36c6bc5fe7
commit 07dbdcfe2c
5 changed files with 77 additions and 5 deletions

View File

@@ -90,6 +90,8 @@ Entity :: struct {
_locator: Bucket_Locator; @DontSerialize
scene: *Scene; @DontSerialize
using custom_fields: Custom_Entity_Fields;
}
add_child :: (e: *Entity, child: *Entity, node_name: string = "") {

View File

@@ -37,9 +37,9 @@ Vector2i :: struct {
}
Vector3i :: struct {
x: s32;
y: s32;
z: s32;
x: int;
y: int;
z: int;
}
Color :: #type,isa Vector4;

30
core/queue.jai Normal file
View File

@@ -0,0 +1,30 @@
Queue :: struct(Value_Type : Type) {
count: s64;
values: [..] Value_Type;
}
enqueue :: (queue: *Queue, value: queue.Value_Type) {
array_add(*queue.values, value);
queue.count = queue.values.count;
}
dequeue :: (queue: *Queue) -> queue.Value_Type {
val : queue.Value_Type;
if queue.values.count > 0 {
val = queue.values[0];
if queue.values.count > 1 {
memcpy(*queue.values.data[0], *queue.values.data[1], (queue.values.count - 1) * size_of(queue.Value_Type));
}
queue.values.count -= 1;
queue.count = queue.values.count;
}
return val;
}
is_queue_empty :: (queue: Queue) -> bool {
return queue.count == 0;
}