Beispiel #1
0
    private void BtnConfirmHireInformation_OnPressed(XUiController _sender, OnPressEventArgs _onPressEventArgs)
    {
        EntityPlayer player = base.xui.playerUI.entityPlayer;

        int entityID = 0;

        if (player.Buffs.HasCustomVar("CurrentNPC"))
        {
            entityID = (int)player.Buffs.GetCustomVar("CurrentNPC");
        }

        if (entityID == 0)
        {
            return;
        }

        EntityAliveSDX myEntity = player.world.GetEntity(entityID) as EntityAliveSDX;

        if (myEntity != null)
        {
            EntityUtilities.Hire(entityID, player as EntityPlayerLocal);
        }

        base.xui.playerUI.windowManager.Close(windowGroup.ID);
    }
    public static bool ConvertAndCraft(Recipe recipe, EntityPlayerLocal player, XUiController ItemController)
    {
        bool result = false;

        XUi xui = ItemController.xui;
        XUiC_CraftingWindowGroup childByType = xui.FindWindowGroupByName("crafting").GetChildByType <XUiC_CraftingWindowGroup>();
        ItemValue itemValue = ((XUiC_ItemStack)ItemController).ItemStack.itemValue;

        if (!CheckIngredients(recipe.ingredients, player))
        {
            return(false);
        }

        // Verify we can craft this.
        if (!recipe.CanCraft(recipe.ingredients, player))
        {
            return(false);
        }

        if (!childByType.AddRepairItemToQueue(recipe.craftingTime, itemValue.Clone(), itemValue.MaxUseTimes))
        {
            WarnQueueFull(player);
            return(false);
        }
        ((XUiC_ItemStack)ItemController).ItemStack = ItemStack.Empty.Clone();
        xui.PlayerInventory.RemoveItems(recipe.ingredients, 1);
        result = true;

        return(result);
    }
Beispiel #3
0
    public static void WarnQueueFull(XUiController ItemController)
    {
        string text = "No room in queue!";

        if (Localization.Exists("wrnQueueFull"))
        {
            text = Localization.Get("wrnQueueFull");
        }
        GameManager.ShowTooltip(ItemController.xui.playerUI.entityPlayer, text);
        Audio.Manager.PlayInsidePlayerHead("ui_denied", -1, 0f, false, false);
    }
    private void BtnOk_OnPressed(XUiController _sender, OnPressEventArgs _onPressEventArgs)
    {
        string text = this.txtPassword.Text;
        float  code = 0f;

        StringParsers.TryParseFloat(text, out code);
        myEntity.Buffs.AddCustomVar("PathingCode", code);

        SphereCache.RemovePaths(myEntity.entityId);
        EntityUtilities.GetNewPositon(myEntity.entityId);
        EntityUtilities.SetCurrentOrder(myEntity.entityId, EntityUtilities.Orders.Wander);
        GameManager.ShowTooltip(base.xui.playerUI.entityPlayer, "Pathing Code Set");
        base.xui.playerUI.windowManager.Close(base.WindowGroup.ID);
    }
