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 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; }