private static void OnCopyAcs(CvsAccessoryCopy instance) { if (AccessoriesCopied == null) { return; } try { var selected = instance.GetComponentsInChildren <UnityEngine.UI.Toggle>() .Where(x => x.isOn) .Select(x => x.transform.parent.name) .Select(n => int.Parse(n.Substring("kind".Length))) .ToList(); var dropdowns = Traverse.Create(instance).Field("ddCoordeType").GetValue <TMP_Dropdown[]>(); var args = new AccessoryCopyEventArgs(selected, (ChaFileDefine.CoordinateType)dropdowns[1].value, (ChaFileDefine.CoordinateType)dropdowns[0].value); AccessoriesCopied(instance, args); } catch (Exception ex) { KoikatuAPI.Log(LogLevel.Error, "Crash in AccessoriesCopied event: " + ex); } }
private static void OnCopyAcs(CvsAccessoryCopy instance) { if (AccessoriesCopied == null && !KoikatuAPI.EnableDebugLogging) { return; } try { var selected = instance.GetComponentsInChildren <UnityEngine.UI.Toggle>() .Where(x => x.isOn) .Select(x => x.transform.parent.name) .Select(n => int.Parse(n.Substring("kind".Length))) .ToList(); var dropdowns = Traverse.Create(instance).Field("ddCoordeType").GetValue <TMP_Dropdown[]>(); var args = new AccessoryCopyEventArgs(selected, (ChaFileDefine.CoordinateType)dropdowns[1].value, (ChaFileDefine.CoordinateType)dropdowns[0].value); if (KoikatuAPI.EnableDebugLogging) { KoikatuAPI.Logger.LogMessage($"AccessoriesCopied - ids: {string.Join(", ", args.CopiedSlotIndexes.Select(x => x.ToString()).ToArray())}, src:{args.CopySource}, dst:{args.CopyDestination}"); } if (AccessoriesCopied != null) { AccessoriesCopied(instance, args); } } catch (Exception ex) { KoikatuAPI.Logger.LogError("Crash in AccessoriesCopied event: " + ex); } }
private static void CvsClothesCopy_ChangeSrcDD(CvsAccessoryCopy __instance) { if (__instance.ddCoordeType[1].value >= __instance.chaCtrl.chaFile.coordinate.Length) { __instance.ddCoordeType[1].value = 0; } }
private static void OnCopyAcs(CvsAccessoryCopy instance) { if (AccessoriesCopied == null && !KoikatuAPI.EnableDebugLogging) { return; } try { var toggles = instance.tglKind; var selected = new System.Collections.Generic.List <int>(); for (var i = 0; i < toggles.Length; i++) { if (toggles[i].isOn) { selected.Add(i); } } var dropdowns = instance.ddCoordeType; var args = new AccessoryCopyEventArgs(selected, (ChaFileDefine.CoordinateType)dropdowns[1].value, (ChaFileDefine.CoordinateType)dropdowns[0].value); if (KoikatuAPI.EnableDebugLogging) { KoikatuAPI.Logger.LogMessage($"AccessoriesCopied - ids: {string.Join(", ", args.CopiedSlotIndexes.Select(x => x.ToString()).ToArray())}, src:{args.CopySource}, dst:{args.CopyDestination}"); } if (AccessoriesCopied != null) { AccessoriesCopied(instance, args); } } catch (Exception ex) { KoikatuAPI.Logger.LogError("Crash in AccessoriesCopied event: " + ex); } }
public static void CopyCopyAcsPostfix(CvsAccessoryCopy __instance) { OnCopyAcs(__instance); }