public void UpdateDiff() { if (Singleton <Manager.Housing> .IsInstance()) { foreach (int num in new HashSet <int>(Singleton <Manager.Housing> .Instance.dicLoadInfo.Select <KeyValuePair <int, Manager.Housing.LoadInfo>, int>((Func <KeyValuePair <int, Manager.Housing.LoadInfo>, int>)(v => v.Value.category)))) { int c = num; Dictionary <int, bool> dictionary = (Dictionary <int, bool>)null; if (!this.Unlock.TryGetValue(c, out dictionary)) { dictionary = new Dictionary <int, bool>(); this.Unlock.Add(c, dictionary); } foreach (KeyValuePair <int, Manager.Housing.LoadInfo> keyValuePair in Singleton <Manager.Housing> .Instance.dicLoadInfo.Where <KeyValuePair <int, Manager.Housing.LoadInfo> >((Func <KeyValuePair <int, Manager.Housing.LoadInfo>, bool>)(v => v.Value.category == c))) { if (!dictionary.ContainsKey(keyValuePair.Key)) { dictionary.Add(keyValuePair.Key, keyValuePair.Value.requiredMaterials.IsNullOrEmpty <Manager.Housing.RequiredMaterial>()); } } } } CraftInfo craftInfo1 = (CraftInfo)null; if (!Singleton <Manager.Housing> .IsInstance()) { if (!this.CraftInfos.TryGetValue(0, out craftInfo1)) { this.CraftInfos.Add(0, new CraftInfo(new Vector3(100f, 80f, 100f), 0)); } if (!this.CraftInfos.TryGetValue(1, out craftInfo1)) { this.CraftInfos.Add(1, new CraftInfo(new Vector3(100f, 80f, 100f), 1)); } if (!this.CraftInfos.TryGetValue(2, out craftInfo1)) { this.CraftInfos.Add(2, new CraftInfo(new Vector3(200f, 100f, 200f), 2)); } if (this.CraftInfos.TryGetValue(3, out craftInfo1)) { return; } this.CraftInfos.Add(3, new CraftInfo(new Vector3(500f, 150f, 500f), 3)); } else { foreach (KeyValuePair <int, Manager.Housing.AreaInfo> keyValuePair in Singleton <Manager.Housing> .Instance.dicAreaInfo) { Manager.Housing.AreaSizeInfo areaSizeInfo = (Manager.Housing.AreaSizeInfo)null; if (!this.CraftInfos.ContainsKey(keyValuePair.Key)) { CraftInfo craftInfo2 = new CraftInfo(Vector3Int.op_Implicit(!Singleton <Manager.Housing> .Instance.dicAreaSizeInfo.TryGetValue(keyValuePair.Value.size, out areaSizeInfo) ? new Vector3Int(100, 80, 100) : areaSizeInfo.limitSize), keyValuePair.Value.no); this.CraftInfos.Add(keyValuePair.Key, craftInfo2); } } } }
public override void Init(UICtrl _uiCtrl, bool _tutorial) { base.Init(_uiCtrl, _tutorial); ObservableExtensions.Subscribe <Unit>((IObservable <M0>)UnityUIComponentExtensions.OnClickAsObservable((Button)this.buttonClose), (Action <M0>)(_ => this.Close())); foreach (KeyValuePair <int, Manager.Housing.AreaSizeInfo> keyValuePair in Singleton <Manager.Housing> .Instance.dicAreaSizeInfo) { GameObject gameObject = (GameObject)Object.Instantiate <GameObject>((M0)this.tabOriginal, this.tabRoot); gameObject.SetActive(true); SizeTab component = (SizeTab)gameObject.GetComponent <SizeTab>(); int type = keyValuePair.Value.no; component.Text = string.Format("{0}X{1}X{2}", (object)((Vector3Int) ref keyValuePair.Value.limitSize).get_x(), (object)((Vector3Int) ref keyValuePair.Value.limitSize).get_y(), (object)((Vector3Int) ref keyValuePair.Value.limitSize).get_z()); ObservableExtensions.Subscribe <bool>(Observable.Where <bool>((IObservable <M0>)UnityUIComponentExtensions.OnValueChangedAsObservable(component.toggle), (Func <M0, bool>)(_b => _b)), (Action <M0>)(_ => this.SelectTab(type, false))); this.dicTabInfo[type] = new SaveLoadUICtrl.TabInfo() { gameObject = gameObject, sizeTab = component }; } for (int index = 0; index < this.buttonsThumbnail.Length; ++index) { int idx = index; ObservableExtensions.Subscribe <Unit>((IObservable <M0>)UnityUIComponentExtensions.OnClickAsObservable(this.buttonsThumbnail[index]), (Action <M0>)(_ => { this.infoLoad.Setup(this.rawsThumbnail[idx].get_texture()); this.select = this.thumbnailLimit * this.page + idx; })); } ObservableExtensions.Subscribe <Unit>((IObservable <M0>)UnityUIComponentExtensions.OnClickAsObservable((Button)this.infoLoad.buttonClose), (Action <M0>)(_ => this.infoLoad.Visible = false)); ObservableExtensions.Subscribe <Unit>((IObservable <M0>)UnityUIComponentExtensions.OnClickAsObservable((Button)this.infoLoad.buttonDelete), (Action <M0>)(_ => { ConfirmScene.Sentence = "データを消去しますか?"; ConfirmScene.OnClickedYes = (Action)(() => { File.Delete(this.listPath[this.select]); this.InitInfo(this.tab); this.SetPage(this.page, true); this.infoLoad.Visible = false; }); ConfirmScene.OnClickedNo = (Action)(() => {}); Singleton <Game> .Instance.LoadDialog(); })); ObservableExtensions.Subscribe <Unit>((IObservable <M0>)UnityUIComponentExtensions.OnClickAsObservable((Button)this.infoLoad.buttonLoad), (Action <M0>)(_ => { ConfirmScene.Sentence = "データを読込みますか?\n" + "セットされたアイテムは削除されます。".Coloring("#DE4529FF").Size(24); ConfirmScene.OnClickedYes = (Action)(() => { Singleton <Selection> .Instance.SetSelectObjects((ObjectCtrl[])null); this.UICtrl.ListUICtrl.ClearList(); Singleton <UndoRedoManager> .Instance.Clear(); this.Visible = false; Singleton <CraftScene> .Instance.WorkingUICtrl.Visible = true; Singleton <Manager.Housing> .Instance.LoadAsync(this.listPath[this.select], (Action <bool>)(_b => { this.UICtrl.ListUICtrl.UpdateUI(); Singleton <CraftScene> .Instance.WorkingUICtrl.Visible = false; this.Close(); })); }); ConfirmScene.OnClickedNo = (Action)(() => {}); Singleton <Game> .Instance.LoadDialog(); })); ObservableExtensions.Subscribe <bool>((IObservable <M0>) this.visibleReactive, (Action <M0>)(_b => { this.canvasGroup.Enable(_b, false); if (!_b) { return; } this.buttonClose.ClearState(); this.infoLoad.Visible = false; })); int housingId = Singleton <CraftScene> .Instance.HousingID; Manager.Housing.AreaInfo areaInfo = (Manager.Housing.AreaInfo)null; if (Singleton <Manager.Housing> .Instance.dicAreaInfo.TryGetValue(housingId, out areaInfo)) { Manager.Housing.AreaSizeInfo areaSizeInfo = (Manager.Housing.AreaSizeInfo)null; if (Singleton <Manager.Housing> .Instance.dicAreaSizeInfo.TryGetValue(areaInfo.size, out areaSizeInfo)) { foreach (KeyValuePair <int, SaveLoadUICtrl.TabInfo> keyValuePair in this.dicTabInfo) { keyValuePair.Value.Interactable = areaSizeInfo.compatibility.Contains(keyValuePair.Key); } } } this.Visible = false; }