public Aetheryte?GetClosestAetheryte() { var ret = GetValidAetheryte(); if (ret == null && (Nodes?.Territory?.Aetherytes.Count ?? 0) > 0) { return(Nodes !.Territory !.Aetherytes.First()); } return(ret); }
public override void ReTree() { ImGui.PushID(this.UUID); if (ImGui.TreeNode(this.UUID, this.Title)) { ImGui.InputText("Title", ref this.Title, 0xF); if ( ImGui.BeginCombo( "Teleport", Dalamud.PluginInterface.Sanitizer.Sanitize(Aetherytes.GetRow(this.TelepoID).PlaceName.Value?.Name.ToString()) ) ) { foreach (var itm in Dalamud.AetheryteList .OrderBy(x => Aetherytes.GetRow(x.AetheryteData.GameData.RowId).Territory.Value.PlaceNameRegion.Row) .ThenBy(x => Aetherytes.GetRow(x.AetheryteData.GameData.RowId).PlaceName.Row) ) { if ( ImGui.Selectable( Dalamud.PluginInterface.Sanitizer.Sanitize(Aetherytes.GetRow(itm.AetheryteData.GameData.RowId).PlaceName.Value?.Name.ToString()) ) ) { this.TelepoID = itm.AetheryteId; this.TelepoSubID = itm.SubIndex; this.IsHouse = itm.IsSharedHouse || itm.IsAppartment || itm.Ward != 0 || itm.Plot != 0; } if (itm.AetheryteId == this.TelepoID && itm.SubIndex == this.TelepoSubID) { ImGui.SetItemDefaultFocus(); } } ImGui.EndCombo(); } } ImGui.PopID(); }