-
Notifications
You must be signed in to change notification settings - Fork 1
/
Interface.cs
39 lines (35 loc) · 1.1 KB
/
Interface.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System.Collections.Generic;
using System.Linq;
using ExileCore;
using ExileCore.PoEMemory;
using ExileCore.Shared.Cache;
namespace VmsHelper
{
public partial class VmsHelperCore : BaseSettingsPlugin<Settings>
{
TimeCache<Element> chatUi;
private IEnumerable<Element> GetVisibleUi()
{
var elements = GameController?.IngameState?.IngameUi?.Children?.Where(
x =>
x?.IsValid == true &&
x?.IsVisible == true &&
x?.IsVisibleLocal == true);
return elements ?? new List<Element>();
}
private Element GetChatUi()
{
var value = GetVisibleUi().FirstOrDefault(
x =>
x?.ChildCount == 5 &&
x?.Children?[0]?.ChildCount == 2 &&
x?.Children?[1]?.ChildCount == 3 &&
x?.Children?[2]?.ChildCount == 4);
return value;
}
private bool ChatIsOpened()
{
return chatUi.Value?.Children?[3]?.IsVisible == true;
}
}
}