src/necsus/compiletime/componentDef

Types

ComponentDef = ref object
  node*: NimNode
  name*: string
  uniqueId*: uint16
  isAccessory*: bool
An individual component symbol within the ECS

Procs

proc `$`(def: ComponentDef): string {....raises: [], tags: [], forbids: [].}
Stringify a ComponentDef
proc `<`(a, b: ComponentDef): auto {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: ComponentDef): bool {....raises: [], tags: [], forbids: [].}
Compare two ComponentDef instances
proc addSignature(onto: var string; comp: ComponentDef) {....raises: [], tags: [],
    forbids: [].}
Generate a unique ID for a component
proc generateName(components: openArray[ComponentDef]): string {....raises: [],
    tags: [], forbids: [].}
Creates a name to describe the given components
proc hash(def: ComponentDef): Hash {....raises: [], tags: [], forbids: [].}
proc ident(def: ComponentDef): NimNode {....raises: [], tags: [], forbids: [].}
Stringify a ComponentDef
proc maxCapacity(errorSite: NimNode; components: auto): Option[NimNode]
Calculates the storage size required to store a list of components
proc newComponentDef(node: NimNode): ComponentDef {....raises: [], tags: [],
    forbids: [].}
Instantiate a ComponentDef
proc readableName(comp: ComponentDef): string {....raises: [], tags: [],
    forbids: [].}
Returns a human readable name for a node