NKWFGTCM6HM35MAJAREANFQS76ALYOD7K6FT77X5HQPBCRAPXVRAC
export function updaterGenerator2Helper<T, W>(_dataObject: T, dataUpdater: UpdaterFn2<T, W>, wholeDataObject: W): UpdaterGeneratorType2<T, W> {
function updaterGenerator2Helper<T, W>(dataObject: T, dataUpdater: UpdaterFn2<T, W>): UpdaterGeneratorType2<T, W> {
updaters[key] = (updaterGenerator2Helper<T[typeof key], W>(dataObject[key], keyUpdater, wholeDataObject) as unknown as (typeof updaters)[typeof key]);
updaters[key] = (updaterGenerator2Helper<T[typeof key], W>(dataObject[key], keyUpdater) as unknown as (typeof updaters)[typeof key]);
export function updaterGenerator2<T>(dataObject: T, dataUpdater: UpdaterFn<T>): UpdaterGeneratorType2<T> {
const dataUpdater2 = (arg: UpdaterFnParam2<T, T>) => {
if (typeof arg === 'function') {
dataUpdater((prev) => {
export function updaterGenerator2<T>(dataObject: T, setState: UpdaterFn<T>): UpdaterGeneratorType2<T> {
const dataUpdater2 = (stateCallbackFunction: UpdaterFnParam2<T, T>) => {
if (typeof stateCallbackFunction === 'function') {
setState((prev: T) => {
/**
* Usage:
* class RenderedChunk {
* constructor(stateUpdaterQueue) {
* this.nodes = 0...10.map(i => new RenderedPointNode({texture, new NodeRef(i), stateUpdaterQueue}))
* // this.nodes[0].render({ some, stuff })
* this.nodes[0] should listen to gameState.playerUI.selectedPointNode and allocatedPointNodes, and
* updating gameState.playerUI.selectedPointNode or gameState.playerSave.allocatedPointNodes or their
* parents should trigger queueing of the rerender
* or rather, rerendering
* }
* }
*/