private void SetupSettings()
 {
     _settings = new TestSettings();
     _settings.SetDefaultSettings();
     _formationBanners = new TestFormations();
     _formationBanners.SetDefaultFormationSettings();
 }
Пример #2
0
        public BattleBannerAssignBehaviour(IBMBSettings settings, IBMBFormationBanners formationBannerSettings, MissionType missionType)
        {
            _controller              = new BattleBannerController(settings, formationBannerSettings, missionType);
            _dropBannerController    = new DropBannerController(settings);
            _settings                = settings;
            _formationBannerSettings = formationBannerSettings;

            // For battles, we don't want ranged units dropping banners because they had a bow
            _forbiddenWeapons = new HashSet <WeaponClass>()
            {
                WeaponClass.Arrow,
                WeaponClass.Bolt,
                WeaponClass.Bow,
                WeaponClass.Crossbow
            };

            _formationBanners = new Dictionary <FormationGroup, Banner>()
            {
                { FormationGroup.Infantry, new Banner(_formationBannerSettings.Infantry) },
                { FormationGroup.Ranged, new Banner(_formationBannerSettings.Ranged) },
                { FormationGroup.Cavalry, new Banner(_formationBannerSettings.Cavalry) },
                { FormationGroup.HorseArcher, new Banner(_formationBannerSettings.HorseArcher) },
                { FormationGroup.Skirmisher, new Banner(_formationBannerSettings.Skirmisher) },
                { FormationGroup.HeavyInfantry, new Banner(_formationBannerSettings.HeavyInfantry) },
                { FormationGroup.LightCavalry, new Banner(_formationBannerSettings.LightCavalry) },
                { FormationGroup.HeavyCavalry, new Banner(_formationBannerSettings.HeavyCavalry) }
            };
        }
 private static IBMBFormationBanners GetInstance()
 {
     if (_formationBanners == null)
     {
         _formationBanners = SettingsLoader.LoadBMBFormationBanners();
     }
     return(_formationBanners);
 }
 public static void CopyCodesTo(this IBMBFormationBanners from, IBMBFormationBanners to)
 {
     to.Infantry      = from.Infantry;
     to.Ranged        = from.Ranged;
     to.Cavalry       = from.Cavalry;
     to.HorseArcher   = from.HorseArcher;
     to.Skirmisher    = from.Skirmisher;
     to.HeavyInfantry = from.HeavyInfantry;
     to.LightCavalry  = from.LightCavalry;
     to.HeavyCavalry  = from.HeavyCavalry;
 }
Пример #5
0
        public BattleBannerController(IBMBSettings settings, IBMBFormationBanners formationBanners, MissionType missionType)
        {
            _settings         = settings;
            _formationBanners = formationBanners;
            _missionType      = missionType;

            _processedBySpec        = new Dictionary <string, Dictionary <TroopSpecialization, List <IBMBAgent> > >();
            _processedByFormation   = new Dictionary <string, Dictionary <FormationGroup, List <IBMBAgent> > >();
            _processedByTroop       = new Dictionary <string, Dictionary <IBMBCharacter, List <IBMBAgent> > >();
            _equippedBannersByParty = new Dictionary <string, int>();
            PopulateAllowedFormations();
        }
        public static IBMBFormationBanners SetDefaultFormationSettings(this IBMBFormationBanners formationBanners)
        {
            formationBanners.Infantry      = "1.111.111.1536.1536.756.764.1.0.0.301.116.116.700.700.764.764.0.0.225";
            formationBanners.Ranged        = "1.111.111.1536.1536.756.764.1.0.0.311.116.116.700.700.764.764.0.0.315";
            formationBanners.Cavalry       = "1.111.111.1536.1536.756.764.0.0.0.124.116.116.500.500.784.864.0.0.0.301.116.116.300.300.764.564.0.0.225";
            formationBanners.HorseArcher   = "1.111.111.1536.1536.756.764.0.0.0.124.116.116.500.500.784.864.0.0.0.311.116.116.300.300.764.564.0.0.315";
            formationBanners.Skirmisher    = "1.111.111.1536.1536.756.764.1.0.0.304.116.116.600.600.764.864.0.0.45.304.116.116.600.600.764.664.0.0.45.304.116.116.600.600.764.764.0.0.45";
            formationBanners.HeavyInfantry = "1.111.111.1536.1536.756.764.1.0.0.318.111.116.700.700.764.764.1.1.0.301.116.116.700.700.764.764.0.0.225";
            formationBanners.LightCavalry  = "1.111.111.1536.1536.756.764.0.0.0.124.116.116.500.500.784.864.0.0.0.304.116.116.300.300.764.614.0.0.315.304.116.116.300.300.764.514.0.0.315.304.116.116.300.300.764.564.0.0.315";
            formationBanners.HeavyCavalry  = "1.111.111.1536.1536.756.764.0.0.0.124.116.116.500.500.784.864.0.0.0.318.111.116.300.300.764.564.1.0.0.301.116.116.300.300.764.564.0.0.225";

            return(formationBanners);
        }
 public static IBMBFormationBanners Reload()
 {
     _formationBanners = null;
     return(Instance);
 }