public void Blink(MeshRenderer p_sprite, int p_strobeCount) { DragonBones.UnityArmatureComponent DBComponent = p_sprite.transform.GetComponent <DragonBones.UnityArmatureComponent>(); if (DBComponent != null) { DBComponent.StartCoroutine(BlinkCoroutine(DBComponent, 0, ((p_strobeCount * 2) - 1), p_sprite, p_sprite.enabled)); } }
// --- Color change : broken public void StrobeColor(DragonBones.UnityArmatureComponent p_sprite, int p_strobeCount, Color p_colorToStrobe) { DragonBones.ColorTransform oldColor = p_sprite.color; DragonBones.ColorTransform newColor = new DragonBones.ColorTransform(); newColor.redOffset = (int)p_colorToStrobe.r * 255; newColor.greenOffset = (int)p_colorToStrobe.g * 255; newColor.blueOffset = (int)p_colorToStrobe.b * 255; //newColor.alphaOffset = (int)p_colorToStrobe.a * 255; p_sprite.StartCoroutine(StrobeColorHelper(0, ((p_strobeCount * 2) - 1), p_sprite, oldColor, newColor)); }
private IEnumerator BlinkCoroutine(DragonBones.UnityArmatureComponent DBComponent, int p_i, int p_stopAt, MeshRenderer p_mySprite, bool p_startEnable) { if (p_i <= p_stopAt) { p_mySprite.enabled = !p_mySprite.enabled; yield return(new WaitForSeconds(m_blinkingInterval)); DBComponent.StartCoroutine(BlinkCoroutine(DBComponent, (p_i + 1), p_stopAt, p_mySprite, p_startEnable)); } else { p_mySprite.enabled = p_startEnable; } }
private IEnumerator StrobeColorHelper(int p_i, int p_stopAt, DragonBones.UnityArmatureComponent p_mySprite, DragonBones.ColorTransform p_color, DragonBones.ColorTransform p_colorToStrobe) { if (p_i <= p_stopAt) { if (p_i % 2 == 0) { p_mySprite.color = p_colorToStrobe; } else { p_mySprite.color = p_color; } yield return(new WaitForSeconds(m_blinkingInterval)); p_mySprite.StartCoroutine(StrobeColorHelper((p_i + 1), p_stopAt, p_mySprite, p_color, p_colorToStrobe)); } }