예제 #1
0
        public void Awake()
        {
            LogCore.logger = Logger;

            Assets.PopulateAssets();
            Assets.ApplyShaders();

            cfgFile = new ConfigFile(Path.Combine(Paths.ConfigPath, ModGuid + ".cfg"), true);

            LogCore.LogD("Adding Monsters...");

            /*
             * masterMonsterList = T2Module.InitAll<MonsterBoilerplate>(new T2Module.ModInfo
             * {
             *  displayName = "ForgottenFoes",
             *  longIdentifier = "ForgottenFoes",
             *  shortIdentifier = "FF",
             *  mainConfigFile = cfgFile
             * });
             * T2Module.SetupAll_PluginAwake(masterMonsterList);*/
            var ItemTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EnemyBuilderNew)));

            foreach (var itemType in ItemTypes)
            {
                EnemyBuilderNew item = (EnemyBuilderNew)System.Activator.CreateInstance(itemType);

                LogCore.LogI(item);
                if (ValidateEnemy(item, enemies))
                {
                    item.Create(cfgFile);
                }
            }
            LogCore.LogD("Adding Monsters Complete.");
        }
예제 #2
0
        internal bool ValidateEnemy(EnemyBuilderNew item, List <EnemyBuilderNew> itemList)
        {
            var enabled = Config.Bind <bool>("Item: " + item.MonsterName, "Enable Item?", true, "Should this item appear in runs?").Value;

            if (enabled)
            {
                itemList.Add(item);
            }
            return(enabled);
        }