Exemple #1
0
    public void Craft(CraftableObject c)
    {
        /*
         * HashSet<Resource> resourceSet = controller.GetComponent<BaseDataManager>().getResourceSet();
         * foreach (ResourceAmount r in c.recipe.resources) {
         *      if (!resourceSet.Contains(r.item) || getCount(r.item) < r.amount) {
         *              return;
         *      }
         * }
         */

        foreach (ResourceAmount r in c.recipe.resources)
        {
            controller.GetComponent <BaseDataManager>().RemoveResourceFromStorage(r.item, r.amount);
        }
        if (c is Item)
        {
            controller.GetComponent <BaseDataManager>().itemCounts[c.id]++;
        }
        else if (c is Weapon)
        {
            controller.GetComponent <BaseDataManager>().weaponCounts[c.id]++;
        }
        else if (c is Armor)
        {
            controller.GetComponent <BaseDataManager>().armorCounts[c.id]++;
        }
    }
 public void UpdateElements(CraftableObject craftableObject)
 {
     interactionText.text = GetInteractionString(craftableObject);
     for (int i = 0; i < craftableObject.salvage.Count; i++)
     {
         RectTransform rect = Instantiate(componentPrefab, componentContainer).GetComponent <RectTransform>();
         rect.localPosition = new Vector2(rect.localPosition.x, -15 * i);
     }
     canvasGroup.alpha = 1;
 }
 // Start is called before the first frame update
 void Start()
 {
     foreach (CraftableObject i in listOfObjects)
     {
         //listOfObjects.Add(Instantiate(i, new Vector3(x + offset,y,z),Quaternion.identity));
         CraftableObject temp = ScriptableObject.CreateInstance <CraftableObject>();
         listOfObjects.Add(temp);
         temp.objname = "Pull Value From Spreadsheet";
         //Add all info to your object.
         //Store it.
     }
     //listOfObjects.Add(Instantiate())
 }
 private void EquipToPlayer(CraftableObject c)
 {
     if (c is Equipment)
     {
         Equipment[] currEquipment = pController.GetComponent <BaseDataManager>().equipment;
         if (Array.Exists(currEquipment, element => element == c))
         {
             int idxToRemove = Array.IndexOf(currEquipment, c);
             currEquipment[idxToRemove] = null;
         }
         currEquipment[idxFocus] = c as Equipment;
     }
     else
     {
         pController.GetComponent <BaseDataManager>().equippedArmor = c as Armor;
     }
 }
Exemple #5
0
    private void UpdateRaycast()
    {
        RaycastHit hit;

        if (Physics.Raycast(transform.position, transform.forward, out hit))
        {
            CraftableObject craftableObject = hit.transform.GetComponent <CraftableObject>();
            if (craftableObject)
            {
                UserInterface.UpdateComponentHUD(craftableObject);
            }
            else
            {
                UserInterface.HideComponentHUD();
            }
        }
        else
        {
            UserInterface.HideComponentHUD();
        }
    }
    void Update()
    {
        if (pController != null && idxFocus >= 0 && idxFocus < 5)
        {
            co = pController.GetComponent <BaseDataManager>().equipment[idxFocus];
            if (co != null)
            {
                eImage.sprite = co.icon;
                Color slotColor = eImage.color;
                slotColor.a  = 1.0f;
                eImage.color = slotColor;
                eName.text   = co.name;
                eDesc.text   = co.description;
                switch (idxFocus)
                {
                case 0:
                    goto case 1;

                case 1:
                    effect1.text = "Power: " + (co as Gun).baseDamage.ToString();
                    effect2.text = "Ammo: " + (co as Gun).baseClipSize.ToString();
                    break;

                case 3:
                    effect1.text = "Power: " + (co as Grenade).baseDamage.ToString();
                    effect2.text = "Boom Time: " + (co as Grenade).baseDetonationTime.ToString() + " sec";
                    break;

                case 2:
                    effect1.text = "Power: " + (co as Melee).baseDamage.ToString();
                    effect2.text = "";
                    break;

                default:
                    break;                     // switch statements in C# are stupid
                }
                unEqButton.SetActive(true);
            }
            else
            {
                eImage.sprite = null;
                Color slotColor = eImage.color;
                slotColor.a  = 0.0f;
                eImage.color = slotColor;
                eName.text   = "Nothing equipped";
                eDesc.text   = "";
                effect1.text = "";
                effect2.text = "";
                unEqButton.SetActive(false);
            }
        }
        else if (pController != null && idxFocus == 5)
        {
            co = null;
            Armor a = pController.GetComponent <BaseDataManager>().equippedArmor;
            if (a != null)
            {
                eImage.sprite = a.icon;
                Color slotColor = eImage.color;
                slotColor.a  = 1.0f;
                eImage.color = slotColor;
                eName.text   = a.name;
                eDesc.text   = a.description;
                effect1.text = "";
                effect2.text = "";
                unEqButton.SetActive(true);
            }
            else
            {
                eImage.sprite = null;
                Color slotColor = eImage.color;
                slotColor.a  = 0.0f;
                eImage.color = slotColor;
                eName.text   = "Nothing equipped";
                eDesc.text   = "";
                effect1.text = "";
                effect2.text = "";
                unEqButton.SetActive(false);
            }
        }
    }
Exemple #7
0
 public void setCraftableObject(CraftableObject c)
 {
     craft = c;
 }
Exemple #8
0
 public static void UpdateComponentHUD(CraftableObject craftableObject)
 {
     ui.componentHUD.UpdateElements(craftableObject);
 }
 private string GetInteractionString(CraftableObject craftableObject)
 {
     return("(!) to use " + craftableObject.name);
 }