public WorldTravelSelect(AtkUnitBase *address) { UnitBase = address; try { RootNode = UnitBase->RootNode; if (RootNode == null) { return; } WindowComponent = (AtkComponentNode *)RootNode->ChildNode; InformationBox = (AtkComponentNode *)WindowComponent->AtkResNode.PrevSiblingNode; InformationBoxBorder = (AtkNineGridNode *)InformationBox->AtkResNode.PrevSiblingNode; WorldListComponent = (AtkComponentNode *)InformationBoxBorder->AtkResNode.PrevSiblingNode; WorldListHeader = (AtkTextNode *)WorldListComponent->AtkResNode.PrevSiblingNode; CurrentWorldContainer = WorldListHeader->AtkResNode.PrevSiblingNode; HomeWorldContainer = CurrentWorldContainer->PrevSiblingNode; WorldInfoHeader = (AtkTextNode *)HomeWorldContainer->PrevSiblingNode; CurrentWorldName = (AtkTextNode *)CurrentWorldContainer->ChildNode; CurrentWorldHeaderUnderline = (AtkNineGridNode *)CurrentWorldName->AtkResNode.PrevSiblingNode; CurrentWorldHeader = (AtkTextNode *)CurrentWorldHeaderUnderline->AtkResNode.PrevSiblingNode; CurrentWorldIcon = (AtkImageNode *)CurrentWorldHeader->AtkResNode.PrevSiblingNode; IsValid = true; } catch (Exception ex) { SimpleLog.Error(ex); IsValid = false; } }
public static void Hide(AtkNineGridNode *node) => Hide((AtkResNode *)node);
private void FrameworkOnUpdateSetup(Framework framework) { try { var parameterWidget = Common.GetUnitBase("_ParameterWidget"); if (parameterWidget == null) { return; } if (parameterWidget->UldManager.LoadedState != 3) { return; } if (!parameterWidget->IsVisible) { return; } var hpGaugeBar = ((AtkComponentNode *)parameterWidget->UldManager.NodeList[2]); var hpNineGrid = (AtkNineGridNode *)hpGaugeBar->Component->UldManager.NodeList[3]; if (hpGaugeBar->Component->UldManager.NodeListCount == 7) { // Create Nodes UiHelper.ExpandNodeList(hpGaugeBar, 2); shieldGrid = UiHelper.CloneNode(hpNineGrid); //shieldGrid->AtkResNode.NodeID = NodeSlideCastMarker; hpGaugeBar->Component->UldManager.NodeList[6]->PrevSiblingNode = (AtkResNode *)shieldGrid; shieldGrid->AtkResNode.NextSiblingNode = hpGaugeBar->Component->UldManager.NodeList[6]; shieldGrid->AtkResNode.ParentNode = (AtkResNode *)hpGaugeBar; hpGaugeBar->Component->UldManager.NodeList[hpGaugeBar->Component->UldManager.NodeListCount++] = (AtkResNode *)shieldGrid; shieldGrid->AtkResNode.MultiplyRed = 255; shieldGrid->AtkResNode.MultiplyGreen = 255; shieldGrid->AtkResNode.MultiplyBlue = 0; shieldGrid->AtkResNode.AddRed = ushort.MaxValue; shieldGrid->AtkResNode.AddGreen = ushort.MaxValue; shieldGrid->AtkResNode.AddBlue = ushort.MaxValue; shieldGrid->PartID = 5; shieldGrid->AtkResNode.Width = 0; shieldGrid->AtkResNode.Flags_2 |= 1; shieldGridOver = UiHelper.CloneNode(hpNineGrid); shieldGrid->AtkResNode.PrevSiblingNode = (AtkResNode *)shieldGridOver; shieldGridOver->AtkResNode.NextSiblingNode = (AtkResNode *)shieldGrid; shieldGridOver->AtkResNode.ParentNode = (AtkResNode *)hpGaugeBar; hpGaugeBar->Component->UldManager.NodeList[hpGaugeBar->Component->UldManager.NodeListCount++] = (AtkResNode *)shieldGridOver; shieldGridOver->AtkResNode.MultiplyRed = 255; shieldGridOver->AtkResNode.MultiplyGreen = 255; shieldGridOver->AtkResNode.MultiplyBlue = 0; shieldGridOver->AtkResNode.AddRed = ushort.MaxValue; shieldGridOver->AtkResNode.AddGreen = ushort.MaxValue; shieldGridOver->AtkResNode.AddBlue = ushort.MaxValue; shieldGridOver->PartID = 5; shieldGridOver->AtkResNode.Width = 0; shieldGridOver->AtkResNode.Flags_2 |= 1; } shieldGrid = (AtkNineGridNode *)hpGaugeBar->Component->UldManager.NodeList[7]; shieldGridOver = (AtkNineGridNode *)hpGaugeBar->Component->UldManager.NodeList[8]; Service.Framework.Update -= FrameworkOnUpdateSetup; Service.Framework.Update += FrameworkOnUpdate; } catch (Exception ex) { SimpleLog.Error(ex); } }
public static void Show(AtkNineGridNode *node) => Show((AtkResNode *)node);