Beispiel #5
0
    public void GetVehicleCollectedItemListForPlayer()
    {
        if (entityVehicle != null && entityVehicle.player != null && entityVehicle.hudStatBar != null && entityVehicle.uiforPlayer != null)
        {
            GUIWindowManager windowManager = entityVehicle.uiforPlayer.windowManager;
            VehicleCollectedItemList = (XUiC_VehicleCollectedItemList)entityVehicle.hudStatBar.WindowGroup.Controller.GetChildByType <XUiC_VehicleCollectedItemList>();

            if (VehicleCollectedItemList != null)
            {
                DebugMsg("GetVehicleCollectedItemListForPlayer: VehicleCollectedItemList = " + VehicleCollectedItemList.ToString());
            }

            string        msg = "GetVehicleCollectedItemListForPlayer: hudStatBarWinGroup children controllers:\n";
            XUiController hudStatBarWinGroup = entityVehicle.hudStatBar.WindowGroup.Controller;
            foreach (XUiController controller in hudStatBarWinGroup.Children)
            {
                msg += ("- " + controller.ToString() + " | type = " + controller.GetType() + " | viewComponent ID = " + controller.viewComponent.ID + " | viewComponent type = " + controller.viewComponent.GetType().ToString() + "\n");
                if (controller.viewComponent.ID == "HUDRightStatBars")
                {
                    //VehicleCollectedItemList = (XUiC_VehicleCollectedItemList)controller.GetChildByType<XUiC_VehicleCollectedItemList>();
                    XUiController yo = controller.GetChildById("vehicleCollectedItemList");
                    if (yo != null)
                    {
                        //VehicleCollectedItemList = yo.viewComponent.Controller;
                        msg += ("yo.viewComponent.Controller = " + yo.ToString() + "\n");
                    }
                    if (VehicleCollectedItemList != null)
                    {
                        msg += ("VehicleCollectedItemList = " + VehicleCollectedItemList.ToString());
                    }
                    //XUiController childById = controller.GetChildById("vehicleCollectedItemList");

                    /*msg += "  Components:\n";
                     * Transform[] transforms = controller.viewComponent.UiTransform.gameObject.GetComponentsInChildren<Transform>(true);
                     * foreach (Transform transform in transforms)
                     * {
                     *  msg += ("\t- " + transform.gameObject.name + " | " + transform.GetType() + "\n");
                     *
                     *  if (transform.name == "vehicleCollectedItemList")
                     *  {
                     *      //VehicleCollectedItemList
                     *  }
                     * }*/
                }
            }
            DebugMsg(msg);
        }
    }
    private void BtnConfirmHireInformation_OnPressed(XUiController _sender, OnPressEventArgs _onPressEventArgs)
    {
        LocalPlayerUI uiforPlayer = base.xui.playerUI;

        // The respondent is an EntityNPC, and we don't have that. Check for the patch scripted otherEntitySDX.
        Entity respondent = uiforPlayer.xui.Dialog.Respondent;

        if (respondent == null)
        {
            respondent = uiforPlayer.xui.Dialog.otherEntitySDX;
        }

        if (respondent != null)
        {
            EntityAliveSDX myEntity = uiforPlayer.entityPlayer.world.GetEntity(respondent.entityId) as EntityAliveSDX;
            if (myEntity != null)
            {
                myEntity.SetOwner(uiforPlayer.entityPlayer as EntityPlayerLocal);
            }
        }

        base.xui.playerUI.windowManager.Close(this.windowGroup.ID);
    }
    public static bool Scrap(List <ItemStack> scrapIngredients, ItemStack OriginalStack, XUiController ItemController)
    {
        bool result = false;

        foreach (ItemStack scrapStack in scrapIngredients)
        {
            if (!ItemController.xui.PlayerInventory.AddItem(scrapStack, true))
            {
                ItemController.xui.PlayerInventory.DropItem(scrapStack);
            }
        }

        OriginalStack.count -= 1;
        ((XUiC_ItemStack)ItemController).ItemStack = ((OriginalStack.count <= 0) ? ItemStack.Empty.Clone() : OriginalStack.Clone());
        ((XUiC_ItemStack)ItemController).WindowGroup.Controller.SetAllChildrenDirty();

        return(result);
    }
 public InventoryHelperSDX(XUiController controller, ConsumeType consumeType) : base(controller, consumeType)
 {
 }
 private void BtnCancelHireInformation_OnPressed(XUiController _sender, OnPressEventArgs _onPressEventArgs)
 {
     this.hireInformationPanel.IsVisible = false;
     base.xui.playerUI.windowManager.Close(this.windowGroup.ID);
 }
 private void BtnCancel_OnPressed(XUiController _sender, OnPressEventArgs _e)
 {
     base.xui.playerUI.windowManager.Close(base.WindowGroup.ID);
 }
