package secs
RemoveComponents1 :: proc(world: ^World, entity: Entity, $C: typeid) {
RemoveComponent(world, entity, C)
}
RemoveComponents2 :: proc(world: ^World, entity: Entity, $C1: typeid, $C2: typeid) {
RemoveComponents1(world, entity, C1)
RemoveComponent(world, entity, C2)
}
RemoveComponents3 :: proc(world: ^World, entity: Entity, $C1: typeid, $C2: typeid, $C3: typeid) {
RemoveComponents2(world, entity, C1, C2)
RemoveComponent(world, entity, C3)
}
RemoveComponents4 :: proc(
world: ^World,
entity: Entity,
$C1: typeid,
$C2: typeid,
$C3: typeid,
$C4: typeid,
) {
RemoveComponents3(world, entity, C1, C2, C3)
RemoveComponent(world, entity, C4)
}
RemoveComponents5 :: proc(
world: ^World,
entity: Entity,
$C1: typeid,
$C2: typeid,
$C3: typeid,
$C4: typeid,
$C5: typeid,
) {
RemoveComponents4(world, entity, C1, C2, C3, C4)
RemoveComponent(world, entity, C5)
}
RemoveComponents6 :: proc(
world: ^World,
entity: Entity,
$C1: typeid,
$C2: typeid,
$C3: typeid,
$C4: typeid,
$C5: typeid,
$C6: typeid,
) {
RemoveComponents5(world, entity, C1, C2, C3, C4, C5)
RemoveComponent(world, entity, C6)
}
RemoveComponents7 :: proc(
world: ^World,
entity: Entity,
$C1: typeid,
$C2: typeid,
$C3: typeid,
$C4: typeid,
$C5: typeid,
$C6: typeid,
$C7: typeid,
) {
RemoveComponents6(world, entity, C1, C2, C3, C4, C5, C6)
RemoveComponent(world, entity, C7)
}
RemoveComponents8 :: proc(
world: ^World,
entity: Entity,
$C1: typeid,
$C2: typeid,
$C3: typeid,
$C4: typeid,
$C5: typeid,
$C6: typeid,
$C7: typeid,
$C8: typeid,
) {
RemoveComponents7(world, entity, C1, C2, C3, C4, C5, C6, C7)
RemoveComponent(world, entity, C8)
}
RemoveComponents9 :: proc(
world: ^World,
entity: Entity,
$C1: typeid,
$C2: typeid,
$C3: typeid,
$C4: typeid,
$C5: typeid,
$C6: typeid,
$C7: typeid,
$C8: typeid,
$C9: typeid,
) {
RemoveComponents8(world, entity, C1, C2, C3, C4, C5, C6, C7, C8)
RemoveComponent(world, entity, C9)
}
RemoveComponents10 :: proc(
world: ^World,
entity: Entity,
$C1: typeid,
$C2: typeid,
$C3: typeid,
$C4: typeid,
$C5: typeid,
$C6: typeid,
$C7: typeid,
$C8: typeid,
$C9: typeid,
$C10: typeid,
) {
RemoveComponents9(world, entity, C1, C2, C3, C4, C5, C6, C7, C8, C9)
RemoveComponent(world, entity, C10)
}
RemoveComponents :: proc {
RemoveComponents1,
RemoveComponents2,
RemoveComponents3,
RemoveComponents4,
RemoveComponents5,
RemoveComponents6,
RemoveComponents7,
RemoveComponents8,
RemoveComponents9,
RemoveComponents10,
}