private void UpdateValetHud() { try { if(ButlerHudView == null){return;} ValetNameBox.Text = String.Empty; int scroll = 0; HudList.HudListRowAccessor ValetRow; scroll = ValetSlotsList.ScrollPosition; ValetSlotsList.ClearRows(); foreach(IDName slot in tDataTable.SwapSlotList) { ValetRow = ValetSlotsList.AddRow(); if(mCharacterSettings.ValetSlotsList.Contains(slot.ID)){((HudCheckBox)ValetRow[0]).Checked = true;} else{((HudCheckBox)ValetRow[0]).Checked = false;} ((HudStaticText)ValetRow[1]).Text = slot.name; ((HudStaticText)ValetRow[2]).Text = slot.ID.ToString(); } ValetSlotsList.ScrollPosition = scroll; if(mCharacterSettings.ValetSuitList.Count == 0) { ValetSuitList.ClearRows(); ValetSuitPiecesList.ClearRows(); return; } if(mValetSuit == null) { mValetSuit = mCharacterSettings.ValetSuitList.First(); } scroll = ValetSuitList.ScrollPosition; ValetSuitList.ClearRows(); foreach(ValetSuit vs in mCharacterSettings.ValetSuitList) { ValetRow = ValetSuitList.AddRow(); ((HudPictureBox)ValetRow[0]).Image = vs.Icon + 0x6000000; ((HudStaticText)ValetRow[1]).Text = vs.SuitName; if(vs.TicketStub == mValetSuit.TicketStub) {((HudStaticText)ValetRow[1]).TextColor = Color.Gold;} ((HudPictureBox)ValetRow[2]).Image = GearGraphics.RemoveCircle; ((HudStaticText)ValetRow[3]).Text = vs.TicketStub.ToString(); } ValetSuitList.ScrollPosition = scroll; scroll = ValetSuitPiecesList.ScrollPosition; ValetSuitPiecesList.ClearRows(); foreach(ValetTicket vt in mValetSuit.SuitPieces.OrderBy(x => x.Priority)) { ValetRow = ValetSuitPiecesList.AddRow(); if(AetherObjects.Collection[vt.ItemId] != null) { ((HudPictureBox)ValetRow[0]).Image = AetherObjects.Collection[vt.ItemId].Icon + 0x6000000; ((HudStaticText)ValetRow[1]).Text = vt.Priority.ToString(); ((HudStaticText)ValetRow[2]).Text = AetherObjects.Collection[vt.ItemId].Name; if(vt.ItemId == Core.Actions.CurrentSelection){((HudStaticText)ValetRow[1]).TextColor = Color.Gold;} ((HudPictureBox)ValetRow[3]).Image = GearGraphics.RemoveCircle; ((HudStaticText)ValetRow[4]).Text = vt.ItemId.ToString(); } } ValetSuitPiecesList.ScrollPosition = scroll; }catch(Exception ex){LogError(ex);} }
private void ValetSuitList_Click(object sender, int row, int col) { try { HudList.HudListRowAccessor ValetRow = ValetSuitList[row]; mValetSuit = mCharacterSettings.ValetSuitList.Find(x => x.TicketStub == Convert.ToInt32(((HudStaticText)ValetRow[3]).Text)); if(col == 2) { mCharacterSettings.ValetSuitList.RemoveAll(x => x.TicketStub == Convert.ToInt32(((HudStaticText)ValetRow[3]).Text)); if(mCharacterSettings.ValetSuitList.Count > 0 && !mCharacterSettings.ValetSuitList.Any(x => x.TicketStub == mValetSuit.TicketStub)) { mValetSuit = mCharacterSettings.ValetSuitList.First(); } else { mValetSuit = null; } } UpdateValetHud(); }catch(Exception ex){LogError(ex);} }
private void ValetSuitPiecesList_Click(object sender, int row, int col) { try { HudList.HudListRowAccessor ValetRow = ValetSuitPiecesList[row]; int ItemId = Convert.ToInt32(((HudStaticText)ValetRow[4]).Text); if(col == 0) { Core.Actions.SelectItem(ItemId); } if(col == 1) { int priorityindex = mValetSuit.SuitPieces.FindIndex(x => x.ItemId == ItemId); mValetSuit.SuitPieces[priorityindex].Priority++; if(mValetSuit.SuitPieces[priorityindex].Priority > 9) { mValetSuit.SuitPieces[priorityindex].Priority = 1; } } if(col == 2) { LootObject tLootObj = new LootObject(AetherObjects.Collection[ItemId]); if(mGeneralSettings.GearInspectorSettings.GSStrings){HudToChat(tLootObj.GSReportString(),2);} if(mGeneralSettings.GearInspectorSettings.AlincoStrings){HudToChat(tLootObj.LinkString(),2);} } if(col == 3) { int RemoveIndex = mValetSuit.SuitPieces.FindIndex(x => x.ItemId == ItemId); mValetSuit.SuitPieces.RemoveAt(RemoveIndex); if(mValetSuit.SuitPieces.Count == 0) { mCharacterSettings.ValetSuitList.RemoveAll(x => x.TicketStub == mValetSuit.TicketStub); } if(mCharacterSettings.ValetSuitList.Count > 0) { mValetSuit = mCharacterSettings.ValetSuitList.First(); } else { mValetSuit = null; } } UpdateValetHud(); }catch(Exception ex){LogError(ex);} }
private void ValetCreateSuit_Hit(object sender, System.EventArgs e) { try { if(ValetNameBox.Text == String.Empty) { WriteToChat("The suit needs a name. Put a name in the box."); return; } if(Core.Actions.CurrentSelection == 0) { WriteToChat("Select an item to use as the icon for the suit."); return; } int nextsuitid = 0; for(int i = 0; i < mCharacterSettings.ValetSuitList.Count; i++) { if(mCharacterSettings.ValetSuitList[i].TicketStub == nextsuitid) { nextsuitid = i + 1; } } ValetSuit nValetSuit = new ValetSuit(); nValetSuit.TicketStub = nextsuitid; nValetSuit.SuitName = ValetNameBox.Text; nValetSuit.Icon = AetherObjects.Collection[Core.Actions.CurrentSelection].Icon; List<AetherObject> SuitList = (from wo in AetherObjects.Inventory.Where(x => x.Values(ALongValueKeys.EquippedSlots) != 0) where mCharacterSettings.ValetSlotsList.Any(x => (x & wo.Values(ALongValueKeys.EquippedSlots)) == x) orderby wo.Name select wo).Distinct().ToList(); foreach(AetherObject wo in SuitList) { ValetTicket vt = new ValetTicket(); vt.ItemId = wo.Id; vt.SlotId = (int)wo.Values(ALongValueKeys.EquippedSlots); nValetSuit.SuitPieces.Add(vt); } foreach(int clearslot in mCharacterSettings.ValetSlotsList) { nValetSuit.ClearSlotList.Add(clearslot); } mCharacterSettings.ValetSuitList.Add(nValetSuit); iLockerUpdate.bSubmitCharacterSettings = true; UpdateValetHud(); }catch(Exception ex){LogError(ex);} }