Class GraphUpdateProcessor

Public

Inner Types

Holds a single update that needs to be performed on a graph.

Public Methods

AddToQueue (ob)

Update all graphs using the GraphUpdateObject.

Public
DisableMultithreading ()
Public
EnableMultithreading ()
Public
FloodFill ()

Floodfills all graphs and updates areas for every node.

Public
FloodFill (seed)

Floodfills starting from the specified node.

Public
FloodFill (seed, area)

Floodfills starting from 'seed' using the specified area.

Public
GetWorkItem ()

Work item which can be used to apply all queued updates.

Public
GraphUpdateProcessor (astar)
Public

Public Variables

IsAnyGraphUpdateInProgress

Returns if any graph updates are in progress.

Public
IsAnyGraphUpdateQueued

Returns if any graph updates are waiting to be applied.

Public

Public Events

OnGraphsUpdated
Public

Private/Protected Members

anyGraphUpdateInProgress

Used for IsAnyGraphUpdateInProgress.

Private
astar

Holds graphs that can be updated.

Private Readonly
asyncGraphUpdatesComplete
Private Readonly
exitAsyncThread
Private Readonly
graphUpdateAsyncEvent
Private Readonly
GraphUpdateOrder

Order type for updating graphs.

Private
graphUpdateQueue

Queue containing all waiting graph update queries.

Private Readonly
graphUpdateQueueAsync

Queue of all async graph updates waiting to be executed.

Private Readonly
graphUpdateQueuePost

Queue of all non-async graph update post events waiting to be executed.

Private Readonly
graphUpdateQueueRegular

Queue of all non-async graph updates waiting to be executed.

Private Readonly
graphUpdateThread

Reference to the thread which handles async graph updates.

Private
lastUniqueAreaIndex

The last area index which was used.

Private
ProcessGraphUpdates (force)

Updates graphs.

Private
ProcessGraphUpdatesAsync ()

Graph update thread.

Private
ProcessPostUpdates ()
Private
ProcessRegularUpdates (force)
Private
QueueGraphUpdatesInternal ()

Schedules graph updates internally.

Private
StartAsyncUpdatesIfQueued ()

Signal the graph update thread to start processing graph updates if there are any in the graphUpdateQueueAsync queue.

Private