public static bool OnChildClick(UIBuildMenu __instance, int index) { if (!CustomKeyBindSystem.GetKeyBind("ReassignBuildBar").keyValue) { return(true); } if (buildMenu.currentCategory < 1 || buildMenu.currentCategory >= 9) { return(true); } int buildIndex = buildMenu.currentCategory * 100 + index; UIItemPickerExtension.Popup(pickerPos, proto => { if (proto != null && proto.ID != 0) { ConfigEntry <int> result = customBarBind.Bind("BuildBarBinds", buildIndex.ToString(), proto.ID, $"Item: {proto.Name.Translate()}"); result.Value = proto.ID; UIBuildMenu.protos[buildMenu.currentCategory, index] = proto; buildMenu.SetCurrentCategory(buildMenu.currentCategory); VFAudio.Create("ui-click-0", null, Vector3.zero, true); } }, true, proto => proto.ModelIndex != 0 && proto.CanBuild); UIRoot.instance.uiGame.itemPicker.OnTypeButtonClick(2); return(false); }
public static Action <int> GetAction(UIBlueprintInspector inspector) { void OnClick(int itemId) { UIItemPickerExtension.Popup(new Vector2(-300, 238), proto => { if (proto == null) { return; } SetBuildings(inspector, itemId, proto); }, proto => proto.Upgrades?.Contains(itemId) == true); } return(OnClick); }
public static void Update() { if (buildMenu == null || !buildMenu.childGroup.gameObject.activeSelf) { return; } if (buildMenu.currentCategory < 1 || buildMenu.currentCategory >= 9) { return; } if (CustomKeyBindSystem.GetKeyBind("ClearBuildBar").keyValue) { for (int i = 1; i <= 10; i++) { if (!buildMenu.childButtons[i].isPointerEnter) { continue; } int buildIndex = buildMenu.currentCategory * 100 + i; ConfigEntry <int> result = customBarBind.Bind("BuildBarBinds", buildIndex.ToString(), 0, "Cleared by player"); result.Value = 0; UIBuildMenu.protos[buildMenu.currentCategory, i] = default; buildMenu.SetCurrentCategory(buildMenu.currentCategory); VFAudio.Create("ui-click-0", null, Vector3.zero, true); return; } } if (!CustomKeyBindSystem.GetKeyBind("ReassignBuildBar").keyValue) { return; } for (int j = 1; j <= 10; j++) { if (Input.GetKeyDown(KeyCode.F1 + (j - 1)) && VFInput.inScreen && !VFInput.inputing) { int buildIndex = buildMenu.currentCategory * 100 + j; UIItemPickerExtension.Popup(pickerPos, proto => { if (proto != null && proto.ID != 0) { ConfigEntry <int> result = customBarBind.Bind("BuildBarBinds", buildIndex.ToString(), proto.ID, $"Item: {proto.Name.Translate()}"); result.Value = proto.ID; UIBuildMenu.protos[buildMenu.currentCategory, j] = proto; buildMenu.SetCurrentCategory(buildMenu.currentCategory); VFAudio.Create("ui-click-0", null, Vector3.zero, true); } }, true, proto => proto.ModelIndex != 0 && proto.CanBuild); UIRoot.instance.uiGame.itemPicker.OnTypeButtonClick(2); return; } } }