// Start is called before the first frame update void Start() { if (inventory == null) { inventory = FindObjectOfType <DTInventory>(); } }
private void Start() { if (inventory == null) { inventory = FindObjectOfType <DTInventory>(); } if (PlayerPrefs.GetInt("ar15Save") == 1) { inventory.AddItem(ar15.GetComponent <Item>()); } if (PlayerPrefs.GetInt("ShotgunSave") == 1) { inventory.AddItem(shotgun.GetComponent <Item>()); } if (PlayerPrefs.GetInt("BarretItemSave") == 1) { inventory.AddItem(sniper.GetComponent <Item>()); } if (PlayerPrefs.GetInt("ar15magSave") == 1) { inventory.AddItem(ar15mag.GetComponent <Item>()); } if (PlayerPrefs.GetInt("bottleSave") == 1) { inventory.AddItem(bottle.GetComponent <Item>()); } if (PlayerPrefs.GetInt("conserveSave") == 1) { inventory.AddItem(conserve.GetComponent <Item>()); } }
private void OnEnable() { if (canvas == null) { canvas = GetComponent <Canvas>(); } if (inventory == null) { inventory = FindObjectOfType <DTInventory>(); } InventoryClose(); }
private void Start() { if (itemNameTooltip != null) { itemNameTooltip.text = string.Empty; } if (playerCamera == null && Camera.main != null) { playerCamera = Camera.main.transform; } if (inventory == null) { inventory = FindObjectOfType <DTInventory>(); } }
private void OnEnable() { if (m_rect == null) { m_rect = GetComponent <RectTransform>(); } if (inventory == null) { inventory = FindObjectOfType <DTInventory>(); } if (image == null) { image = GetComponent <Image>(); } if (stackText == null) { stackText = GetComponentInChildren <Text>(); } }
public void Load() { print("Load started"); var itemsToDestroy = FindObjectsOfType <Item>(); var sceneLootBoxes = FindObjectsOfType <LootBox>(); foreach (var item in itemsToDestroy) { Destroy(item.gameObject); } foreach (var lootbox in sceneLootBoxes) { lootbox.lootBoxItems.Clear(); } //Inventory DTInventory inventory = FindObjectOfType <DTInventory>(); InventoryData inventoryData = JsonUtility.FromJson <InventoryData>(File.ReadAllText(Application.persistentDataPath + "/" + SceneManager.GetActiveScene().name + "_inventoryData")); var inventoryItems = inventoryData.itemNames; var stackSize = inventoryData.stackSize; var itemPos = inventoryData.itemGridPos; bool isAutoEquipEnabled = inventory.autoEquipItems; inventory.autoEquipItems = false; if (inventoryItems != null) { for (int i = 0; i < inventoryItems.Length; i++) { var findItem = assetsDatabase.FindItem(inventoryItems[i]); if (findItem != null) { var item = Instantiate(findItem); item.stackSize = stackSize[i]; inventory.AddItem(item, (int)itemPos[i].x, (int)itemPos[i].y); } else { Debug.LogAssertion("Missing item. Check if it exists in the ItemsDatabase inspector"); } } } inventory.autoEquipItems = isAutoEquipEnabled; print("Looking for data for scene " + SceneManager.GetActiveScene().name); LevelData itemsLevelData = JsonUtility.FromJson <LevelData>(File.ReadAllText(Application.persistentDataPath + "/" + SceneManager.GetActiveScene().name + "_itemsLevelData")); for (int i = 0; i < itemsLevelData.itemName.Length; i++) { if (itemsLevelData.itemName[i] != null) { try { var item = Instantiate(assetsDatabase.FindItem(itemsLevelData.itemName[i])); item.transform.position = itemsLevelData.itemPos[i]; item.transform.rotation = itemsLevelData.itemRot[i]; item.stackSize = itemsLevelData.itemStackSize[i]; } catch { Debug.LogAssertion("Item you try to restore from save: " + itemsLevelData.itemName[i] + " is null or not exist in database"); } } } LootBoxData lootBoxData = JsonUtility.FromJson <LootBoxData>(File.ReadAllText(Application.persistentDataPath + "/" + SceneManager.GetActiveScene().name + "_lootboxData")); for (int i = 0; i < sceneLootBoxes.Length; i++) { var lootbox = sceneLootBoxes[i]; char[] separator = new char[] { '|' }; string[] itemsTitles = lootBoxData.itemNames[i].Split(separator, System.StringSplitOptions.RemoveEmptyEntries); //foreach (string t in itemsTitles) // print(t); string[] itemStackSizes = lootBoxData.stackSize[i].Split(separator, System.StringSplitOptions.RemoveEmptyEntries); //foreach (string jk in itemStackSizes) // print(jk); List <int> itemStackSizesInt = new List <int>(); foreach (string itemStackSizeString in itemStackSizes) { int resultInt = -1; int.TryParse(itemStackSizeString, out resultInt); itemStackSizesInt.Add(resultInt); } for (int j = 0; j < itemsTitles.Length; j++) { if (assetsDatabase.FindItem(itemsTitles[j]) != null) { var item = Instantiate(assetsDatabase.FindItem(itemsTitles[j])); item.gameObject.SetActive(false); if (itemStackSizesInt[j] > -1) { item.stackSize = itemStackSizesInt[j]; } lootbox.lootBoxItems.Add(item); } } } }
private void OnEnable() { inventory = FindObjectOfType <DTInventory>(); }
private void OnEnable() { pickupItem = FindObjectOfType <PickupItem>(); inventory = FindObjectOfType <DTInventory>(); }
void OnGUI() { tabIndex = GUILayout.Toolbar(tabIndex, tabHeaders); if (tabIndex == 0) { EditorGUILayout.HelpBox("Welcome to Inventory Wizard. With this tool you can create your own inventory. Watch video and follow steps", MessageType.Info); EditorGUILayout.LabelField("Inventory & Cell size", EditorStyles.centeredGreyMiniLabel); GUILayout.BeginVertical("HelpBox"); GUILayout.BeginVertical("GroupBox"); SizeX = EditorGUILayout.IntSlider("Inventory Horizontal size", SizeX, 1, 100); SizeY = EditorGUILayout.IntSlider("Inventory Vertical size", SizeY, 1, 100); normalCellColor = EditorGUILayout.ColorField("Normal cell color", normalCellColor); hoveredCellColor = EditorGUILayout.ColorField("Hovered cell color", hoveredCellColor); blockedCellCover = EditorGUILayout.ColorField("Blocked cell color", blockedCellCover); stackTextFont = (Font)EditorGUILayout.ObjectField("Stack text font", stackTextFont, typeof(Font), false); stackTextColor = EditorGUILayout.ColorField("Stack text color", stackTextColor); EditorGUILayout.LabelField(""); CellRectSize = EditorGUILayout.IntSlider("Cell size", CellRectSize, 1, 200); //CellSpacing = EditorGUILayout.IntSlider("Space between cells", CellSpacing, 0, 20); CellImage = (Sprite)EditorGUILayout.ObjectField("Cell image", CellImage, typeof(Sprite), false); inventoryBackgroundColor = EditorGUILayout.ColorField("Background color", inventoryBackgroundColor); InventoryBackground = (Sprite)EditorGUILayout.ObjectField("Inventory background", InventoryBackground, typeof(Sprite), false); if (GUILayout.Button("Build inventory")) { var eventSystem = Instantiate(new GameObject()); eventSystem.AddComponent <EventSystem>(); eventSystem.AddComponent <StandaloneInputModule>(); eventSystem.AddComponent <BaseInput>(); eventSystem.name = "Event System"; CleanUp(); if (CellImage == null) { EditorUtility.DisplayDialog("Setup uncompleted", " Please attach sprite to cell image field. Otherwise, inventory cells will be invisible", "Continue"); return; } // Drawing Canvas var obj = Instantiate(new GameObject()); obj.AddComponent <Canvas>().renderMode = RenderMode.ScreenSpaceOverlay; obj.AddComponent <CanvasScaler>(); obj.AddComponent <GraphicRaycaster>(); obj.AddComponent <InventoryManager>(); eventSystem.gameObject.transform.parent = obj.transform; obj.name = "Inventory Canvas"; // Drawing Inventory (cell holder in context) var cellHolder = Instantiate(new GameObject()); cellHolder.transform.SetParent(obj.transform); cellHolder.name = "Inventory"; inventoryTransform = obj.transform; var cellHolderImage = cellHolder.AddComponent <Image>(); cellHolderImage.rectTransform.sizeDelta = new Vector2((CellRectSize + CellSpacing) * SizeX, (CellRectSize + CellSpacing) * SizeY); cellHolderImage.rectTransform.anchoredPosition = Vector2.zero; cellHolderImage.color = inventoryBackgroundColor; inventoryRectSize = cellHolderImage.rectTransform.sizeDelta; var inventory = cellHolder.AddComponent <DTInventory>(); inventory.cellSize = CellRectSize; inventory.padding = CellSpacing; inventory.column = SizeX; inventory.row = SizeY; inventory.normalCellColor = normalCellColor; inventory.blockedCellColor = blockedCellCover; inventory.hoveredCellColor = hoveredCellColor; // Making inventory grid cell object var imgObj = Instantiate(new GameObject()); imgObj.AddComponent <Image>().sprite = CellImage; imgObj.GetComponent <RectTransform>().sizeDelta = new Vector2(CellRectSize, CellRectSize); imgObj.GetComponent <RectTransform>().anchorMin = new Vector2(0, 1); imgObj.GetComponent <RectTransform>().anchorMax = new Vector2(0, 1); imgObj.GetComponent <RectTransform>().pivot = new Vector2(0, 1); imgObj.transform.SetParent(obj.transform); imgObj.GetComponent <Image>().type = Image.Type.Sliced; imgObj.GetComponent <Image>().color = Color.white; imgObj.GetComponent <RectTransform>().anchoredPosition = new Vector2(0, 3000); imgObj.AddComponent <GridSlot>(); imgObj.name = "Utility object (Don't delete!)"; var stackText = Instantiate(new GameObject()); stackText.transform.SetParent(imgObj.transform); var stackTextComponent = stackText.AddComponent <Text>(); stackTextComponent.alignment = TextAnchor.LowerLeft; stackTextComponent.raycastTarget = false; stackTextComponent.rectTransform.anchorMin = new Vector2(0, 0); stackTextComponent.rectTransform.anchorMax = new Vector2(0, 0); stackTextComponent.rectTransform.anchoredPosition = new Vector2(53, 53); stackTextComponent.color = stackTextColor; if (stackTextFont != null) { stackTextComponent.font = stackTextFont; } // Drawing Inventory view inventory.cell = imgObj.GetComponent <Image>(); inventory.DrawPreview(); CleanUp(); CleanUp(); CleanUp(); CleanUp(); //this.Close(); } GUILayout.EndVertical(); GUILayout.EndVertical(); } if (tabIndex == 1) { inventory = FindObjectOfType <DTInventory>(); if (inventory == null) { EditorGUILayout.HelpBox("No inventory found in the scene. You must create inventory first, in order to create loot window", MessageType.Error); } else { GUILayout.BeginVertical("GroupBox"); LootSizeX = EditorGUILayout.IntField("Loot Horizontal size", LootSizeX); LootSizeY = EditorGUILayout.IntField("Loot Vertical size", LootSizeY); if (GUILayout.Button("Build Loot Window")) { var cellHolder = Instantiate(new GameObject()); cellHolder.transform.SetParent(inventoryTransform); cellHolder.name = "Loot window"; var cellHolderImage = cellHolder.AddComponent <Image>(); cellHolderImage.rectTransform.sizeDelta = new Vector2((CellRectSize + CellSpacing) * LootSizeX, (CellRectSize + CellSpacing) * LootSizeY); cellHolderImage.rectTransform.anchoredPosition = Vector2.zero; cellHolderImage.color = inventoryBackgroundColor; cellHolderImage.rectTransform.anchoredPosition = new Vector2(inventoryRectSize.x, 0); inventory.lootPanel = cellHolder.GetComponent <RectTransform>(); inventory.lootRow = LootSizeX; inventory.lootColumn = LootSizeY; //DestroyImmediate(GameObject.Find("Inventory Canvas")); inventory.DrawPreview(); CleanUp(); } } } if (tabIndex == 2) { if (inventory == null) { EditorGUILayout.HelpBox("No inventory found in the scene. You must create inventory first, in order to create equipment panels", MessageType.Error); } else { scrollPos = EditorGUILayout.BeginScrollView(scrollPos, false, false); equipmentPanelsCount = EditorGUILayout.IntSlider("Equipment panels count", equipmentPanelsCount, 1, 20); if (currentEquipmentPanelsCount != equipmentPanelsCount) { equipmentPanelX = new int[equipmentPanelsCount]; equipmentPanelY = new int[equipmentPanelsCount]; equipmentPanelType = new string[equipmentPanelsCount]; currentEquipmentPanelsCount = equipmentPanelsCount; } for (int i = 0; i < equipmentPanelsCount; i++) { GUILayout.BeginVertical("HelpBox"); GUILayout.Label("Equipment panel " + (i + 1) + " :" + equipmentPanelType[i], EditorStyles.boldLabel); GUILayout.Label(""); equipmentPanelX[i] = EditorGUILayout.IntField("Equipment Horizontal size", equipmentPanelX[i]); if (equipmentPanelX[i] == 0) { equipmentPanelX[i] = 1; } equipmentPanelY[i] = EditorGUILayout.IntField("Equipment Vertical size", equipmentPanelY[i]); if (equipmentPanelY[i] == 0) { equipmentPanelY[i] = 1; } equipmentPanelType[i] = EditorGUILayout.TextField("Allowed item type", equipmentPanelType[i]); GUILayout.EndVertical(); } if (GUILayout.Button("Build panels")) { inventory.equipmentPanels = new List <EquipmentPanel>(); for (int i = 0; i < equipmentPanelsCount; i++) { var cellHolder = Instantiate(new GameObject()); cellHolder.transform.SetParent(inventoryTransform); cellHolder.name = "Equiment panel :" + equipmentPanelType[i]; var equipmentPanel = cellHolder.AddComponent <EquipmentPanel>(); equipmentPanel.width = equipmentPanelX[i]; equipmentPanel.height = equipmentPanelY[i]; equipmentPanel.allowedItemType = equipmentPanelType[i]; var cellHolderImage = cellHolder.AddComponent <Image>(); cellHolderImage.rectTransform.sizeDelta = new Vector2((CellRectSize + CellSpacing) * equipmentPanelX[i], (CellRectSize + CellSpacing) * equipmentPanelY[i]); cellHolderImage.rectTransform.anchoredPosition = Vector2.zero; cellHolderImage.color = inventoryBackgroundColor; inventory.equipmentPanels.Add(equipmentPanel); //cellHolderImage.rectTransform.anchoredPosition = new Vector2(inventoryRectSize.x, 0); //DestroyImmediate(GameObject.Find("Inventory Canvas")); CleanUp(); } inventory.DrawPreview(); } EditorGUILayout.EndScrollView(); } } }