internal virtual void Advance(IAction activity) { Log.Add(""); Log.Add(CurrentSeason.ToString() + " " + _seasonList.Count() / 4); _seasonList.Add(activity); activity.Act(this); if (SeasonalAge >= 140) { Age(LongevityRitual); } switch (CurrentSeason) { case Season.Spring: CurrentSeason = Season.Summer; break; case Season.Summer: CurrentSeason = Season.Autumn; break; case Season.Autumn: CurrentSeason = Season.Winter; break; case Season.Winter: CurrentSeason = Season.Spring; break; } IsCollaborating = true; }
public virtual void Advance() { if (!IsCollaborating) { Log.Add(""); Log.Add(CurrentSeason.ToString() + " " + _seasonList.Count() / 4); IAction activity = DecideSeasonalActivity(); _seasonList.Add(activity); activity.Act(this); if (SeasonalAge >= 140) { Age(LongevityRitual); } switch (CurrentSeason) { case Season.Spring: CurrentSeason = Season.Summer; break; case Season.Summer: CurrentSeason = Season.Autumn; break; case Season.Autumn: CurrentSeason = Season.Winter; break; case Season.Winter: CurrentSeason = Season.Spring; break; } } IsCollaborating = false; ReprioritizeGoals(); }
public void Act(GameBoard.GameBoard gameBoard, IAction action) { if (!IsAlive) { return; } action.Act(this, gameBoard); }
public virtual void CommitAction(IAction action) { _seasonList.Add(action); action.Act(this); if (SeasonalAge >= 140) { Age(LongevityRitual); } }
public void AddAction(IAction action) { runningActions.Add(action); if (!action.IsActing) { action.Act(); } }
public bool Act(T context) { if (mapFunction == null) { return(true); } var value = mapFunction.Invoke(context); return(delegateAction.Act(value)); }
public void RunBufferedAction() { if (bufferedAction != null) { if (EntityHasControl) { actionRunning = true; bufferedAction.OnActionDone.AddListener(OnActionDone); bufferedAction.Act(); } bufferedAction = null; } }
public void Pay(Player player, IOcupant ocupant) { Action.Act(player, ocupant); }
public static GameState Reduce(GameState gameState, IAction <GameState> action) => action.Act(gameState);
public void UseAction(IAction action, GameObject user, GameObject target) { action.Act(target); }