Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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;
                }
            }
        }