public void Open() { this.Visible = true; this.UICtrl.ListUICtrl.Visible = false; this.UICtrl.AddUICtrl.Active = false; this.SelectTab(Singleton <CraftScene> .Instance.HousingID, true); Manager.Housing.AreaInfo areaInfo = (Manager.Housing.AreaInfo)null; if (!Singleton <Manager.Housing> .Instance.dicAreaInfo.TryGetValue(Singleton <CraftScene> .Instance.HousingID, out areaInfo)) { return; } SaveLoadUICtrl.TabInfo tabInfo = (SaveLoadUICtrl.TabInfo)null; if (this.dicTabInfo.TryGetValue(areaInfo.size, out tabInfo)) { tabInfo.IsOn = true; } this.SelectTab(areaInfo.size, false); }
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; }