public void OnDiff(BaseModelDiff.DiffEquipCollection diff) { bool flag = false; if (Utility.IsExist(diff.add)) { equipItemCollectionList.AddRange(diff.add); flag = true; } if (Utility.IsExist(diff.update)) { diff.update.ForEach(delegate(EquipItemCollection collection) { EquipItemCollection equipItemCollection = _GetEquipItemCollection(collection.category); if (equipItemCollection != null) { equipItemCollection.bit = collection.bit; } }); flag = true; } if (flag && MonoBehaviourSingleton <GameSceneManager> .I.GetCurrentSceneName() != "InGameScene" && MonoBehaviourSingleton <SmithManager> .IsValid()) { int badgeTotalNum = MonoBehaviourSingleton <SmithManager> .I.GetBadgeTotalNum(); MonoBehaviourSingleton <SmithManager> .I.CreateBadgeData(true); if (MonoBehaviourSingleton <SmithManager> .I.GetBadgeTotalNum() != badgeTotalNum) { MonoBehaviourSingleton <GameSceneManager> .I.SetNotify(GameSection.NOTIFY_FLAG.UPDATE_SMITH_BADGE); } } }
private void _InitEquipItemCollection(EquipItemCollectionList list) { equipItemCollectionList.Clear(); int i = 0; for (int count = list.categories.Count; i < count; i++) { EquipItemCollection equipItemCollection = new EquipItemCollection(); equipItemCollection.category = list.categories[i]; equipItemCollection.bit = list.bits[i]; equipItemCollectionList.Add(equipItemCollection); } }