private StatsDifference CreateSummaryEffect(StateAction action) { StatsDifference result = new StatsDifference(); var differences = new[] { action.GetEffectBefore(), action.GetEffectDuring(), action.GetEffectAfter() }; foreach (StatsDifference difference in differences) { result.Plus(difference); } if (action.GetName() == PlayerActionType.GoToWork.ToString()) { result.SetMoney(State.State.GetStateItemValue <int>(StateItemType.MySalary.ToString())); } if (action.GetName() == PlayerActionType.PartnerGoesToWork.ToString()) { result.SetMoney(State.State.GetStateItemValue <int>(StateItemType.PartnerSalary.ToString())); } return(result); }