낑깡의 게임 프로그래밍 도전기

C# 일시정지 본문

카테고리 없음

C# 일시정지

낑깡겜플밍 2023. 11. 10. 21:11
반응형
SMALL

이벤트 아규먼트가 보낼 정보가 많을때 묶음으로 만들어서 보내려고 만들게됨

이게 뭘까
씬을 불러올때 어떠한 함수를 같이 불러올 수 있다.

옵저버 형태처럼 쓰이는 델리게이트

 

기존 일시정지
기존일시정지 2

 

일시정지를 스크립트로 꺼서 제어하면 코루틴은 자꾸 돌아가는 이슈가 발생한다.

내가 좋아하는 기능
문제
해결법

쌩 코루틴을 쓰지않는 이유는 버튼을 여러번 눌렀을때 중첩되지 않기 위함이다.

이런 기능 편하게 쓰기 위해 인터페이스로 만들어 주는 것도 좋지

이게 몽가???
게임오브젝트가 켜져있어야 다되고

스크립트만 끄면 어웨이크는 그래도 실행된다.

유니티 라이프 사이클에 관하여
내가 저번에 했던 벡터로 움직이지만 중력을 제값으로 해주는 부분
이거는 바닥 쓸림방지로 살짝 뛰워서 이동하는건데 라이프 사이클에 주의해서 땅 체크도 잘되게 순서를 잘 맞춰야한다

업데이트와 픽스드업데이트가 맞물리면 픽스트업데이드가 우선

https://docs.unity3d.com/kr/2019.4/Manual/ExecutionOrder.html

 

이벤트 함수의 실행 순서 - Unity 매뉴얼

Unity 스크립트를 실행하면 사전에 지정한 순서대로 여러 개의 이벤트 함수가 실행됩니다. 이 페이지에서는 이러한 이벤트 함수를 소개하고 실행 시퀀스에 어떻게 포함되는지 설명합니다.

docs.unity3d.com

벨로시티에 물리 영향을 주는 부분
스크립트 순서 정하는 법(예를 들어 다른 스크립트들 내에 어웨이크의 순서를 정하고 싶다면)
this는 나 자신 ref는 어떤 복사를 해줄기 결정. 구조체가 아니라 클래스라면 어짜피 얕은 복사가 일어날 것이라 소용이 없다?

public static class ExtensionMetohd
{

    //public static 리턴타입 확장메서드명(this 확장할 데이터 타입 value, 매개변수....)
    public static void DelayBool(this ref bool value, float time)
    {
        float curTime = 0f;
        while (value)
        {
            curTime += Time.deltaTime;
            if (curTime >= time)
                value = !value;
        }
    }
}

내가 만들어본 확장메세드

반응형
LIST