Как бы вы реализовали принятие решений программой в pick'n'point игре?
Классами это все решать - это бросок самого себя через свое бедро... Убьешься, в общем.
Читай Шампандара, тебе нужен раздел деревьев поведения (Behavour Tree) и планировщика решений (Goal Planning).
Любое действие игрока - это триггер. Скапливаясь, или каждый сам по себе, триггеры влияют на внутреннюю память автомата. Автомат просто выполняет то действие, которое соответствует его текущей внутренней памяти.
Описание автомата лучше всего делать на скриптовом языке (LUA/Python embedded).
Каждый уровень - это лишь описание автомата в скрипте.
Сами действия. Куда то перейти итд... Это уже смотря как твоя сцена сделана. Это можно сделать как жесткой анимацией с именем (которую будет запускать автомат), так и с помощью подсистемы AI (в которую и будет отдавать указания все тот же автомат).
С такой организацией ты себе гору времени и нервов убережешь.
class click
{
 click back; //ссылка на предыдущее действие, я понимаю действия линейные и идут по цепочке
 click front1; //действие №1
 click front2; //действие №2
 private bool click (...)
 {
  if (f1)
  then....
  else
 ... 
 }
}
Не знаю ли донес суть. Пишу в очень сонном состоянии.