Example #1
0
            protected override void OnCoordinateBeingLoaded(ChaFileCoordinate coordinate)
            {
                Logger.Log(DebugLogLevel, $"[OnCoordinateBeingLoaded][{ChaControl.chaFile.parameter?.fullname}] Fired!!");
                CurOutfitTriggerInfo = null;
                PluginData ExtendedData = GetCoordinateExtendedData(coordinate);

                if (ExtendedData != null && ExtendedData.data.TryGetValue("OutfitTriggerInfo", out var loadedOutfitTriggerInfo) && loadedOutfitTriggerInfo != null)
                {
                    bool LoadFlag = true;
                    if (MakerAPI.InsideMaker)
                    {
                        CoordinateLoadFlags LoadFlags = MakerAPI.GetCoordinateLoadFlags();
                        if ((!(bool)LoadFlags?.Accessories) && (LoadFlags != null))
                        {
                            LoadFlag = false;
                        }
                    }
                    if (LoadFlag)
                    {
                        CharaTriggerInfo[CurrentCoordinateIndex] = MessagePackSerializer.Deserialize <OutfitTriggerInfo>((byte[])loadedOutfitTriggerInfo);
                        Logger.Log(DebugLogLevel, $"[OnCoordinateBeingLoaded][{ChaControl.chaFile.parameter?.fullname}] CharaTriggerInfo[{CurrentCoordinateIndex}] loaded from extdata");
                    }

                    CurOutfitTriggerInfo = CharaTriggerInfo[CurrentCoordinateIndex];
                    Logger.Log(DebugLogLevel, $"[OnCoordinateBeingLoaded] CurOutfitTriggerInfo.Parts count: {CurOutfitTriggerInfo.Parts.Count()}");
                }
                InitCurOutfitTriggerInfo();

                base.OnCoordinateBeingLoaded(coordinate);
            }
Example #2
0
            protected override void OnCoordinateBeingLoaded(ChaFileCoordinate _coordinate)
            {
                TaskUnlock();
                bool go = true;

                DebugMsg(LogLevel.Warning, $"[OnCoordinateBeingLoaded][{ChaControl.GetFullname()}][FunctionEnable: {FunctionEnable}][ReferralIndex: {ReferralIndex}][PartsInfo.Count: {PartsInfo.Count}]");

                if (!FunctionEnable)
                {
                    go = false;
                }
                if (ReferralIndex == 7 && PartsInfo.Count == 0)
                {
                    go = false;
                }
                if (MakerAPI.InsideAndLoaded && !CfgMakerMasterSwitch.Value)
                {
                    go = false;
                }

                CoordinateLoadFlags _loadFlags = MakerAPI.GetCoordinateLoadFlags();

                if (MakerAPI.InsideAndLoaded && _loadFlags != null && !_loadFlags.Accessories)
                {
                    go = false;
                }

                if (go)
                {
                    TaskLock();
                    ChaControl.StartCoroutine(OnCoordinateBeingLoadedCoroutine());
                }
                else
                {
                    if (MakerAPI.InsideAndLoaded)
                    {
                        CustomBase.Instance.updateCustomUI = true;
                    }
                }
                base.OnCoordinateBeingLoaded(_coordinate);
            }