namespace CMSGame { public abstract class Planner where TContext : IGoalContext { public TContext Context; public Planner(TContext context) { Context = context; } public abstract Plan MakePlan(); } }