public GameStateBuilder <TContext> ThenGoToState(string stateName) { BuildingActions.Add(x => { var ck = CurrentProduct; ck.TargetStateName = stateName; }); return(_Parent); }
public GameStateBuilder <TContext> ThenDo(Action <TContext> changingAction) { BuildingActions.Add(x => { var ck = CurrentProduct; ck.ChangeActions.Add(new ContextDataChangeAction <TContext>() { ChangingAction = changingAction }); }); return(_Parent); }
public ContextDataChangeCheckerBuilder <TContext> HasCheckerForContextDataChange(Func <TContext, bool> checkLogic) { var bd = new ContextDataChangeCheckerBuilder <TContext>(this); BuildingActions.Add(x => { var ck = bd.CurrentProduct; ck.CheckContextFunction = checkLogic; }); return(bd); }