extends RefCounted class_name RdotNode var version := 0 var lastCleanEpoch := 0 var dirty := false ## Array[RdotNode] | null var producerNode = null ## Array[int] | null var producerLastReadVersion = null ## Array[int] | null var producerIndexOfThis = null var nextProducerIndex := 0 ## Array[RdotNode] | null var liveConsumerNode = null ## Array[int] | null var liveConsumerIndexOfThis = null var consumerAllowSignalWrites := false var consumerIsAlwaysLive := false var watched: Callable = Callable() var unwatched: Callable = Callable() var wrapper func producerMustRecompute(node: RdotNode) -> bool: return false var producerRecomputeValue: Callable = Callable() var consumerMarkedDirty: Callable = Callable() var consumerOnSignalRead: Callable = Callable() # func _to_string(): # return "RdotNode {\n" + ",\n\t".join(get_property_list().map(func(dict): return dict.name + ": " + str(get(dict.name)))) + "\n}"