public void SetupInitialLoadout(int newRunnerId) { runnerId = newRunnerId; switch (runnerId) { case 0: headMod = CreateInstance <RunnerMod>(); headMod.SetupMod("Human Eyes"); torsoMod = CreateInstance <RunnerMod>(); torsoMod.SetupMod("Unmodded Torso"); exoskeletonMod = CreateInstance <RunnerMod>(); exoskeletonMod.SetupMod("Human Skin"); leftArm = CreateInstance <RunnerMod>(); leftArm.SetupMod("Unmodded Arm"); rightArm = CreateInstance <RunnerMod>(); rightArm.SetupMod("Unmodded Arm"); leftLeg = CreateInstance <RunnerMod>(); leftLeg.SetupMod("Unmodded Leg"); rightLeg = CreateInstance <RunnerMod>(); rightLeg.SetupMod("Unmodded Leg"); weapon = CreateInstance <RunnerMod>(); weapon.SetupMod("Spanner"); break; } }
private void AttemptToCreateShopItems(List <string> itemNames) { // TODO: DO OBJECTS NEED TO BE DESTROYED??? List <Item> shopItems = new List <Item>(); foreach (string itemName in itemNames) { RunnerMod createAsRunnerMod = ScriptableObject.CreateInstance <RunnerMod>(); bool success = createAsRunnerMod.SetupMod(itemName); if (!success) { // Failed to create as a runner mod, try a hacker mod... HackerMod createAsHackerMod = ScriptableObject.CreateInstance <HackerMod>(); success = createAsHackerMod.SetupMod(itemName); if (!success) { // Failed to create as a hacker mod, try a hacker install... HackerModChip createAsHackerInstall = ScriptableObject.CreateInstance <HackerModChip>(); success = createAsHackerInstall.SetupChip(itemName); if (success) { // TODO: CREATE EXTRA COPIES TO ADD TO LIST shopItems.Add(createAsHackerInstall); } } else { shopItems.Add(createAsHackerMod); } } else { bool addToShop = true; if (createAsRunnerMod.GetItemType() == Item.ItemTypes.Arm || createAsRunnerMod.GetItemType() == Item.ItemTypes.Leg) { // If arm or leg, we need to count them List <Item> sameItems = ownedItems.FindAll(curentItem => createAsRunnerMod.GetItemName() == curentItem.GetItemName()); switch (sameItems.Count) { case 0: RunnerMod secondCopy = ScriptableObject.CreateInstance <RunnerMod>(); secondCopy.SetupMod(itemName); shopItems.Add(secondCopy); break; case 1: break; case 2: addToShop = false; break; } } if (addToShop) { shopItems.Add(createAsRunnerMod); } } } itemsForSale = shopItems; }