package ru.dbotthepony.mc.otm.graph.matter

import ru.dbotthepony.mc.otm.capability.matter.*

interface IMatterGraphListener {
	fun onPatternAdded(state: IPatternState) {}
	fun onPatternRemoved(state: IPatternState) {}
	fun onPatternUpdated(newState: IPatternState, oldState: IPatternState) {}

	fun onMatterTaskCreated(task: IReplicationTask<*>) {}
	fun <T : IReplicationTask<*>> onMatterTaskUpdated(newState: T, oldState: T) {}
	fun onMatterTaskFinished(state: IReplicationTask<*>) {}
	fun onMatterTaskRemoved(state: IReplicationTask<*>) {}
}
