확장메서드
This : 확장메서드 규격(문법?공식)
Transform : 어느 구조체? 클래스? 에 기능을 추가해줄 것인지
Current : 실제로 활용할 때 그 앞에 붙어서 이 메서드를 불러주는 것
예시)
GetcomponentInParent는 바로 위 부모 오브젝트를 찾아주는 기능이므로
최상위 부모 오브젝트를 찾아주는 기능 만들기
<그 외 활용방향>
카메라 흔드는 효과 등 내가 계속 반복해서 쉽게 쓰고 싶은 기능을 익스텐션 메써드에 넣어서 들고다니면 언제든 꺼내 쓸 수 있음
*주의할점
Int와 같이 구조체일 경우 깊은 복사가 일어나므로 ref를 붙여줘야 실제 값이 변함
<실습>
- 오브젝트의 사이즈를 num만큼의 배수로 키워주는 메서드 만들기
일반화
(다음편에 더 자세히)
void PrintValue<T>(T value)
{
Debug.Log(value);
}
//T라는 데이터타입이 현재 미지의 데이터타입이기 때문에 +함수가 있는지 알 수 없기에 처리X
//T Sum<T>(T numA, T numB)
//{
// return numA + numB;
//}
PrintValue<int>((int)3.1415f);
딥카피
class는 얕은복사가 일어나서 주소를 참조하기 때문에, 원본의 값이 변경되지만
그걸 원하지 않을 순간도 존재하기 때문에 얕은복사 대신 깊은 복사가 이루어지도록 해야된다.
딥카피()
아이템 에이를 똑같이 복사해서 만들어놓고 아이템 비가 그곳을 가르키게 함
(아이템 에이는 원래 가르키던 곳을 가르키게 함)
싱글톤 일반화 + 상속
싱글톤을 한번에 묶어서 관리할 수 있다는 장점 (게임매니저, 오디오매니저,, 등)
'C# > C# 학습 (TIL)' 카테고리의 다른 글
C# 중급문법 DAY3 싱글톤의 일반화 (0) | 2022.06.16 |
---|---|
C# 중급문법 DAY1 추상클래스/인터페이스/콜렉션/foreach/var/object (0) | 2022.06.15 |
제트카라 커스텀/Jet Kara Custom/C# Unity (0) | 2022.04.13 |
C# Unity 다형성 실습 (0) | 2022.04.13 |
Unity C# 이벤트함수 (0) | 2022.04.13 |