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; } }
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); } } }
public void setCraftableObject(CraftableObject c) { craft = c; }
public static void UpdateComponentHUD(CraftableObject craftableObject) { ui.componentHUD.UpdateElements(craftableObject); }
private string GetInteractionString(CraftableObject craftableObject) { return("(!) to use " + craftableObject.name); }