private void Multiply_Sekiro(List <Enemy_Sekiro> originalEntries, List <Enemy_Sekiro> randomizableEntries, List <EnemyWrapper_Sekiro> associatedWrappers) { for (int i = randomizableEntries.Count - 1; i > -1; i--) { for (int j = 1; j < _multiplier; j++) { Enemy_Sekiro clone = randomizableEntries[i].Clone(); originalEntries.Add(clone); randomizableEntries.Add(clone); associatedWrappers.Add(clone.GetWrapper <EnemyWrapper_Sekiro, Enemy_Sekiro>()); } } }
public static T Clone <T>(this T entry) where T : class { if (typeof(T) == typeof(DS3Enemy)) { DS3Enemy enemy = entry as DS3Enemy; return(new DS3Enemy(enemy) { Name = enemy.Name + POSTFIX_CLONE } as T); } if (typeof(T) == typeof(SekiroEnemy)) { SekiroEnemy enemy = entry as SekiroEnemy; return(new SekiroEnemy(enemy) { Name = enemy.Name + POSTFIX_CLONE } as T); } throw new Exception("rua"); }