private void SetFromItem(ItemObjectUiElement itemObj, Item item)
        {
            itemObj.SetItemFromId(item.itemId);

            Sprite itemSprite = ItemDataManager.GetDisplaySprite(item.itemName);

            itemObj.SetItemObjectSprite(itemSprite);

            int focusAreas = item.FocusAreaCount;

            Transform transform = itemObj.transform;

            if (focusAreas > 0)
            {
                for (int i = 0; i < focusAreas; i++)
                {
                    FocusAreaUI uiElement = Object.Instantiate(focusAreaPrefab).GetOrAddComponent <FocusAreaUI>();

                    uiElement.transform.SetParent(transform);

                    FocusAreaUiDetails details = item.GetFocusAreaUiDetailsAtIndex(i);

                    uiElement.SetDetails(details);
                }
            }

            itemObj.RegisterFocusHandlerAreas();
        }
 private void InitializeItemDataManager()
 {
     if (itemDataManager == null)
     {
         itemDataManager     = this;
         itemGameObjectCache = new Dictionary <int, GameObject>();
         itemObjectUiFactory = new ItemObjectUiFactory();
         InitializeItemData(ItemDataPath);
         SetSpriteSheet();
     }
     else
     {
         Destroy(this);
     }
 }