// UI 페이드 효과 public void FadeEffect(GameObject target, Vector2 goalVal, float time, FadeFlag optionFlag) { // 위치 변경 페이드 if ((optionFlag & FadeFlag.POSITION) == FadeFlag.POSITION) { StartCoroutine(FadePosition(target.GetComponent <RectTransform>(), goalVal, time)); } // 크기 변경 페이드 if ((optionFlag & FadeFlag.SCALE) == FadeFlag.SCALE) { StartCoroutine(FadeScale(target.GetComponent <RectTransform>(), goalVal, time)); } // 알파 변경 페이드 if ((optionFlag & FadeFlag.ALPHA) == FadeFlag.ALPHA) { if (target.GetComponent <Image>() != null) { StartCoroutine(FadeAlpha(target.GetComponent <Image>(), goalVal.x, time)); } else if (target.GetComponent <Text>() != null) { StartCoroutine(FadeAlpha(target.GetComponent <Text>(), goalVal.x, time)); } else if (target.GetComponent <SpriteRenderer>() != null) { StartCoroutine(FadeAlpha(target.GetComponent <SpriteRenderer>(), goalVal.x, time)); } else { } } // 각도 변경 페이드 if ((optionFlag & FadeFlag.ANGLE) == FadeFlag.ANGLE) { StartCoroutine(FadeAngle(target.GetComponent <RectTransform>(), goalVal, time)); } // 종료 후 enable 설정 if ((optionFlag & FadeFlag.FINDISABLE) == FadeFlag.FINDISABLE) { StartCoroutine(AfterEnable(target.gameObject, time, false)); } // 종료 후 disable 설정 if ((optionFlag & FadeFlag.FINDESTROY) == FadeFlag.FINDESTROY) { StartCoroutine(AfterEnable(target.gameObject, time, true)); } }
public void FadeStart(FadeFlag Flag) { SwichFlag = Flag; StartCoroutine(Fader()); }