private static IPolybianConfig GetInstance()
 {
     if (_polybianConfig == null)
     {
         _polybianConfig = SettingsLoader.LoadPolybianConfig();
     }
     return(_polybianConfig);
 }
        public BattleBannerController(IBMBSettings settings, IPolybianConfig polybianConfig, MissionType missionType)
        {
            _settings       = settings;
            _polybianConfig = polybianConfig;
            _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>();
            _polybianDict           = _polybianConfig.PolybianDict;
            _polybianIdCount        = new Dictionary <string, int>();
        }
Beispiel #3
0
        public BattleBannerAssignBehaviour(IBMBSettings settings, IPolybianConfig polybianConfig, MissionType missionType)
        {
            _controller           = new BattleBannerController(settings, polybianConfig, missionType);
            _dropBannerController = new DropBannerController(settings);
            _settings             = settings;
            _polybianConfig       = polybianConfig;

            // For battles, we don't want ranged units dropping banners because they had a bow
            _forbiddenWeapons = new HashSet <ItemObject.ItemTypeEnum>()
            {
                ItemObject.ItemTypeEnum.Arrows,
                ItemObject.ItemTypeEnum.Bolts,
                ItemObject.ItemTypeEnum.Bow,
                ItemObject.ItemTypeEnum.Crossbow
            };
        }
        public static IPolybianConfig InitializeTemplateList(this IPolybianConfig config)
        {
            config.PolybianUnits = new List <PolybianUnit>()
            {
                new PolybianUnit("imperial_infantryman", new List <string>()
                {
                    "3.0.111.1536.1536.756.764.0.0.0",
                    "3.1.111.1536.1536.756.764.0.0.0",
                    "3.2.111.1536.1536.756.764.0.0.0",
                    "3.3.111.1536.1536.756.764.0.0.0",
                    "3.4.111.1536.1536.756.764.0.0.0"
                }),
                new PolybianUnit("imperial_equite", new List <string>()
                {
                    "3.5.111.1536.1536.756.764.0.0.0",
                    "3.6.111.1536.1536.756.764.0.0.0",
                    "3.7.111.1536.1536.756.764.0.0.0",
                    "3.8.111.1536.1536.756.764.0.0.0",
                    "3.9.111.1536.1536.756.764.0.0.0"
                })
            };

            return(config);
        }
 public static IPolybianConfig Reload()
 {
     _polybianConfig = null;
     return(Instance);
 }