internal class XUiC_ImmunityModsRebirth : XUiController { private static float uiCheck = 0f; public float uiTick = 0.5f; public float barterPerc = 0f; private XUiC_ComboBoxList cbxTargetAuraType; public XUiC_ComboBoxInt combo9mm; public XUiC_ComboBoxInt combo762; public XUiC_ComboBoxInt combo44; public XUiC_ComboBoxInt comboShell; public XUiV_Label Resource; public XUiV_Label ResourceMultiplier; public XUiV_Label GatherType; public XUiV_Label LabelDescription; public XUiV_Label LabelTotalCash; public XUiV_Label LabelTotalRemains; public XUiV_Panel Panel; public XUiV_Sprite spriteAuraImage; public XUiV_Sprite spriteRemainsImage; public override void Init() { //Log.Out("XUiC_ImmunityModsRebirth-Init START"); base.Init(); Panel = (XUiV_Panel)GetChildById("Popup").ViewComponent; ((XUiC_SimpleButton)Panel.Controller.GetChildById("btnCancel")).OnPressed += BtnCancel_OnPressed; ((XUiC_SimpleButton)Panel.Controller.GetChildById("btnConfirm")).OnPressed += BtnConfirm_OnPressed; spriteAuraImage = (XUiV_Sprite)GetChildById("AuraImage").ViewComponent; spriteRemainsImage = (XUiV_Sprite)GetChildById("RemainsImage").ViewComponent; LabelDescription = (XUiV_Label)Panel.Controller.GetChildById("lblDescription").ViewComponent; LabelTotalCash = (XUiV_Label)Panel.Controller.GetChildById("lblTotalCash").ViewComponent; LabelTotalRemains = (XUiV_Label)Panel.Controller.GetChildById("lblTotalRemains").ViewComponent; this.cbxTargetAuraType = (base.GetChildById("cbxAuraType") as XUiC_ComboBoxList); if (this.cbxTargetAuraType != null) { this.cbxTargetAuraType.Elements.Add(Localization.Get("ttFire")); this.cbxTargetAuraType.Elements.Add(Localization.Get("ttShock")); this.cbxTargetAuraType.Elements.Add(Localization.Get("ttExplosion")); this.cbxTargetAuraType.Elements.Add(Localization.Get("ttFireShock")); this.cbxTargetAuraType.Elements.Add(Localization.Get("ttFireShockExplosion")); this.cbxTargetAuraType.OnValueChanged += this.cbxTargetAuraType_OnValueChanged; } } private void changeValue(EntityPlayer player, int index) { string iconAuraName = ""; string iconRemainsName = ""; string remainsName = ""; string costCash = "0"; string costRemains = "0"; if (index == 0) { iconAuraName = "FireResistAura"; iconRemainsName = "ZombieRemainsFire"; remainsName = "FuriousRamsayZombieRemainsFire"; costCash = "10000"; costRemains = "150"; } else if (index == 1) { iconAuraName = "ShockResistAura"; iconRemainsName = "ZombieRemainsShock"; remainsName = "FuriousRamsayZombieRemainsShock"; costCash = "12500"; costRemains = "200"; } else if (index == 2) { iconAuraName = "SmokeResistAura"; iconRemainsName = "ZombieRemainsSmoke"; remainsName = "FuriousRamsayZombieRemainsSmoke"; costCash = "15000"; costRemains = "250"; } else if (index == 3) { iconAuraName = "FireShockResistAura"; iconRemainsName = "ZombieRemainsFireShock"; remainsName = "FuriousRamsayZombieRemainsFireShock"; costCash = "20000"; costRemains = "150"; } else if (index == 4) { iconAuraName = "FireShockSmokeResistAura"; iconRemainsName = "ZombieRemainsFireShockSmoke"; remainsName = "FuriousRamsayZombieRemainsFireShockSmoke"; costCash = "30000"; costRemains = "200"; } int totalCash = RebirthUtilities.numItems(ItemClass.GetItem("casinoCoin"), player); int totalRemains = RebirthUtilities.numItems(ItemClass.GetItem(remainsName), player); //Log.Out("XUiC_ImmunityModsRebirth-changeValue costCash: " + costCash); //Log.Out("XUiC_ImmunityModsRebirth-changeValue totalCash: " + totalCash); //Log.Out("XUiC_ImmunityModsRebirth-changeValue costRemains: " + costRemains); //Log.Out("XUiC_ImmunityModsRebirth-changeValue totalRemains: " + totalRemains); string cashColor = "ffffff"; bool cannotTrade = false; if (totalCash < int.Parse(costCash)) { cashColor = "c79595"; cannotTrade = true; } string remainsColor = "ffffff"; if (totalRemains < int.Parse(costRemains)) { remainsColor = "c79595"; cannotTrade |= true; } spriteAuraImage.SpriteName = "ui_game_symbol_" + iconAuraName; spriteRemainsImage.SpriteName = "ui_game_symbol_" + iconRemainsName; string cashText = "[" + cashColor + "]" + costCash + "[-]"; string remainsText = "[" + remainsColor + "]" + costRemains + "[-]"; //Log.Out("XUiC_ImmunityModsRebirth-changeValue cashText: " + cashText); //Log.Out("XUiC_ImmunityModsRebirth-changeValue remainsText: " + remainsText); LabelTotalCash.Text = cashText; LabelTotalRemains.Text = remainsText; //Log.Out("XUiC_ImmunityModsRebirth-changeValue cbxTargetAuraType.Value: " + cbxTargetAuraType.Value); //Log.Out("XUiC_ImmunityModsRebirth-changeValue cbxTargetAuraType.currentIndex: " + cbxTargetAuraType.currentIndex); if (cannotTrade) { ((XUiC_SimpleButton)Panel.Controller.GetChildById("btnConfirm")).Enabled = false; } else { ((XUiC_SimpleButton)Panel.Controller.GetChildById("btnConfirm")).Enabled = true; } } private void cbxTargetAuraType_OnValueChanged(XUiController _sender, string _oldValue, string _newValue) { EntityPlayer player = xui.playerUI.entityPlayer; int index = cbxTargetAuraType.currentIndex; changeValue(player, index); } public override void Update(float _dt) { base.Update(_dt); if ((Time.time - uiCheck) > uiTick) { uiCheck = Time.time; //Log.Out("XUiC_ImmunityModsRebirth-Update 1"); } } public override void OnOpen() { //Log.Out("XUiC_ImmunityModsRebirth-OnOpen START"); EntityPlayer player = xui.playerUI.entityPlayer; var entityID = 0; if (player.Buffs.HasCustomVar("CurrentNPC")) { entityID = (int)player.Buffs.GetCustomVar("CurrentNPC"); //Log.Out("XUiC_ImmunityModsRebirth-OnOpen 1, entityID: " + entityID); } if (entityID == 0) { //Log.Out("XUiC_ImmunityModsRebirth-OnOpen 2"); return; } cbxTargetAuraType.SelectedIndex = 0; changeValue(player, 0); base.OnOpen(); } private void BtnConfirm_OnPressed(XUiController _sender, int _mouseButton) { //Log.Out("XUiC_ImmunityModsRebirth-BtnConfirm_OnPressed START"); EntityPlayer player = xui.playerUI.entityPlayer; int index = cbxTargetAuraType.currentIndex; string auraName = ""; string remainsName = ""; if (index == 0) { auraName = "FuriousRamsayModFireResist"; remainsName = "FuriousRamsayZombieRemainsFire"; } else if (index == 1) { auraName = "FuriousRamsayModShockResist"; remainsName = "FuriousRamsayZombieRemainsShock"; } else if (index == 2) { auraName = "FuriousRamsayModSmokeResist"; remainsName = "FuriousRamsayZombieRemainsSmoke"; } else if (index == 3) { auraName = "FuriousRamsayModFireShockResist"; remainsName = "FuriousRamsayZombieRemainsFireShock"; } else if (index == 4) { auraName = "FuriousRamsayModFireShockSmokeResist"; remainsName = "FuriousRamsayZombieRemainsFireShockSmoke"; } string cashText = LabelTotalCash.Text.Replace("[-]", "").Replace("[ffffff]", "").Replace("[]", "c79595"); ; string remainsText = LabelTotalRemains.Text.Replace("[-]", "").Replace("[ffffff]", "").Replace("[]", "c79595"); ; //Log.Out("XUiC_ImmunityModsRebirth-BtnConfirm_OnPressed AuraType: " + AuraType); //Log.Out("XUiC_ImmunityModsRebirth-BtnConfirm_OnPressed cashText: " + cashText); //Log.Out("XUiC_ImmunityModsRebirth-BtnConfirm_OnPressed remainsText: " + remainsText); RebirthUtilities.useInventoryBagItem(player, "casinoCoin", int.Parse(cashText)); RebirthUtilities.useInventoryBagItem(player, remainsName, int.Parse(remainsText)); ItemValue itemReceived = ItemClass.GetItem(auraName, false); RebirthUtilities.addToPlayerBag(itemReceived, player, 1); xui.playerUI.windowManager.Close(windowGroup.ID); } private void BtnCancel_OnPressed(XUiController _sender, int _mouseButton) { //Log.Out("XUiC_ImmunityModsRebirth-BtnCancel_OnPressed START"); Panel.IsVisible = false; xui.playerUI.windowManager.Close(windowGroup.ID); } public override void OnClose() { //Log.Out("XUiC_ImmunityModsRebirth-OnClose START"); if (xui.playerUI.windowManager.HasWindow("dialog") && xui.playerUI.windowManager.IsWindowOpen("dialog")) xui.playerUI.windowManager.Close("dialog"); base.OnClose(); } }