private EntityRulesViewModel(string name, IEnumerable <EffectViewModelBase> preBattleEffects, IEnumerable <EffectViewModelBase> postBattleEffects, IEnumerable <EffectViewModelBase> preTurnEffects, IEnumerable <EffectViewModelBase> postTurnEffects, ConditionViewModelBase eliminationCondition, IEnumerable <ActionViewModel> actions, IEnumerable <ResultViewModel> results, ActionMatrixViewModel actionMatrix, StringLookupViewModel stringLookup) { m_name = name; m_eliminationCondition = eliminationCondition; m_selectedRule = new TreeNodeViewModel <LabeledViewModelBase>("", Enumerable.Empty <LabeledViewModelBase>()); m_preBattleEffectsNode = new TreeNodeViewModel <EffectViewModelBase>(OurResources.PreBattleEffectsNodeLabel, preBattleEffects); m_postBattleEffectsNode = new TreeNodeViewModel <EffectViewModelBase>(OurResources.PostBattleEffectsNodeLabel, postBattleEffects); m_preTurnEffectsNode = new TreeNodeViewModel <EffectViewModelBase>(OurResources.PreTurnEffectsNodeLabel, preTurnEffects); m_postTurnEffectsNode = new TreeNodeViewModel <EffectViewModelBase>(OurResources.PostTurnEffectsNodeLabel, postTurnEffects); m_actionsNode = new TreeNodeViewModel <ActionViewModel>(OurResources.ActionsNodeLabel, actions); m_resultsNode = new TreeNodeViewModel <ResultViewModel>(OurResources.ResultsNodeLabel, results); Rules = new List <TreeNodeViewModelBase> { m_preBattleEffectsNode, m_preTurnEffectsNode, m_postTurnEffectsNode, m_postBattleEffectsNode, m_actionsNode, m_resultsNode, }; ActionMatrix = actionMatrix; StringLookup = stringLookup; }
public static EntityRulesViewModel CreateFromData(EntityRules entity) { var stringLookup = StringLookupViewModel.CreateFromData(entity.StringLookup); var preBattleEffects = entity.PreBattleEffects.Select(EffectViewModelBase.CreateFromData); var postBattleEffects = entity.PostBattleEffects.Select(EffectViewModelBase.CreateFromData); var preTurnEffects = entity.PreTurnEffects.Select(EffectViewModelBase.CreateFromData); var postTurnEffects = entity.PostTurnEffects.Select(EffectViewModelBase.CreateFromData); var eliminationCondition = ConditionViewModelBase.CreateFromData(entity.EliminationCondition); var actions = entity.Actions.Select(x => ActionViewModel.CreateFromData(x, stringLookup)); var results = entity.Results.Select(x => ResultViewModel.CreateFromData(x, stringLookup)); var actionMatrix = ActionMatrixViewModel.CreateFromData(entity.ActionMatrix.Values); return(new EntityRulesViewModel(entity.Name, preBattleEffects, postBattleEffects, preTurnEffects, postTurnEffects, eliminationCondition, actions, results, actionMatrix, stringLookup)); }