示例#1
0
 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()));
 }
示例#2
0
        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);
        }