package loupsgarous;

import java.util.ArrayList;
import java.util.List;

public class Role { // II.a
	private List<Behavior> behaviors; // III.c
	private Engine engine; //I.a
	
	public Role(Engine engine) { // II.a
		this.engine = engine; // II.a
		behaviors = new ArrayList<Behavior>(); // III.c
	}
	
	public void attach(int step, Behavior b) { // III.d
		while(behaviors.size() <= step) // III.d
			behaviors.add(null); // III.d
		behaviors.set(step, b); // III.d
	}
	
	public void execute(int step, String player) { // II.a
		System.out.println("  " + player + " joue l'étape " + step); // II.a
		if(step < behaviors.size()) { // III.f
			Behavior b = behaviors.get(step); // III.f
			if(b != null) // III.f
				b.execute(engine, player); // III.f
		}
	}
}
