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); }
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(); }
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); } } }
public void Init() { ItemIndexer.GetRuneData(ItemID); }
private static void ClearDictionary(ItemIndexer itemIndexer) { itemIndexer.indexer.Clear(); }