public override void Initialize() { base.Initialize(); _weaponSlot = equipmentSlots.First(es => es.ItemSubType == ItemSubType.Weapon); inventory.SharedModel.DimmedFunc.Value = inventoryItem => inventoryItem.ItemBase.Value.ItemType == ItemType.Costume || inventoryItem.ItemBase.Value.ItemType == ItemType.Material; inventory.SharedModel.SelectedItemView .Subscribe(SubscribeInventorySelectedItem) .AddTo(gameObject); inventory.OnDoubleClickItemView .Subscribe(itemView => { if (itemView is null || itemView.Model is null || itemView.Model.Dimmed.Value) { return; } Equip(itemView.Model); }) .AddTo(gameObject); inventory.OnResetItems.Subscribe(SubscribeInventoryResetItems).AddTo(gameObject); _stageId.Subscribe(SubscribeStage).AddTo(gameObject); questButton.OnClickAsObservable().Subscribe(_ => QuestClick(false)).AddTo(gameObject); Game.Event.OnRoomEnter.AddListener(b => Close()); foreach (var slot in equipmentSlots) { slot.ShowUnlockTooltip = true; } foreach (var slot in consumableSlots) { slot.ShowUnlockTooltip = true; } }