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 void OnAccessoriesCopied(object sender, AccessoryCopyEventArgs e) { if (CheckDisposed()) { return; } AccessoriesCopied?.Invoke(sender, e); }
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); } }