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; } }
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()); } } }
static void Prefix(EnemyPopulationDataBlock __instance) { EnemyDataBlockGroupInjector.InjectCustomEnemies(__instance); }