public IEnumerator transExpression(Sprite sprite, float speed, bool smooth) { for (int i = 0; i < renderers.allExpressions.Count; i++) { Image img = renderers.allExpressions[i]; if (img.sprite == sprite) { renderers.expression.sprite = sprite; break; } } if (renderers.expression.sprite != sprite) { Image image = GameObject.Instantiate(renderers.expression.gameObject, renderers.expression.transform.parent).GetComponent <Image>(); image.sprite = sprite; renderers.allExpressions.Add(image); renderers.expression = image; image.color = GlobalFuncsDialog.setAlpha(image.color, 0f); } while (GlobalFuncsDialog.TransitionImages(ref renderers.expression, ref renderers.allExpressions, speed, smooth)) { yield return(new WaitForEndOfFrame()); } StopTransitionExpression(); }
IEnumerator Transitioning(Texture texture, float speed, bool smooth, bool loopIfMovie) { if (texture != null) { for (int i = 0; i < allImages.Count; i++) { RawImage img = allImages[i]; if (img.texture == texture) { activeImage = img; break; } } if (activeImage == null || activeImage.texture != texture) { createNewActiveImage(); activeImage.texture = texture; activeImage.color = GlobalFuncsDialog.setAlpha(activeImage.color, 0f); MovieTexture mv = texture as MovieTexture; if (mv != null) { mv.loop = loopIfMovie; mv.Play(); } } } else { activeImage = null; } while (GlobalFuncsDialog.TransitionRawImages(ref activeImage, ref allImages, speed, smooth)) { yield return(new WaitForEndOfFrame()); } stopTransitioning(); }
public void setTexture(Texture texture, bool loopMovie = true) { if (activeImage != null && activeImage.texture != null) { MovieTexture mv = texture as MovieTexture; if (mv != null) { mv.Stop(); } } if (texture != null) { if (activeImage == null) { createNewActiveImage(); } activeImage.texture = texture; activeImage.color = GlobalFuncsDialog.setAlpha(activeImage.color, 1f); MovieTexture mv = texture as MovieTexture; if (mv != null) { mv.loop = loopMovie; mv.Play(); } } else { if (activeImage != null) { allImages.Remove(activeImage); GameObject.DestroyImmediate(activeImage.gameObject); activeImage = null; } } }