public OCItem( OIItem _oiItem, GameObject _gameObject, CraftInfo _craftInfo, Manager.Housing.LoadInfo _loadInfo) : base((IObjectInfo)_oiItem, _gameObject, _craftInfo) { this.LoadInfo = _loadInfo; this.m_itemComponent = !Object.op_Inequality((Object)this.GameObject, (Object)null) ? (ItemComponent)null : (ItemComponent)this.GameObject.GetComponent <ItemComponent>(); if (Object.op_Equality((Object)this.m_itemComponent, (Object)null)) { this.m_itemComponent = (ItemComponent)this.GameObject.AddComponent <ItemComponent>(); this.m_itemComponent.Setup(false); } if (this.m_itemComponent != null) { this.m_itemComponent.SetHPoint(); } ObservableExtensions.Subscribe <IList <bool> >((IObservable <M0>)Observable.BatchFrame <bool>(Observable.Merge <bool>((IObservable <M0>[]) new IObservable <bool>[4] { (IObservable <bool>) this.subjectColor1, (IObservable <bool>) this.subjectColor2, (IObservable <bool>) this.subjectColor3, (IObservable <bool>) this.subjectEmissionColor }), 0, (FrameCountType)0), (Action <M0>)(_ => this.UpdateColor())); }
public bool UpdateUI(Manager.Housing.LoadInfo _loadInfo) { bool flag = true; if (((IList <Manager.Housing.RequiredMaterial>)_loadInfo.requiredMaterials).IsNullOrEmpty <Manager.Housing.RequiredMaterial>()) { foreach (MaterialUI.MaterialInfo materialInfo in this.materialInfos) { materialInfo.Active = false; } return(true); } for (int index = 0; index < this.materialInfos.Length; ++index) { Manager.Housing.RequiredMaterial requiredMaterial = _loadInfo.requiredMaterials.SafeGet <Manager.Housing.RequiredMaterial>(index); if (requiredMaterial == null) { this.materialInfos[index].Active = false; } else { StuffItemInfo stuffItemInfo = Singleton <Resources> .Instance.GameInfo.GetItem(requiredMaterial.category, requiredMaterial.no); if (stuffItemInfo == null) { this.materialInfos[index].Active = false; } else { int _num = 0; StuffItem stuffItem1 = new StuffItem(requiredMaterial.category, requiredMaterial.no, 0); StuffItem stuffItem2 = Singleton <Manager.Map> .Instance.Player.PlayerData.ItemList.FindItem(stuffItem1); if (stuffItem2 != null) { _num += stuffItem2.Count; } StuffItem stuffItem3 = Singleton <Game> .Instance.Environment.ItemListInStorage.FindItem(stuffItem1); if (stuffItem3 != null) { _num += stuffItem3.Count; } flag &= this.materialInfos[index].Set(stuffItemInfo.Name, _num, requiredMaterial.num); this.materialInfos[index].Active = true; } } } return(flag); }