[Unity] StartCoroutine에서 람다식 사용하기 본문
반응형
코드 원문 :
using System;
using System.Collections;
using UnityEngine;
public static class CoroutineCommon
{
private static readonly MonoBehaviour mMonoBehaviour;
static CoroutineCommon ()
{
var gameObject = new GameObject ( "CoroutineCommon" );
GameObject.DontDestroyOnLoad (gameObject);
mMonoBehaviour = gameObject.AddComponent <MonoBehaviour> ();
}
public static void CallWaitForOneFrame (Action act)
{
mMonoBehaviour.StartCoroutine (DoCallWaitForOneFrame (act));
}
public static void CallWaitForSeconds ( float seconds, Action act)
{
mMonoBehaviour.StartCoroutine (DoCallWaitForSeconds (seconds, act));
}
private static IEnumerator DoCallWaitForOneFrame (Action act)
{
yield return 0 ;
act ();
}
private static IEnumerator DoCallWaitForSeconds ( float seconds, Action act)
{
yield return new WaitForSeconds (seconds);
act ();
}
}
사용 :
public class Character : MonoBehaviour
{
private void Attack ()
{
// 1 프레임 기다렸다가 공격
CoroutineCommon.CallWaitForOneFrame (() => Debug.Log ( "공격" ));
// 1 초 기다렸다가 공격
CoroutineCommon.CallWaitForSeconds ( 1 , () => Debug.Log ( "공격" ));
}
}
참고 :
반응형
'프로그래밍 > ㄴ기타' 카테고리의 다른 글
[Unity] 유니티 웨비나 CATRIX 최적화 사례 정리 (0) | 2020.04.04 |
---|---|
[Unity] 16진수 컬러값을 Unity Color형식으로 변환하기 (0) | 2019.11.13 |
[Unity] 문자열에서 개행 문자열 제거한 값 얻기 (0) | 2019.11.13 |
[Unity] 암호같은 임의 문자열 생성 (0) | 2019.11.13 |
[Unity] Display 2-D Array in Inspector, 2차원 배열 인스펙터에 표시하기 (0) | 2019.10.25 |
Comments