private static void Prefix(ColorNoteVisuals __instance, NoteController noteController) { if (!(noteController is MultiplayerConnectedPlayerNoteController)) { NoteColorizer.CNVStart(__instance, noteController); } }
/* * CNV ColorSO holders */ internal static void CNVStart(ColorNoteVisuals cnv, NoteController nc) { ColorType noteType = nc.noteData.colorType; if (noteType == ColorType.ColorA || noteType == ColorType.ColorB) { CNVColorManager.CreateCNVColorManager(cnv, nc); } }
public CustomNoteColorNoteVisuals() { ColorNoteVisuals original = GetComponent <ColorNoteVisuals>(); foreach (FieldInfo info in original.GetType().GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic)) { info.SetValue(this, info.GetValue(original)); } Destroy(original); }
private CNVColorManager(ColorNoteVisuals cnv, NoteController nc) { _cnv = cnv; _nc = nc; _colorManager = _colorManagerAccessor(ref cnv); if (nc.noteData is CustomNoteData customNoteData) { _noteData = customNoteData; } }
public virtual void HandleColorNoteVisualsDidInitEvent(ColorNoteVisuals colorNoteVisuals, NoteController noteController) { if (!_initialized) { _initialized = true; for (var i = 0; i < _initialSpriteAlphas.Length; i++) { _initialSpriteAlphas[i] = SpriteRenderers[i].color.a; } } OnColorNoteVisualsDidInit?.Invoke(); }
private void Visuals_DidInit(ColorNoteVisuals visuals, NoteController noteController) { SetActiveThenColor(activeNote, visuals.noteColor); // Hide certain parts of the default note which is not required if (_customNote.Descriptor.DisableBaseNoteArrows) { _customNoteColorNoteVisuals.TurnOffVisuals(); } else if (_pluginConfig.NoteSize != 1) { _customNoteColorNoteVisuals.ScaleVisuals(_pluginConfig.NoteSize); } }
internal void SetActiveColors() { ColorNoteVisuals colorNoteVisuals = _cnv; Color noteColor = ColorForCNVManager(); SpriteRenderer arrowGlowSpriteRenderer = _arrowGlowSpriteRendererAccessor(ref colorNoteVisuals); SpriteRenderer circleGlowSpriteRenderer = _circleGlowSpriteRendererAccessor(ref colorNoteVisuals); arrowGlowSpriteRenderer.color = noteColor.ColorWithAlpha(arrowGlowSpriteRenderer.color.a); circleGlowSpriteRenderer.color = noteColor.ColorWithAlpha(circleGlowSpriteRenderer.color.a); MaterialPropertyBlockController[] materialPropertyBlockControllers = _materialPropertyBlockControllersAccessor(ref colorNoteVisuals); foreach (MaterialPropertyBlockController materialPropertyBlockController in materialPropertyBlockControllers) { materialPropertyBlockController.materialPropertyBlock.SetColor(_colorID, noteColor); materialPropertyBlockController.ApplyChanges(); } }
public static void SetNoteColour(ColorNoteVisuals noteVis, Color c) { SpriteRenderer ____arrowGlowSpriteRenderer = noteVis.GetField <SpriteRenderer>("_arrowGlowSpriteRenderer"); SpriteRenderer ____circleGlowSpriteRenderer = noteVis.GetField <SpriteRenderer>("_circleGlowSpriteRenderer"); MaterialPropertyBlockController ____materialPropertyBlockController = noteVis.GetField <MaterialPropertyBlockController>("_materialPropertyBlockController"); if (____arrowGlowSpriteRenderer != null) { ____arrowGlowSpriteRenderer.color = c; } if (____circleGlowSpriteRenderer != null) { ____circleGlowSpriteRenderer.color = c; } MaterialPropertyBlock block = ____materialPropertyBlockController.materialPropertyBlock; block.SetColor(noteVis.GetField <int>("_colorID"), c); }
internal static CNVColorManager CreateCNVColorManager(ColorNoteVisuals cnv, NoteController nc) { CNVColorManager cnvColorManager = GetCNVColorManager(nc); if (cnvColorManager != null) { if (nc.noteData is CustomNoteData customNoteData) { cnvColorManager._noteData = customNoteData; customNoteData.customData._color0 = _globalColor[0]; customNoteData.customData._color1 = _globalColor[1]; } return(null); } CNVColorManager cnvcm; cnvcm = new CNVColorManager(cnv, nc); _cnvColorManagers.Add(cnvcm); return(cnvcm); }
public BurstSliderGameNoteController DecorateBurstSliderFill(BurstSliderGameNoteController original) { if (!_shouldSetup) { return(original); } original.gameObject.AddComponent <CustomBurstSliderController>(); ColorNoteVisuals originalVisuals = original.GetComponent <ColorNoteVisuals>(); CustomNoteColorNoteVisuals customVisuals = original.gameObject.AddComponent <CustomNoteColorNoteVisuals>(); customVisuals.enabled = false; foreach (FieldInfo info in originalVisuals.GetType().GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic)) { info.SetValue(customVisuals, info.GetValue(originalVisuals)); } UnityEngine.Object.Destroy(originalVisuals); return(original); }
static void Postfix(ColorNoteVisuals __instance, NoteController ____noteController, MaterialPropertyBlockController[] ____materialPropertyBlockControllers, int ____colorId, ref ColorManager ____colorManager) { if (!NiceMissManager.modActive) { return; } // Debug.Log("ColorNoteVis Init"); var outline = ____noteController.gameObject.GetComponentInChildren <Outline>(); if (outline == null) { // Debug.Log("Outline Not Found"); outline = ____noteController.gameObject.AddComponent <Outline>(); } Color c = ____colorManager.ColorForType(____noteController.noteData.colorType); outline.CheckRenderersValidity(); outline.enabled = false; outline.OutlineMode = Outline.Mode.OutlineVisible; outline.OutlineColor = c; outline.OutlineWidth = PluginConfig.Instance.OutlineWidth; }
public static void SetNoteColour(ColorNoteVisuals noteVis, Color c) { FieldAccessor <ColorNoteVisuals, Color> .Set(ref noteVis, "_noteColor", c); SpriteRenderer ____arrowGlowSpriteRenderer = FieldAccessor <ColorNoteVisuals, SpriteRenderer> .Get(ref noteVis, "_arrowGlowSpriteRenderer"); SpriteRenderer ____circleGlowSpriteRenderer = FieldAccessor <ColorNoteVisuals, SpriteRenderer> .Get(ref noteVis, "_circleGlowSpriteRenderer"); MaterialPropertyBlockController[] ____materialPropertyBlockController = FieldAccessor <ColorNoteVisuals, MaterialPropertyBlockController[]> .Get(ref noteVis, "_materialPropertyBlockControllers"); if (____arrowGlowSpriteRenderer != null) { ____arrowGlowSpriteRenderer.color = c; } if (____circleGlowSpriteRenderer != null) { ____circleGlowSpriteRenderer.color = c; } foreach (var block in ____materialPropertyBlockController) { block.materialPropertyBlock.SetColor(colorID, c); block.ApplyChanges(); } }
private static void Prefix(ColorNoteVisuals __instance, NoteController noteController) { NoteColorizer.CNVStart(__instance, noteController); }
#pragma warning disable SA1313 // Parameter names should begin with lower-case letter private static void Prefix(ColorNoteVisuals __instance, NoteController noteController) #pragma warning restore SA1313 // Parameter names should begin with lower-case letter { NoteColorizer.CNVStart(__instance, noteController); }
public static void Postfix(ref ColorNoteVisuals __instance, NoteController noteController, ref MeshRenderer ____arrowMeshRenderer, ref SpriteRenderer ____arrowGlowSpriteRenderer, ref SpriteRenderer ____circleGlowSpriteRenderer, ref float ____arrowGlowIntensity, ref MaterialPropertyBlockController[] ____materialPropertyBlockControllers, ref int ____colorID, ref ColorManager ____colorManager) { try { var noteMesh = noteController.gameObject.GetComponentInChildren <MeshRenderer>(); // noteMesh.enabled = true; CustomNote activeNote = Plugin.customNotes[Plugin.selectedNote]; Transform child = noteController.gameObject.transform.Find("NoteCube"); GameObject.Destroy(child.Find("customNote")?.gameObject); if (activeNote.path != "DefaultNotes") { GameObject customNote; switch (noteController.noteData.noteType) { case NoteType.NoteA: if (noteController.noteData.cutDirection == NoteCutDirection.Any) { customNote = activeNote.noteDotLeft ?? activeNote.noteLeft; } else { customNote = activeNote.noteLeft; } break; case NoteType.NoteB: if (noteController.noteData.cutDirection == NoteCutDirection.Any) { customNote = activeNote.noteDotRight ?? activeNote.noteRight; } else { customNote = activeNote.noteRight; } break; default: return; } noteMesh.enabled = false; if (activeNote.noteDescriptor.UsesNoteColor) { Color noteColor = ____colorManager.ColorForNoteType(noteController.noteData.noteType) * activeNote.noteDescriptor.NoteColorStrength; for (int i = 0; i < customNote.GetComponentsInChildren <Transform>().Length; i++) { DisableNoteColorOnGameobject colorDisabled = customNote.GetComponentsInChildren <Transform>()[i].GetComponent <DisableNoteColorOnGameobject>(); if (!colorDisabled) { Renderer childRenderer = customNote.GetComponentsInChildren <Transform>()[i].GetComponent <Renderer>(); if (childRenderer) { childRenderer.material.SetColor("_Color", noteColor); } } } } if (activeNote.noteDescriptor.DisableBaseNoteArrows) { ____arrowMeshRenderer.enabled = false; ____arrowGlowSpriteRenderer.enabled = false; ____circleGlowSpriteRenderer.enabled = false; // if (noteController.noteData.cutDirection != NoteCutDirection.Any) // noteController.gameObject.transform.Find("NoteCube").Find("NoteArrow").GetComponent<MeshRenderer>().enabled = false; // noteController.gameObject.transform.Find("NoteCube").Find("NoteArrowGlow").GetComponent<SpriteRenderer>().enabled = false; // noteController.gameObject.transform.Find("NoteCube").Find("NoteCircleGlow").GetComponent<SpriteRenderer>().enabled = false; } GameObject fakeMesh = GameObject.Instantiate(customNote); fakeMesh.name = "customNote"; fakeMesh.transform.SetParent(child); fakeMesh.transform.localPosition = new Vector3(0.0f, 0.0f, 0.0f); fakeMesh.transform.localScale = new Vector3(0.4f, 0.4f, 0.4f); fakeMesh.transform.Rotate(new Vector3(0, 0, 0), Space.Self); /*var field = ____colorManager.GetType().GetField("_colorA", BindingFlags.Instance | BindingFlags.NonPublic); * var leftColor = field.GetValue(____colorManager); * var field2 = ____colorManager.GetType().GetField("_colorB", BindingFlags.Instance | BindingFlags.NonPublic); * var rightColor = field2.GetValue(____colorManager); */ } } catch (Exception err) { Logger.log.Error(err); } }
private static void OnDidInitEvent(ColorNoteVisuals cnv, NoteController noteController) { ApplyColorVisualOnNotes(true); }