private void ActivateSlots(int capacity, ItemPickable[] item, StorageViewable storage) { Clear(); for (int i = 0; i < capacity; i++) { InventorySlotManager Slot = transform.GetChild(i).gameObject.GetComponent <InventorySlotManager>(); Slot.Active = true; Slot.GetComponent <RawImage>().color = Active_Color; if (item[i] != null) { GameObject itemObject = new GameObject(); ItemSprite itemSprite = itemObject.AddComponent <ItemSprite>(); RawImage image = itemObject.AddComponent <RawImage>(); itemSprite.Reference = item[i].gameObject; itemSprite.Quantity = item[i].Quantity; image.texture = item[i].ItemIcon; image.SetNativeSize(); itemObject.name = item[i].name; itemObject.transform.SetParent(Slot.transform, false); try { item[i].gameObject.GetComponent <Collider>().enabled = false; item[i].gameObject.GetComponent <MeshRenderer>().enabled = false; } catch (Exception e) { item[i].gameObject.SetActive(false); } } } CheckDropForInActive(); }
public void SaveSlots(StorageViewable storage) { for (int i = 0; i < storage.items.Length; i++) { if (UI.root.StorageSlotGrid.transform.GetChild(i).transform.childCount > 0) { storage.items[i] = UI.root.StorageSlotGrid.transform.GetChild(i).GetChild(0).gameObject. GetComponent <ItemSprite>().Reference.GetComponent <ItemPickable>(); } } }
public void initInventory() { if (UI.root.StoragePanel.activeSelf && saveStorage != null) { UI.root.StorageSlotGrid.GetComponent <StorageGridManager>().SaveSlots(saveStorage); } UI.root.InventoryPanel.transform.SetParent(UI.root.MasterPanel.transform); UI.root.InventoryPanel.transform.localPosition = new Vector3(UI.root.InventoryPanel.transform.localPosition.x, 0f, UI.root.InventoryPanel.transform.localPosition.y); UI.root.StoragePanel.SetActive(false); UI.root.StructurePanel.SetActive(false); saveStorage = null; }
/*bool held; * void CheckHold() { * if (save != null) { * if (save.transform.FindChild("Viewing") != null) { * if (AInput.IsPressed("Hold")) { * held = true; * save.transform.parent = UI.root.DefaultArms.transform; * } else { * held = false; * save.transform.parent = null; * } * } else { * held = false; * } * } else { * held = false; * } * }*/ void CheckRemoveOutline(String type) { if (save != null) { if (type.Equals("pickable")) { if (save.transform.FindChild("Viewing") != null) { Destroy(save.transform.FindChild("Viewing").gameObject); save.transform.parent = null; if (!save.transform.name.Contains("Block")) { save.GetComponent <Rigidbody>().isKinematic = false; save.GetComponent <Rigidbody>().WakeUp(); } save = null; } else if (save.GetComponent <ItemPickable>().ItemBody != null) { Destroy(save.GetComponent <ItemPickable>().ItemBody.FindChild("Viewing").gameObject); save.transform.parent = null; if (!save.transform.name.Contains("Block")) { save.GetComponent <Rigidbody>().isKinematic = false; save.GetComponent <Rigidbody>().WakeUp(); } save = null; } } else if (type.Equals("storage")) { StorageViewable storageScript = save.GetComponent <StorageViewable>(); if (storageScript.targetMaterial.transform.FindChild("Viewing") != null) { Destroy(storageScript.targetMaterial.transform.FindChild("Viewing").gameObject); save.transform.parent = null; if (!save.transform.name.Contains("Block")) { save.GetComponent <Rigidbody>().isKinematic = false; save.GetComponent <Rigidbody>().WakeUp(); } save = null; } } } }
private bool TryOutlineForStorage() { try { StorageViewable storageScript = Hit.transform.gameObject.GetComponent <StorageViewable>(); if (Hit.transform.gameObject != null && storageScript.targetMaterial.transform.FindChild("Viewing") == null) { save = Hit.transform.gameObject; Hit.transform.gameObject.GetComponent <Rigidbody>().isKinematic = true; GameObject dupe = Instantiate(storageScript.targetMaterial) as GameObject; try { Destroy(dupe.GetComponent <StorageViewable>()); } catch (Exception) { } dupe.transform.SetParent(storageScript.targetMaterial.transform); dupe.transform.localPosition = new Vector3(0, 0, 0); dupe.transform.localEulerAngles = new Vector3(0, 0, 0); /* if (save.transform.parent != null) * { * dupe.transform.localScale = new Vector3(Hit.transform.localScale.x * Hit.transform.parent.localScale.x, * Hit.transform.localScale.y * Hit.transform.parent.localScale.y, * Hit.transform.localScale.z * Hit.transform.parent.localScale.z); * * else * { * dupe.transform.localScale = new Vector3(Hit.transform.localScale.x, Hit.transform.localScale.y, Hit.transform.localScale.z); * }*/ dupe.transform.localScale = new Vector3(1f, 1f, 1f); dupe.name = "Viewing"; dupe.GetComponent <Renderer>().material = UI.root.BlankMat; dupe.GetComponent <Renderer>().material.shader = UI.root.ObjectOutlineShader; dupe.GetComponent <Renderer>().material.SetColor("_OutlineColor", Color.green); dupe.GetComponent <Renderer>().material.SetFloat("_Outline", 0.005f); return(true); } } catch (Exception) { } return(false); }
public void CheckStorageViewable() { if (PointingAtStorage) { if (Input.GetKeyDown(KeyCode.F)) { CheckGUI(false); UI.root.StoragePanel.SetActive(true); UI.root.InventoryPanel.transform.SetParent(UI.root.Storage_InventoryPos); UI.root.InventoryPanel.transform.localPosition = new Vector3(0f, 0f, 0f); StorageViewable storage = Hit.transform.gameObject.GetComponent <StorageViewable>(); UI.root.StorageNameText.text = storage.Name; saveStorage = storage; StorageGridManager manager = UI.root.StorageSlotGrid.GetComponent <StorageGridManager>(); int capacity = storage.items.Length; if (capacity > 40) { capacity = 40; } manager.ChangeActiveInventorySlots(capacity, storage.items, storage); } } }
public void ChangeActiveInventorySlots(int change, ItemPickable[] item, StorageViewable storage) { ActivateSlots(change, item, storage); }