Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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));
        }