private static void CheckAndFixItemIndexer(ItemIndexer itemIndexer)
        {
            var items      = FindAllItems();
            var enumerable = items.ToList();

            if (enumerable.All(item => itemIndexer.indexer.ContainsKey(item.ID)))
            {
                return;
            }

            ClearDictionary(itemIndexer);
            foreach (var item in enumerable)
            {
                /*if (itemIndexer.indexer.ContainsKey(item.ID))
                 *  item.GenerateNewGuid();
                 * EditorUtility.SetDirty(item as ScriptableObject);*/
                itemIndexer.indexer.Add(item.ID, item as ScriptableObject);
            }

            EditorUtility.SetDirty(itemIndexer);
        }
Example #2
0
    void Start()
    {
        _main = GameObject.FindWithTag("GameMain").GetComponent <GameMain>();
        foreach (IEnhanceable gear in _main.User.MyBag.MyShipGears)
        {
            GameObject go = GameObject.Instantiate(AssetsLoader.LoadPrefab("GearUI"));
            go.transform.SetParent(m_GearPock.transform);
            GearUIWrapper grid = go.GetComponent <GearUIWrapper>();
            grid.InjectGearData(gear);
            grid.SetEnhBtn(OpenEnhPanel);
            ((ShipGear)gear).OnRemove += grid.RemoveThis;
        }

        foreach (IEnhancer enhcer in _main.User.MyBag.MyRunes)
        {
            GameObject go = GameObject.Instantiate(AssetsLoader.LoadPrefab("EnhUI"));
            go.transform.SetParent(m_RunePock.transform);
            EnhencerUIWrapper grid = go.GetComponent <EnhencerUIWrapper>();
            grid.InjectGearData(enhcer);
            grid.SetEnhBtn(SelectEnhancer);
            OnSelectEnhcer          += grid.Unselect;
            ((Rune)enhcer).OnRemove += grid.RemoveThis;
        }

        foreach (IEnhancer enhcer in _main.User.MyBag.MyJades)
        {
            GameObject go = GameObject.Instantiate(AssetsLoader.LoadPrefab("EnhUI"));
            go.transform.SetParent(m_JadePock.transform);
            EnhencerUIWrapper grid = go.GetComponent <EnhencerUIWrapper>();
            grid.InjectGearData(enhcer);
            grid.SetEnhBtn(SelectEnhancer);
            OnSelectEnhcer          += grid.Unselect;
            ((Jade)enhcer).OnRemove += grid.RemoveThis;
        }

        ItemIndexer.Init();
        EnhanceIndexer.Init();
        CloseEnhPanel();
    }
Example #3
0
    public void AddItem(int itemID, int amount)
    {
        IItem item = MyItems.Find(i => i.ItemID == itemID);

        if ((int)item.ItemType < 10)
        {
            item.Init();
            MyItems.Add(item);
        }
        else
        {
            if (item is null)
            {
                item = ItemIndexer.GetItemData(itemID);
                item.Increase(amount);
                MyItems.Add(item);
            }
            else
            {
                item.Increase(amount);
            }
        }
    }
Example #4
0
 public void Init()
 {
     ItemIndexer.GetRuneData(ItemID);
 }
 private static void ClearDictionary(ItemIndexer itemIndexer)
 {
     itemIndexer.indexer.Clear();
 }