示例#1
0
        public static void InjectCustomEnemies(EnemyPopulationDataBlock __instance)
        {
            if (!injected)
            {
                Il2CppSystem.Collections.Generic.List <EnemyRoleData> customRoles = new Il2CppSystem.Collections.Generic.List <EnemyRoleData>();

                customRoles.Add(CreateCustomData(eEnemyRoleDifficulty.MiniBoss, eEnemyRole.Lurker, 6, 35, 2));
                customRoles.Add(CreateCustomData(eEnemyRoleDifficulty.MiniBoss, eEnemyRole.Melee, 10, 39, 1));
                foreach (EnemyRoleData data in __instance.RoleDatas)
                {
                    customRoles.Add(data);
                }
                __instance.RoleDatas = customRoles;
                injected             = true;
            }
        }
示例#2
0
        public static void SetupData(EnemyPopulationDataBlock __instance)
        {
            if (enemyTypes == null)
            {
                enemyTypes = new List <pAvailableEnemyTypes>();
            }

            foreach (Il2CppSystem.Collections.Generic.List <EnemyRoleData> data in __instance.m_enemyDataPerRoleAndDiff.Values)
            {
                foreach (EnemyRoleData data1 in data)
                {
                    if (!validRoles.Contains(data1.Role))
                    {
                        continue;
                    }
                    pAvailableEnemyTypes enemyData = new pAvailableEnemyTypes(
                        data1.Enemy, data1.Cost, data1.Difficulty, data1.Role, data1.Weight);
                    enemyTypes.Add(enemyData);

                    LoggerWrapper.Log(enemyData.ToString());
                }
            }
        }
示例#3
0
 static void Prefix(EnemyPopulationDataBlock __instance)
 {
     EnemyDataBlockGroupInjector.InjectCustomEnemies(__instance);
 }