using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;

public class AutomataState {
	public int ttl = 1;
	public int karmaDelta = -1;
	public Queue<Seat> pending = new Queue<Seat>();
	public HashSet<Seat> visited = new HashSet<Seat>();
	public CharBase instigator;
	public AudioClip instigatorSound;

	public AutomataState Clone() {
		var a = new AutomataState();
		a.ttl = ttl;
		a.karmaDelta = karmaDelta;
		a.pending = new Queue<Seat>(pending);
		a.visited = new HashSet<Seat>(visited);
		a.instigator = instigator;
		a.instigatorSound = instigatorSound;
		return a;
	}

}

[Serializable]
public class AutomataConfig {
	public int ttl = 1;
	public int karmaDelta = -1;
	public int karmaDeltaDelta = 0;
}