Пример #1
0
    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;
        }
    }
Пример #2
0
    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;
        }
    }
Пример #3
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;
    }