示例#1
0
        private static void AddWeaponToRepository
            (IWeapnRepository repository, string weaponName, string weaponType, string weaponRarity)
        {
            IWeaponFactory weaponFactory = new WeaponFactory();

            repository.AddWeapon(weaponName, weaponFactory.CreateWeapon(weaponType, weaponRarity));
        }
示例#2
0
        private static void RemoveJemFromWeapon(IWeapnRepository repository, string weaponName, int index)
        {
            IWeaponUpgrade weaponToDowngrade = FindWeaponInRepository(repository, weaponName);


            weaponToDowngrade.RemoveJem(index);
        }
示例#3
0
        private static void AddJemToWeapon
            (IWeapnRepository repository, string weaponName, int index, string jemType, string jemClarity)
        {
            IWeaponUpgrade weaponToUpgrade = FindWeaponInRepository(repository, weaponName);
            IJemFactory    jemFactory      = new JemFactory();

            weaponToUpgrade.AddJem(index, jemFactory.CreateJem(jemType, jemClarity));
        }
示例#4
0
        private static IWeaponUpgrade FindWeaponInRepository(IWeapnRepository repository, string weaponName)
        {
            IWeapon weapon = repository
                             .Weapons
                             .FirstOrDefault(x => x.Key == weaponName)
                             .Value;

            return((IWeaponUpgrade)weapon);
        }
示例#5
0
        private static void PrintWeaponStatistics(IWeapnRepository repository, string weaponName)
        {
            IWeaponUpgrade weaponToPrint = FindWeaponInRepository(repository, weaponName);

            repository.PrintWeapon(weaponName);
        }