public static List <PartyElementWindow> GetPlayerInfoElementList(List <EntityWrapper> entityList) { var playersInParty = new List <PartyElementWindow>(); try { var baseWindow = new CustomIngameUIElements(GameController.Instance.Game.IngameState.IngameUi.Address).PartyList; if (baseWindow != null) { var partElementList = baseWindow.Children[0]?.Children[0]?.Children; if (partElementList != null) { foreach (var partyElement in partElementList) { var playerName = partyElement?.Children[0]?.AsObject <EntityLabel>()?.Text; var newElement = new PartyElementWindow(); newElement.PlayerName = playerName; // get entity foreach (var entity in entityList) { if (entity != null && entity.GetComponent <Player>().PlayerName == playerName) { newElement.Data.PlayerEntity = entity; } } //get party element newElement.Element = partyElement; playersInParty.Add(newElement); } } } } catch (Exception e) { BasePlugin.LogError("CharacterData.GetPlayerInfoElementList(): " + e.Message, 5); } return(playersInParty); }
public static List <PartyElementWindow> GetPlayerInfoElementList(List <Entity> entityList, int child) { var playersInParty = new List <PartyElementWindow>(); try { var baseWindow = CharacterData.Core.Core.MainPlugin.GameController.IngameState.UIRoot.Children[1].Children[child]; if (baseWindow != null) { var partElementList = baseWindow.Children[0].Children[0].Children; if (partElementList != null) { foreach (var partyElement in partElementList) { var playerName = partyElement?.Children[0].Text; var newElement = new PartyElementWindow(); newElement.PlayerName = playerName; // get entity foreach (var entity in entityList) { if (entity != null && entity.GetComponent <Player>().PlayerName == playerName) { newElement.Data.PlayerEntity = entity; } } //get party element newElement.Element = partyElement; playersInParty.Add(newElement); } } } } catch (Exception e) { //CharacterData.Core.Core.MainPlugin.LogError("Character: " + e.StackTrace, 5); } return(playersInParty); }