목록Unity/이론 (7)
For me
Delegate 는 이전에 쓴 글과 같이 대리자로, 특정 매개변수 목록 및 반환 형식이 있는 메서드를 참조를 나타내는 형식으로, 메서드를 다른 메서드에 인수로 전달하는데 사용 Action와Func 모든 타입의 형태로 미리 정의된 delegate를 간단하게 쓸 수 있도록 하는 기능 // Action { public Action testAction; testAction += TestA; testAction += Testb; testAction?.Invoke("Hello"); void TestA(string s) { Debug.Log(s + "A"); } void TestB(string s) { Debug.Log(s + "B"); } } //Func { public Func testFunc; testFunc ..

설정 Addressable을 사용하기 위해서는 먼저 Window - Pacakage Manager 에서 다음과 같이 사용할 수 있도록 한다 사용 할 시 다음과 같이 에셋 폴더가 만들어짐 사용 방법 1. Addressable을 사용하기 위해서 Prefab, Sound 등 리소스를 포함하는 폴더 @Resources를 만듬 (기존의 Resources 로드 방식을 사용하지 않기 위함) 2. 테스트를 위해 Test라는 빈 Prefab 생성 Addressable을 누르고 AssetManagement - Addressables - Groups를 눌러 생성 3. 자신이 원하는 이름으로 변경 이와같이 설정하면, 경로를 수정하더라도 전혀 영향을 받지 않음 사용 이유 에셋 빌드 및 배포 단순화 개발 편의성 증가 효율적인 에..
Nullable 개념 0이 아닌 비어있는 변수 , null 상태를 가질 수 있는 변수 int, float를 초기화 할 때 null 사용 불가능 → -1, 0 등 숫자로 초기화 Nullable 변수 선언 int? intValue = null; float? floatValue = null; string? stringValue = null; 데이터가 비어있을 때 Value를 호출하면 InvaildOperationException 예외 출력 HasValue와 Value HasValue : 변수가 가지고 있는지 가지고 있지 않는지 (true, false) Value : 변수에 담겨 있는 값
Reflection 개념 런타임 객체의 형식 정보를 들여다 보는 기능 System.Object 형식 정보를 반환하는 GetType() 메소드 보유 즉, 모든 데이터 형식은 System.Object 형식을 상속하므로 GetType() 메소드 또한 보유 Object.GetType() 메소드는 System.Type 형식 결과를 반환 Type 형식은 .NET 데이터 형식의 모든 정보(메소드, 필드, 프로퍼티 등)를 표현 { int a= 0; Type type = a.GetType(); FieldInfo[] fields = type.GetFields(); foreach ( FieldInfo field in fields) Console.WriteLine("Type:{0}, Name{1}", field.FieldTy..
예외 Exception 예정된 프로그램 흐름에서 벗어나는 사건 이것을 예외처리(Exception Handling) 해주어야함 Try ~ Catch 문 try { //TODO } catch(예외객체1) { // 예외 발생시 처리 } catch(예외객체2) { // 예외 발생시 처리 } finally { // 뒷정리 } 다음과 같이 진행 finally문은 try~catch 블록 마지막에 붙여 사용 (뒷정리) 예외가 일어나든 일어나지 않든 실행 사용자 정의 예외 클래스 class MyException : Exception { //... } 예외 필터 catch 블록이 조건을 만족하는 예외 객체만 받아들이는 장치 when 절 이용 class FilterableException : Exception { publi..
Delegate 의미 Delegate (위임하다), 대리자 delegate의 본질은 메소드 참조형 메소드를 참조해서 동작할 수 있도록 함 즉, 함수의 별명으로써 뭔가 할 수 있도록 하는 역할을 함 형식과 사용 복수 또는 단일 메소드를 대신하여 호출 하는 역할 ( 같은 역할이여야 함 → 매개변수, return값이 같아야함) 메소드만 호출 가능 외부에서 호출 가능 (private protected 메소드 호출 불가) delegate 선언 [접근 한정자] delegate return형 delegate명 (메소드 매개변수); *예시 delegate int DelegateType(string Name); Delegate의 사용 예시 (C# 1.0 이상) Delegate형 Delegate명 = new Delegat..
Invoke 매개변수 전달 불가능 함수를 대신 실행, Reflection을 통해 값을 가져옴 Reflection 이란? - 프로그램 실행 도중에 객체의 정보를 조사 - 다른 모듈에 선언된 인스턴스 생성 - 기존 개체에서 형식을 가져와 해당하는 함수를 호출 비활성화가 되더라도 동작 InvokeRepeat를 통해 지속 반복 동작할 수 있고, CancelInvoke 또는 오브젝트 파괴를 통해 종료 Coroutine 매개변수 전달 가능 현재 위치를 기억하고 다른 루틴에게 수행권한을 넘겨주고 다시와서 처리하는 방식 (yield return) 게임 오브젝트가 비활성화 되면 동작 X 비활성화 → 활성화 되더라도 동작 X Update 에서는 5초 뒤 동작하라 한다면 약 250번을 호출하지만 코루틴은 5초를 쉴 수 있기..