Beispiel #11
0
 public ItemActionEntryResharpenSDX(XUiController controller) : base(controller, "Resharpen", "ui_game_symbol_wrench", BaseItemActionEntry.GamepadShortCut.DPadLeft, "crafting/craft_click_craft", "ui/ui_denied")
 {
     this.lblNeedMaterials = Localization.Get("xuiRepairMissingMats");
     controller.xui.PlayerInventory.OnBackpackItemsChanged += this.PlayerInventory_OnBackpackItemsChanged;
     controller.xui.PlayerInventory.OnToolbeltItemsChanged += this.PlayerInventory_OnToolbeltItemsChanged;
 }
        public static bool Prefix(ItemActionEntryScrap __instance)
        {
            // Check if this feature is enabled.
            if (!Configuration.CheckFeatureStatus(AdvFeatureClass, Feature))
            {
                return(true);
            }
            #region vanilla_code
            XUi            xui            = __instance.ItemController.xui;
            XUiC_ItemStack xuiC_ItemStack = (XUiC_ItemStack)__instance.ItemController;

            ItemStack itemStack       = xuiC_ItemStack.ItemStack.Clone();
            Recipe    scrapableRecipe = CraftingManager.GetScrapableRecipe(itemStack.itemValue, itemStack.count);
            if (scrapableRecipe == null)
            {
                return(true);
            }

            XUiController xuiController = __instance.ItemController.xui.FindWindowGroupByName("workstation_workbench");
            if (xuiController == null || !xuiController.WindowGroup.isShowing)
            {
                xuiController = xui.FindWindowGroupByName("crafting");
            }

            XUiC_CraftingWindowGroup childByType = xuiController.GetChildByType <XUiC_CraftingWindowGroup>();
            if (childByType == null)
            {
                return(true);
            }
            #endregion  vanilla_code

            LocalPlayerUI    uiforPlayer = LocalPlayerUI.GetUIForPlayer(__instance.ItemController.xui.playerUI.entityPlayer);
            List <ItemStack> scrapItems  = new List <ItemStack>();

            ItemClass forId = ItemClass.GetForId(itemStack.itemValue.type);
            // Check if ScrapItems is specified
            if (forId.Properties.Classes.ContainsKey("ScrapItems"))
            {
                DynamicProperties dynamicProperties3 = forId.Properties.Classes["ScrapItems"];
                scrapItems = ItemsUtilities.ParseProperties(dynamicProperties3);
                ItemsUtilities.Scrap(scrapItems, itemStack, __instance.ItemController);
                return(false);
            }
            else if (forId.Properties.Contains("ScrapItems")) // Support for <property name="ScrapItems" value="resourceWood,0,resourceLeather,2" />
            {
                string strData = forId.Properties.Values["ScrapItems"].ToString();
                scrapItems = ItemsUtilities.ParseProperties(strData);
                ItemsUtilities.Scrap(scrapItems, itemStack, __instance.ItemController);
                return(false);
            }
            // Check if Repair Items is specified, if the ScrapItems wasn't.
            else if (forId.Properties.Classes.ContainsKey("RepairItems"))
            {
                DynamicProperties dynamicProperties3 = forId.Properties.Classes["RepairItems"];
                scrapItems = ItemsUtilities.ParseProperties(dynamicProperties3);
                ItemsUtilities.Scrap(scrapItems, itemStack, __instance.ItemController);
                return(false);
            }
            else if (forId.RepairTools == null || forId.RepairTools.Length <= 0)
            {
                if (CraftingManager.GetRecipe(forId.GetItemName()) == null)
                {
                    return(true);
                }

                if (CraftingManager.GetRecipe(forId.GetItemName()).tags.Test_AnySet(FastTags.Parse("usevanillascrap")))
                {
                    return(true);
                }

                // If there's a recipe, reduce it
                Recipe recipe = ItemsUtilities.GetReducedRecipes(forId.GetItemName(), 2);

                ItemsUtilities.Scrap(recipe.ingredients, itemStack, __instance.ItemController);
                return(false);
            }
            return(true);
        }
        public static void Postfix(XUiC_ItemActionList __instance, XUiC_ItemActionList.ItemActionListTypes _actionListType, XUiController itemController)
        {
            // Check if this feature is enabled.
            if (!Configuration.CheckFeatureStatus(AdvFeatureClass, Feature))
            {
                return;
            }

            if (_actionListType == XUiC_ItemActionList.ItemActionListTypes.Item)
            {
                XUiC_ItemStack xuiC_ItemStack = (XUiC_ItemStack)itemController;
                ItemStack      itemStack      = xuiC_ItemStack.ItemStack;
                ItemValue      itemValue      = itemStack.itemValue;
                if (itemValue.MaxUseTimes > 0 && itemValue.UseTimes > 0f)
                {
                    if (ItemsUtilities.CheckProperty(itemValue.ItemClass, "RepairItems"))
                    {
                        __instance.AddActionListEntry(new ItemActionEntryRepair(itemController));
                    }

                    if (ItemsUtilities.CheckProperty(itemValue.ItemClass, "Resharpen"))
                    {
                        __instance.AddActionListEntry(new ItemActionEntryResharpenSDX(itemController));
                    }
                }
            }
        }
