internal void CheckOutfitTriggerInfoCount(int CoordinateIndex)
            {
                if (!MakerAPI.InsideMaker)
                {
                    return;
                }

                bool Current   = (CoordinateIndex == CurrentCoordinateIndex);
                int  InfoCount = CharaTriggerInfo[CoordinateIndex].Parts.Count();
                int  PartCount = MoreAccessories_Support.GetCoordinatePartsInfo(ChaControl, CoordinateIndex).Count();

                if (InfoCount > PartCount)                 // shit happend
                {
                    CharaTriggerInfo[CoordinateIndex].Parts = CharaTriggerInfo[CoordinateIndex].Parts.Take(PartCount).ToList();
                    Logger.LogError($"[CheckOutfitTriggerInfoCount][{ChaControl.chaFile.parameter?.fullname}] CharaTriggerInfo[{CoordinateIndex}].Parts removed: {InfoCount} -> {PartCount}");
                }

                if (InfoCount < PartCount)
                {
                    for (int i = InfoCount; i < PartCount; i++)
                    {
                        CharaTriggerInfo[CoordinateIndex].Parts.Add(new AccTriggerInfo(i));
                    }
                    Logger.Log(DebugLogLevel, $"[CheckOutfitTriggerInfoCount][{ChaControl.chaFile.parameter?.fullname}] CharaTriggerInfo[{CoordinateIndex}].Parts {InfoCount} -> {PartCount}");
                }

                if (Current)
                {
                    CurOutfitTriggerInfo = CharaTriggerInfo[CoordinateIndex];
                }
            }
            internal void SyncOutfitTriggerInfo(int CoordinateIndex)
            {
                if (!TriggerEnabled)
                {
                    Logger.Log(DebugLogLevel, $"[SyncOutfitTriggerInfo][{ChaControl.chaFile.parameter?.fullname}] TriggerEnabled false");
                    return;
                }

                List <ChaFileAccessory.PartsInfo> PartsInfo = MoreAccessories_Support.GetCoordinatePartsInfo(ChaControl, CoordinateIndex);
                OutfitTriggerInfo OutfitTriggerInfo         = CharaTriggerInfo.ElementAtOrDefault(CoordinateIndex);

                Logger.Log(DebugLogLevel, $"[SyncOutfitTriggerInfo][{ChaControl.chaFile.parameter?.fullname}]Process OutfitTriggerInfo for Coordinate {CoordinateIndex}");

                List <AccTriggerInfo> TriggerParts = OutfitTriggerInfo.Parts;
                int PartsInfoCount    = PartsInfo.Count();
                int TriggerPartsCount = TriggerParts.Count();

                Logger.Log(DebugLogLevel, $"[SyncOutfitTriggerInfo][{ChaControl.chaFile.parameter?.fullname}][{CoordinateIndex}] Count {TriggerPartsCount} : {PartsInfoCount}");

                if (TriggerPartsCount > PartsInfoCount)
                {
                    CharaTriggerInfo[CoordinateIndex].Parts = CharaTriggerInfo[CoordinateIndex].Parts.Take(PartsInfoCount).ToList();
                    Logger.LogWarning($"[SyncOutfitTriggerInfo][{ChaControl.chaFile.parameter?.fullname}] AccTriggerInfo for Coordinate {CoordinateIndex} Slot {TriggerPartsCount} -> {PartsInfoCount}");
                }
                else if (TriggerPartsCount < PartsInfoCount)
                {
                    for (int j = TriggerPartsCount; j < PartsInfoCount; j++)
                    {
                        CharaTriggerInfo[CoordinateIndex].Parts.Add(new AccTriggerInfo(j));
                    }
                    Logger.Log(DebugLogLevel, $"[SyncOutfitTriggerInfo][{ChaControl.chaFile.parameter?.fullname}] AccTriggerInfo for Coordinate {CoordinateIndex} Slot {TriggerPartsCount} -> {PartsInfoCount - 1}");
                }
                for (int i = 0; i < PartsInfoCount; i++)
                {
                    AccTriggerInfo TriggerPart = TriggerParts.ElementAtOrDefault(i);
                    if ((TriggerPart.Kind != -1) && (PartsInfo[i].type == 120))
                    {
                        CharaTriggerInfo[CoordinateIndex].Parts[i] = new AccTriggerInfo(i);
                        Logger.LogMessage($"AccTriggerInfo for Coordinate {CoordinateIndex} Slot {i + 1:00} has been reset");
                    }
                    else
                    {
                        if (TriggerPart.Kind == -1)
                        {
                            CharaTriggerInfo[CoordinateIndex].Parts[i] = new AccTriggerInfo(i);
                        }
                        else if (MathfEx.RangeEqualOn(0, TriggerPart.Kind, 7))
                        {
                            CharaTriggerInfo[CoordinateIndex].Parts[i].Group = "";
                        }
                        else if (TriggerPart.Kind == 9)
                        {
                            CharaTriggerInfo[CoordinateIndex].Parts[i].Group = PartsInfo[i].parentKey;
                        }
                        else if (TriggerPart.Kind > 9)
                        {
                            CharaTriggerInfo[CoordinateIndex].Parts[i].Group = "custom_" + (TriggerPart.Kind - 9).ToString();
                        }
                    }
                }
            }