private List <HackerModChip> AddItemsToInventoryToFillEmptySlots(Item.ItemTypes chipType, int amountToCreate) { List <HackerModChip> installs = new List <HackerModChip>(); PlayerData playerData = FindObjectOfType <PlayerData>(); for (int i = 0; i < amountToCreate; i++) { switch (chipType) { case Item.ItemTypes.Wetware: HackerModChip newWetware = CreateInstance <HackerModChip>(); newWetware.SetupChip("JuryRigged QwikThink"); installs.Add(newWetware); playerData.AddToOwnedItems(newWetware); break; case Item.ItemTypes.Software: HackerModChip newSoftware = CreateInstance <HackerModChip>(); newSoftware.SetupChip("Cheap Ghost"); installs.Add(newSoftware); playerData.AddToOwnedItems(newSoftware); break; case Item.ItemTypes.Chipset: HackerModChip newChipset = CreateInstance <HackerModChip>(); newChipset.SetupChip("Salvaged Router"); installs.Add(newChipset); playerData.AddToOwnedItems(newChipset); break; } } return(installs); }
public void SetupInitialLoadout(int newHackerId) { hackerId = newHackerId; switch (hackerId) { case 0: rig = CreateInstance <HackerMod>(); rig.SetupMod("Basic Rig"); HackerModChip newSoftware = CreateInstance <HackerModChip>(); newSoftware.SetupChip("Cheap Ghost"); rig.InstallChip(newSoftware, 0); neuralImplant = CreateInstance <HackerMod>(); neuralImplant.SetupMod("Basic Cranial Dock"); HackerModChip newWetware = CreateInstance <HackerModChip>(); newWetware.SetupChip("JuryRigged QwikThink"); neuralImplant.InstallChip(newWetware, 0); uplink = CreateInstance <HackerMod>(); uplink.SetupMod("Basic Uplink"); HackerModChip newChipset = CreateInstance <HackerModChip>(); newChipset.SetupChip("Salvaged Router"); uplink.InstallChip(newChipset, 0); break; } }
private HackerModChip CreateEmptyInstall() { HackerModChip emptyInstall = CreateInstance <HackerModChip>(); emptyInstall.SetupChip("Empty"); FindObjectOfType <PlayerData>().GetItemId(); return(emptyInstall); }
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; }