コード例 #1
0
 void RpcItemAdded(On.RoR2.Inventory.orig_RpcItemAdded orig, RoR2.Inventory inventory, ItemIndex itemIndex)
 {
     if (Data.modEnabled)
     {
         if (Data.mode == DataShop.mode)
         {
             if (Data.modEnabled)
             {
                 if (Data.mode == DataShop.mode)
                 {
                     if (inventoryLocal != null)
                     {
                         if (inventoryLocal == inventory)
                         {
                             //if (!Data.scrapItems.Contains(itemIndex)) {
                             DataShop.AddScrap(characterBody, Data.GetItemTier(Data.allItemsIndexes[itemIndex]));
                             //}
                         }
                     }
                 }
             }
         }
     }
     orig(inventory, itemIndex);
 }
コード例 #2
0
 void BuildDropTable(On.RoR2.Run.orig_BuildDropTable orig, RoR2.Run run)
 {
     Data.RefreshInfo();
     if (Data.modEnabled)
     {
         DataShop.SetScrapStarting();
         Data.SaveConfigProfile();
     }
     orig(run);
 }
コード例 #3
0
 public JsonResult Search(String keyword)
 {
     using (DataShop db = new DataShop())
     {
         var _prodQuery = (from n in db.Products
                           where n.Name.StartsWith(keyword) && n.Deleted != true
                           select new { n.Name });
         return(Json(_prodQuery, JsonRequestBehavior.AllowGet));
     }
 }
