Esempio n. 1
0
    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;
        }
    }
Esempio n. 2
0
    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;
    }