protected override bool OnClose(params object[] args) { onConfirm = null; selected = null; noneCheck = false; if (!doConfirm) { onCancel?.Invoke(); } return(base.OnClose(args)); }
private void OnSelected(WarehouseAgent warehouse) { if (warehouse.IsSelected) { selected = warehouse.Data; } else if (warehouse.Data == selected) { selected = null; } deselect.interactable = list.SelectedIndices.Count > 0; }
private void OnSetWarehouse(IWarehouseKeeper data) { warehouse = data; if (warehouse == null) { inventorySelector.value = 0; return; } WarehouseManager.Instance.SetManagedWarehouse(data); handler = WarehouseManager.Instance; inventorySelector.ClearOptions(); inventorySelector.AddOptions(new List <string> { $"从{BackpackManager.Instance.Name}中制作", $"{warehouse.WarehouseName}", "选择其它仓库" }); inventorySelector.SetValueWithoutNotify(1); ShowDescription(currentItem); }
private void SelectInventory(int type) { if (type == 0) { typeBef = type; warehouse = null; handler = BackpackManager.Instance; inventorySelector.ClearOptions(); inventorySelector.AddOptions(new List <string> { $"从{BackpackManager.Instance.Name}中制作", $"从{WarehouseManager.Instance.Name}中制作" }); ShowDescription(currentItem); } else if (type == 1 || type == 2) { Vector3 point = CurrentTool ? CurrentTool.transform.position : PlayerManager.Instance.Player.Position; wsWindow = WarehouseSelectionWindow.StartSelection(OnSetWarehouse, () => inventorySelector.value = typeBef, (d) => d == warehouse, false, true, point); if (!wsWindow) { inventorySelector.value = 0; } else { if (type != 2) { typeBef = type; } inventorySelector.interactable = false; wsWindow.onClose += () => { if (warehouse == null) { inventorySelector.value = 0; } wsWindow = null; inventorySelector.interactable = true; }; } } }