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);
Example #3
0
        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);