using UnityEngine;
using System.Collections;

public abstract class Dialog
{
    public Speech[] Speeches { get; private set; }
    public System.Type mFollowingChoice;

    protected abstract Speech[] GetSpeeches();
    protected abstract System.Type GetFollowingChoice();

    public Dialog()
    {
        Speeches = GetSpeeches();
        mFollowingChoice = GetFollowingChoice();
        Util.AssertTrue(mFollowingChoice == null ||  Util.GetSubclasses<MultipleChoices>(true).Contains(mFollowingChoice), "Not a MultipleChoices class: " + mFollowingChoice);
    }
}