Beispiel #1
0
 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();
 }
Beispiel #2
0
 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>();
         }
     }
 }
Beispiel #3
0
 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;
 }
Beispiel #4
0
    /*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;
                }
            }
        }
    }
Beispiel #5
0
    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);
    }
Beispiel #6
0
 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);
         }
     }
 }
Beispiel #7
0
 public void ChangeActiveInventorySlots(int change, ItemPickable[] item, StorageViewable storage)
 {
     ActivateSlots(change, item, storage);
 }