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); }
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); }