コード例 #4
0
            bool SetEquipmentInternal(On.RoR2.Inventory.orig_SetEquipmentInternal orig, RoR2.Inventory inventory, EquipmentState equipmentState, uint slot)
            {
                bool equipmentChanged = orig(inventory, equipmentState, slot);

                if (Data.modEnabled)
                {
                    if (Data.mode == DataShop.mode)
                    {
                        if (inventoryLocal != null)
                        {
                            if (inventoryLocal == inventory)
                            {
                                int stageClearCountNew = Run.instance.stageClearCount;
                                if (stageClearCountOld != stageClearCountNew)
                                {
                                    stageClearCountOld = stageClearCountNew;
                                    equipmentFoundThisStage.Clear();
                                    equipmentFoundThisStageTwice.Clear();
                                    foreach (EquipmentState equipmentStateOlder in latestEquipment)
                                    {
                                        if (equipmentStateOlder.equipmentIndex != EquipmentIndex.None && !equipmentFoundThisStage.Contains(equipmentStateOlder.equipmentIndex))
                                        {
                                            equipmentFoundThisStage.Add(equipmentStateOlder.equipmentIndex);
                                        }
                                    }
                                }
                                int slotAdjusted = (int)slot;
                                if (slotAdjusted + 1 > latestEquipment.Count)
                                {
                                    for (int appendIndex = 0; appendIndex < slotAdjusted + 1 - latestEquipment.Count; appendIndex++)
                                    {
                                        latestEquipment.Add(new EquipmentState(EquipmentIndex.None, new Run.FixedTimeStamp(), 0));
                                    }
                                }
                                EquipmentState equipmentStateOld = latestEquipment[slotAdjusted];
                                if (!EquipmentState.Equals(equipmentStateOld, equipmentState))
                                {
                                    latestEquipment[slotAdjusted] = equipmentState;
                                    if (!equipmentFoundThisStage.Contains(latestEquipment[slotAdjusted].equipmentIndex))
                                    {
                                        if (Data.allEquipmentIndexes.ContainsKey(equipmentState.equipmentIndex))
                                        {
                                            if (DataShop.AddScrap(characterBody, Data.GetItemTier(Data.allEquipmentIndexes[equipmentState.equipmentIndex])))
                                            {
                                                equipmentFoundThisStage.Add(equipmentState.equipmentIndex);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                return(equipmentChanged);
            }
コード例 #5
0
ファイル: DataEditor.cs プロジェクト: dqchess/Farm-Golb
    public static void DetailSeeds()
    {
        DataStorage dataStorage = ScriptableObject.CreateInstance <DataStorage>();
        DataShop    dataShop    = ScriptableObject.CreateInstance <DataShop>();
        DataMachine dataMachine = ScriptableObject.CreateInstance <DataMachine>();
        DataSprite  dataSprite  = ScriptableObject.CreateInstance <DataSprite>();

        AssetDatabase.CreateAsset(dataStorage, "Assets/Data/Data/DataStorage.asset");
        AssetDatabase.CreateAsset(dataShop, "Assets/Data/Data/DataShop.asset");
        AssetDatabase.CreateAsset(dataMachine, "Assets/Data/Data/DataMachine.asset");
        AssetDatabase.CreateAsset(dataSprite, "Assets/Data/Data/DataSprite.asset");

        AssetDatabase.SaveAssets();
        EditorUtility.FocusProjectWindow();
        Selection.activeObject = dataStorage;
        Selection.activeObject = dataShop;
        Selection.activeObject = dataMachine;
        Selection.activeObject = dataSprite;
    }
コード例 #6
0
 static void DrawBlueButtons()
 {
     modeButtons.Clear();
     for (int modeIndex = 0; modeIndex < DataShop.shopModeCount; modeIndex++)
     {
         modeImages.Add(new List <Image>());
         GameObject button = ButtonCreator.SpawnBlueButton(UIDrawer.rootTransform.gameObject, new Vector2(0, 1), new Vector2(UIConfig.blueButtonWidth, UIConfig.blueButtonHeight), shopModeNames[modeIndex], TMPro.TextAlignmentOptions.Center, modeImages[modeIndex]);
         button.GetComponent <RectTransform>().localPosition = new Vector3(UIConfig.offsetHorizontal + (UIConfig.blueButtonWidth + UIConfig.spacingHorizontal) * modeIndex, -UIConfig.offsetVertical, 0);
         modeButtons.Add(modeIndex, button.GetComponent <RoR2.UI.HGButton>());
         int        mode         = modeIndex;
         GameObject buttonObject = button;
         button.GetComponent <RoR2.UI.HGButton>().onClick.AddListener(() => {
             buttonObject.GetComponent <RoR2.UI.MPEventSystemLocator>().eventSystemProvider.resolvedEventSystem.SetSelectedGameObject(null);
             DataShop.SetShopMode(mode);
             SelectModeButton();
         });
         UIDrawer.shopInterfaces.Add(button);
     }
 }
コード例 #7
0
            void SubmitChoice(On.RoR2.PickupPickerController.orig_SubmitChoice orig, RoR2.PickupPickerController pickupPickerController, int integer)
            {
                if (Data.modEnabled)
                {
                    if (Data.mode == DataShop.mode)
                    {
                        System.Type type = typeof(RoR2.PickupPickerController);
                        System.Reflection.FieldInfo info = type.GetField("options", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
                        ICollection collection           = info.GetValue(pickupPickerController) as ICollection;
                        int         index = 0;
                        foreach (object item in collection)
                        {
                            if (index == integer)
                            {
                                RoR2.PickupPickerController.Option option = (RoR2.PickupPickerController.Option)item;
                                ItemIndex itemIndex = RoR2.PickupCatalog.GetPickupDef(option.pickupIndex).itemIndex;

                                RoR2.NetworkUIPromptController promptController = pickupPickerController.GetComponent <RoR2.NetworkUIPromptController>();
                                type = typeof(RoR2.NetworkUIPromptController);
                                info = type.GetField("_currentLocalParticipant", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
                                RoR2.LocalUser localUser = (RoR2.LocalUser)info.GetValue(promptController);
                                foreach (NetworkUser networkUser in RoR2.NetworkUser.readOnlyInstancesList)
                                {
                                    if (localUser.currentNetworkUser.netId == networkUser.netId)
                                    {
                                        if (networkUser.isLocalPlayer)
                                        {
                                            DataShop.RemoveScrap(Data.GetItemTier(Data.allItemsIndexes[itemIndex]), Mathf.Min(DataShop.purchaseCost, networkUser.GetCurrentBody().inventory.GetItemCount(itemIndex)));
                                        }
                                        break;
                                    }
                                }
                                break;
                            }
                            index += 1;
                        }
                    }
                    orig(pickupPickerController, integer);
                }
                ;
            }
コード例 #8
0
            void InteractionResult(On.RoR2.Interactor.orig_RpcInteractionResult orig, RoR2.Interactor interactor, bool boolean)
            {
                if (Data.modEnabled)
                {
                    if (Data.mode == DataShop.mode)
                    {
                        if (interactor.GetComponent <NetworkBehaviour>().hasAuthority)
                        {
                            if (boolean)
                            {
                                if (DataShop.purchaseTier != -1 && DataShop.purchaseCost > 0)
                                {
                                    DataShop.RemoveScrap(DataShop.purchaseTier, DataShop.purchaseCost);
                                }

                                Dictionary <string, string> specialCases = new Dictionary <string, string>()
                                {
                                    { "BrokenDroneMissile", "BrokenMissileDrone" },
                                };
                                string prefix       = "Broken";
                                string suffix       = "Master(Clone)";
                                string adjustedName = latestInteractionName;
                                if (adjustedName.Length > suffix.Length)
                                {
                                    adjustedName = adjustedName.Substring(0, adjustedName.Length - suffix.Length);
                                }
                                adjustedName = prefix + adjustedName;
                                if (specialCases.ContainsKey(adjustedName))
                                {
                                    adjustedName = specialCases[adjustedName];
                                }
                                if (Data.allDroneNames.ContainsKey(adjustedName))
                                {
                                    DataShop.AddScrap(characterBody, 6);
                                }
                            }
                        }
                    }
                }
                orig(interactor, boolean);
            }
コード例 #9
0
 public CategoryDAO()
 {
     db = new DataShop();
 }
コード例 #10
0
 public ProductDAO()
 {
     db = new DataShop();
 }
コード例 #11
0
 public AdminPermissionDAO()
 {
     db = new DataShop();
 }
コード例 #12
0
            static void DrawRecentPanel()
            {
                if (DataShop.RecentScrap())
                {
                    Transform background = ElementCreator.SpawnImageOffset(new List <Image>(), UIDrawer.rootTransform.transform.parent.gameObject, null, new Color(0, 0, 0, 0.95f), new Vector2(0.5f, 0.5f), Vector2.zero, Vector2.zero).transform;
                    background.GetComponent <Image>().raycastTarget = true;

                    GameObject    panelOutline   = PanelCreator.CreatePanelSize(background);
                    RectTransform panelTransform = panelOutline.GetComponent <RectTransform>();
                    float         panelWidth     = 600 + UIConfig.panelPadding * 2 + 10;
                    float         panelHeight    = 400 + UIConfig.panelPadding * 2 + 10;
                    panelTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, panelWidth);
                    panelTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, panelHeight);
                    panelTransform.localPosition = new Vector3(-panelWidth / 2f, panelHeight / 2f, 0);
                    RectTransform panelChildTransform = panelTransform.GetChild(0).GetComponent <RectTransform>();

                    List <TMPro.TextMeshProUGUI> text = new List <TMPro.TextMeshProUGUI>();
                    ElementCreator.SpawnTextOffset(text, panelTransform.GetChild(0).gameObject, new Color(1, 1, 1), 24, 0, new Vector2(UIConfig.spacingHorizontal, UIConfig.spacingVertical + UIConfig.blackButtonHeight + UIConfig.spacingVertical * 2 + UIConfig.blueButtonHeight + UIConfig.spacingVertical), new Vector2(-UIConfig.spacingHorizontal, -UIConfig.spacingVertical));
                    text[0].text  = "THANK YOU";
                    text[0].text += "\nFor your (or your kinsman's) continued service. Working to the benefit of UES is working to the benefit of us all.";
                    text[0].text += "\n";
                    text[0].text += "\nYour UES Aptitude Scores have been increased by the following amounts:";

                    float scrapSpacing = 75;
                    List <TMPro.TextMeshProUGUI> scrapTexts = new List <TMPro.TextMeshProUGUI>();
                    for (int tierIndex = 0; tierIndex < DataShop.scrap.Count; tierIndex++)
                    {
                        ElementCreator.SpawnTextSize(scrapTexts, panelChildTransform.gameObject, new Color(1, 1, 1, 1), 30, 0, new Vector2(0.5f, 1), new Vector2(300, UIConfig.blueButtonHeight - UIConfig.panelPadding * 2), new Vector3(panelChildTransform.rect.width / 2f + (-DataShop.scrap.Count / 2f + tierIndex + 0.5f) * scrapSpacing, -panelChildTransform.rect.height + UIConfig.spacingVertical + UIConfig.blackButtonHeight + UIConfig.spacingVertical * 2 + UIConfig.blueButtonHeight, 0));
                        scrapTexts[tierIndex].text = DataShop.scrapRecent[tierIndex].ToString();
                        if (DataShop.scrapRecent[tierIndex] > 0)
                        {
                            scrapTexts[tierIndex].color = UIConfig.tierColours[tierIndex];
                        }
                        else
                        {
                            scrapTexts[tierIndex].color = UIConfig.tierColours[tierIndex] * 0.5f;
                        }
                    }

                    GameObject    backButton          = ButtonCreator.SpawnBlackButton(panelChildTransform.gameObject, new Vector2(UIConfig.blackButtonWidth, UIConfig.blackButtonHeight), "Back", new List <TMPro.TextMeshProUGUI>());
                    RectTransform backButtonTransform = backButton.transform.parent.GetComponent <RectTransform>();
                    backButtonTransform.localPosition = new Vector3(panelChildTransform.rect.width / 2f - UIConfig.blackButtonWidth / 2f, -panelHeight + UIConfig.spacingVertical + UIConfig.blackButtonHeight, backButtonTransform.localPosition.z);

                    RoR2.UI.HGButton previousSelectable = backButton.GetComponent <RoR2.UI.MPEventSystemLocator>().eventSystem.currentSelectedGameObject.GetComponent <RoR2.UI.HGButton>();
                    Button           backButtonButton   = backButton.GetComponent <RoR2.UI.HGButton>();
                    backButtonButton.onClick.AddListener(() => {
                        UIDrawer.rootTransform.GetComponent <CanvasGroup>().interactable = true;
                        if (backButtonButton.GetComponent <RoR2.UI.MPEventSystemLocator>().eventSystem.currentInputSource == RoR2.UI.MPEventSystem.InputSource.Gamepad)
                        {
                            previousSelectable.Select();
                        }
                        else
                        {
                            previousSelectable.enabled = false;
                            previousSelectable.enabled = true;
                        }
                        DataShop.ClearRecentScrap();
                        Data.SaveConfigProfile();
                        Destroy(background.gameObject);
                    });
                    backButtonButton.Select();

                    UIDrawer.rootTransform.GetComponent <CanvasGroup>().interactable = false;
                }
            }
コード例 #13
0
 public UserDAO()
 {
     db = new DataShop();
 }
コード例 #14
0
 public AdminRoleDAO()
 {
     db = new DataShop();
 }
コード例 #15
0
 public void SetInfo(DataShop item)
 {
     _item = item;
     IconTools.SetIcon(iconSprite, item.Icon);
     textName.text = item.Name;
 }
コード例 #16
0
 public AdminProductDAO()
 {
     db = new Shopping.Models.DataModel.DataShop();
 }
コード例 #17
0
 public AdminUserDAO()
 {
     db = new DataShop();
 }