示例#1
0
    private static IEnumerable <ChangeInfo> GetScenarioPokemonChangelist(IScenarioPokemonService beforeService, IScenarioPokemonService afterService)
    {
        List <ChangeInfo> changelist = new();

        PropertyInfo[] props = typeof(ScenarioPokemon).GetProperties().Where(i => i.PropertyType.IsValueType).ToArray();

        foreach (var scenario in EnumUtil.GetValues <ScenarioId>())
        {
            foreach (int i in beforeService.Retrieve((int)scenario).ValidIds())
            {
                var beforeObj = beforeService.Retrieve((int)scenario).Retrieve(i);
                var afterObj  = afterService.Retrieve((int)scenario).Retrieve(i);

                foreach (var prop in props)
                {
                    var beforeVal = prop.GetValue(beforeObj);
                    var afterVal  = prop.GetValue(afterObj);
                    if (!beforeVal.Equals(afterVal))
                    {
                        changelist.Add(new("ScenarioPokemon", $"Scenario_{scenario}_Id_{i}", prop.Name, beforeVal.ToString(), afterVal.ToString()));
                    }
                }
            }
        }

        return(changelist);
    }
示例#2
0
 public ScenarioPokemonServiceTests()
 {
     service = new ScenarioPokemonService(new ModInfo()
     {
         FolderPath = TestConstants.TestModFolder
     }, new Mock <IPokemonService>().Object);
 }
示例#3
0
 public ScenarioWarriorGridViewModel(IIdToNameService idToNameService, IScenarioPokemonService scenarioPokemonService, IPokemonService pokemonService, IAbilityService abilityService)
 {
     _scenarioPokemonService = scenarioPokemonService;
     _pokemonService         = pokemonService;
     _abilityService         = abilityService;
     WarriorItems            = idToNameService.GetComboBoxItemsExceptDefault <IBaseWarriorService>();
     KingdomItems            = idToNameService.GetComboBoxItemsPlusDefault <IKingdomService>();
 }
示例#4
0
    /// <summary>
    /// Load all the required stuff into memory
    /// </summary>
    private void Init(IServiceGetter services)
    {
        _moveService            = services.Get <IMoveService>();
        _moveRangeService       = services.Get <IMoveRangeService>();
        _pokemonService         = services.Get <IPokemonService>();
        _scenarioPokemonService = services.Get <IScenarioPokemonService>();
        _scenarioWarriorService = services.Get <IScenarioWarriorService>();

        _moveRangeService = services.Get <IMoveRangeService>();
    }
示例#5
0
    public override void Initialise(IServiceGetter modServices)
    {
        base.Initialise(modServices);
        _scenarioPokemonService = modServices.Get <IScenarioPokemonService>();
        var vm = modServices.Get <IScenarioWarriorViewModel>();

        _childScenarioWarriorService = _service.Retrieve(0);
        var innerSelector = new SelectorViewModel(_childScenarioWarriorService, vm, id => vm.SetModel((ScenarioId)_scenario, id, _childScenarioWarriorService.Retrieve(id)));

        _viewModel = new SelectorViewModelWithoutScroll(_service, innerSelector, id =>
        {
            _scenario = id;
            _childScenarioWarriorService = _service.Retrieve(id);
            innerSelector.SetDisplayItems(_childScenarioWarriorService.GetComboBoxItemsExceptDefault());
            vm.SetModel((ScenarioId)_scenario, innerSelector.Selected, _childScenarioWarriorService.Retrieve(innerSelector.Selected));
        });
    }