Beispiel #14
0
 private void HandleOnSubmitHandler(XUiController _sender, string _text)
 {
     this.highlight(_text);
 }
Beispiel #15
0
    public void OnDriverOn()
    {
        //InitController();

        if (entityVehicle != null && entityVehicle.player != null && entityVehicle.hudStatBar != null)
        {
            string        msg = "VehicleWeapons.OnDriverOn: hudStatBarWinGroup children controllers:\n";
            XUiController hudStatBarWinGroup = entityVehicle.hudStatBar.WindowGroup.Controller;
            foreach (XUiController controller in hudStatBarWinGroup.Children)
            {
                msg += ("- " + controller.ToString() + " | type = " + controller.GetType() + " | viewComponent ID = " + controller.viewComponent.ID + " | viewComponent type = " + controller.viewComponent.GetType().ToString() + "\n");
                if (controller.viewComponent.ID == "HUDRightStatBars")
                {
                    msg += "  Components:\n";
                    Transform[] transforms = controller.viewComponent.UiTransform.gameObject.GetComponentsInChildren <Transform>(true);
                    foreach (Transform transform in transforms)
                    {
                        msg += ("\t- " + transform.gameObject.name + " | " + transform.GetType() + "\n");

                        if (transform.name == "hudVehicleWeaponsAmmo")
                        {
                            vehicleAmmoUIRoot = transform.gameObject;
                            vehicleAmmoUIRoot.SetActive(true);
                        }

                        if (transform.name == "vehicleHealthIcon")
                        {
                            UISprite[] vehicleHealthSprites = transform.gameObject.GetComponentsInChildren <UISprite>(true);
                            if (vehicleHealthSprites.Length > 0)
                            {
                                vehicleHealthSprites[0].spriteName = entityVehicle.GetMapIcon();
                                msg += ("\t\t- vehicleHealthSprite = " + vehicleHealthSprites[0].spriteName + "\n");
                            }
                        }

                        if (transform.name == "vehicleHealth")
                        {
                            UISprite[] vehicleHealthSprites = transform.gameObject.GetComponentsInChildren <UISprite>(true);
                            foreach (UISprite sprite in vehicleHealthSprites)
                            {
                                if (sprite.gameObject.name == "Icon")
                                {
                                    miniBikeDefaultSprite            = sprite;
                                    miniBikeDefaultSprite.spriteName = "";
                                }
                            }
                        }

                        if (transform.name == "hudVehicleGunAmmo")
                        {
                            //gunAmmoUIRoot = transform.gameObject;
                            //gunAmmoUIRoot.SetActive(entityVehicle.HasGun() && entityVehicle.HasGunAmmo());
                            bool        bShowGun = entityVehicle.HasGun() && entityVehicle.HasGunAmmo();
                            Component[] comps    = transform.gameObject.GetComponentsInChildren <Component>();
                            foreach (Component comp in comps)
                            {
                                if (comp.name == "BarContent" && comp.GetType() == typeof(UISprite))
                                {
                                    ((UISprite)comp).enabled = bShowGun;
                                }
                                if (comp.name == "Icon" && comp.GetType() == typeof(UISprite))
                                {
                                    msg            += ("\t\t- " + comp.gameObject.name + " | " + comp.GetType() + "\n");
                                    gunAmmoUISprite = (UISprite)comp;

                                    gunAmmoItemValue           = entityVehicle.GetWeaponAmmoType("vehicleGun");
                                    gunAmmoUISprite.spriteName = gunAmmoItemValue.ItemClass.GetIconName();
                                    gunAmmoUISprite.enabled    = bShowGun;
                                }
                                if (comp.name == "TextContent" && comp.GetType() == typeof(UILabel))
                                {
                                    msg                   += ("\t\t- " + comp.gameObject.name + " | " + comp.GetType() + "\n");
                                    gunAmmoUILabel         = (UILabel)comp;
                                    gunAmmoUILabel.text    = entityVehicle.uiforPlayer.xui.PlayerInventory.GetItemCount(gunAmmoItemValue.ItemClass.Id).ToString();
                                    gunAmmoUILabel.enabled = bShowGun;
                                }
                            }
                        }
                        if (transform.name == "hudVehicleExplosiveLauncherAmmo")
                        {
                            //explosiveAmmoUIRoot = transform.gameObject;
                            //explosiveAmmoUIRoot.SetActive(entityVehicle.HasExplosiveLauncher() && entityVehicle.HasExplosiveLauncherAmmo());
                            bool        bShowEL = entityVehicle.HasExplosiveLauncher() && entityVehicle.HasExplosiveLauncherAmmo();
                            Component[] comps   = transform.gameObject.GetComponentsInChildren <Component>();
                            foreach (Component comp in comps)
                            {
                                if (comp.name == "BarContent" && comp.GetType() == typeof(UISprite))
                                {
                                    ((UISprite)comp).enabled = bShowEL;
                                }
                                if (comp.name == "Icon" && comp.GetType() == typeof(UISprite))
                                {
                                    msg += ("\t\t- " + comp.gameObject.name + " | " + comp.GetType() + "\n");
                                    explosiveAmmoUISprite = (UISprite)comp;

                                    explosiveAmmoItemValue           = entityVehicle.GetWeaponAmmoType("vehicleExplosiveLauncher");
                                    explosiveAmmoUISprite.spriteName = explosiveAmmoItemValue.ItemClass.GetIconName();
                                    explosiveAmmoUISprite.enabled    = bShowEL;
                                }
                                if (comp.name == "TextContent" && comp.GetType() == typeof(UILabel))
                                {
                                    msg += ("\t\t- " + comp.gameObject.name + " | " + comp.GetType() + "\n");
                                    explosiveAmmoUILabel         = (UILabel)comp;
                                    explosiveAmmoUILabel.text    = entityVehicle.uiforPlayer.xui.PlayerInventory.GetItemCount(explosiveAmmoItemValue.ItemClass.Id).ToString();
                                    explosiveAmmoUILabel.enabled = bShowEL;
                                }
                            }
                        }
                    }
                }
            }
            DebugMsg(msg);
        }
    }
 private void TxtPassword_OnSubmitHandler(XUiController _sender, string _text)
 {
     this.BtnOk_OnPressed(_sender, new OnPressEventArgs(-1));
 }
Beispiel #17
0
 private void HandleOnChangeHandler(XUiController _sender, string _text, bool _changeFromCode)
 {
     this.highlight(_text);
 }
    public static bool ConvertAndCraft(string strRecipe, int Reduction, EntityPlayerLocal player, XUiController ItemController)
    {
        bool   result    = false;
        Recipe newRecipe = GetReducedRecipes(strRecipe, Reduction);

        result = ConvertAndCraft(newRecipe, player, ItemController);
        return(result);
    }
Beispiel #19
0
 private void TextInput_OnChangeHandler(XUiController _sender, string _text, bool _changeFromCode)
 {
     SetText(_text, false);
 }
Beispiel #20
0
 private void TextInput_OnInputAbortedHandler(XUiController _sender)
 {
     xui.playerUI.windowManager.Close(WindowGroup.ID);
 }
Beispiel #21
0
 private void closeButton_OnPress(XUiController _sender, OnPressEventArgs _e)
 {
     xui.playerUI.windowManager.Close(WindowGroup.ID);
 }
Beispiel #22
0
 private void TextInput_OnSubmitHandler(XUiController _sender, string _text)
 {
     SetText(_text, true);
     xui.playerUI.windowManager.Close(WindowGroup.ID);
 }