19 lines
400 B
Odin
19 lines
400 B
Odin
package ecs
|
|
|
|
Signature :: bit_set[0..<COMPONENT_MAX]
|
|
|
|
signature_make :: proc() -> Signature {
|
|
return Signature{}
|
|
}
|
|
|
|
signature_set :: proc(signature: ^Signature, type: ComponentID) {
|
|
signature^ += {cast(int)type}
|
|
}
|
|
|
|
signature_unset :: proc(signature: ^Signature, type: ComponentID) {
|
|
signature^ -= {cast(int)type}
|
|
}
|
|
|
|
signature_clear :: proc(signature: ^Signature) {
|
|
signature^ = {}
|
|
}
|