public static void RegisterTowerInInventory(ShopTowerDetailsModel details, string insertBefore, Il2CppSystem.Collections.Generic.List <TowerDetailsModel> allTowersInTheGame) { // get the tower details for the tower insertBefore and insert the new tower into the index towerBefore is at, shifting everything after it by 1 TowerDetailsModel towerAfter = allTowersInTheGame.ToArray().FirstOrDefault(tower => tower.towerId == insertBefore); allTowersInTheGame.Insert(allTowersInTheGame.IndexOf(towerAfter), details); }