public void EquipItem(RunnerMod newMod, LeftOrRight leftOrRight) { switch (newMod.GetItemType()) { case Item.ItemTypes.Arm: if (leftOrRight == LeftOrRight.Left) { leftArm = newMod; } else if (leftOrRight == LeftOrRight.Right) { rightArm = newMod; } break; case Item.ItemTypes.Leg: if (leftOrRight == LeftOrRight.Left) { leftLeg = newMod; } else if (leftOrRight == LeftOrRight.Right) { rightLeg = newMod; } break; } }
public void EquipItem(RunnerMod newMod) { switch (newMod.GetItemType()) { case Item.ItemTypes.Arm: // TODO: DO THIS DIFFERENTLY IN AN OVERLOADED FUNCTION break; case Item.ItemTypes.Exoskeleton: exoskeletonMod = newMod; break; case Item.ItemTypes.Head: headMod = newMod; break; case Item.ItemTypes.Leg: // TODO: DO THIS DIFFERENTLY IN AN OVERLOADED FUNCTION WITH LEFT/RIGHT break; case Item.ItemTypes.Torso: torsoMod = newMod; break; case Item.ItemTypes.Weapon: weapon = newMod; 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; }