백지부터 시작하는 이세계 코딩 생활
유니티 - 뒤끝 : 델리게이트 사용, 콜백처리 본문
뒤끝 - CRUD 기능
* Delegate : BroadCast 처럼 사용함. (subscriber들에게 publish 된 내용들을 전달(전파) 할 때). 이를 대행자, 대리자 라고 칭함.
* 이벤트 등록 및 삭제하려는 함수를 인벤트 핸들러 라고도 함.
- 이벤트 등록(subscriber)은 += 으로 함.
- 이벤트 삭제(subscriber)는 -= 으로 함.
- 네임스페이스는 System.
Action - return 값을 가지지 않는 형태의 델리게이트.
Func - return 값을 가지는 형태의 델리게이트. 복수개의 파라미터를 실을 수 있으며 마지막에 위치한 파라미터는 Return 값이 됨.
Event - 지역변수 처럼 사용되는 델리게이트. 선언된 클래스에서만 사용이 가능함.
#이벤트발생
전처리 - 통신 : 비동기 상태로 처리 - 후처리
전처리는 prameter 정리
통신할 때 parameter 값을 전송
! 통신완료 후 !
UI에 통신처리 된 뒤의 내용을 표시
뒤끝과 연결되는 CRUD 함수를 생성
생성된 함수는 콜백 처리를 한다
생성된 함수는 스크립트 생성시 Action 이벤트에 등록 시킨다
--- 콜백처리 vvv
private void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
BackEnd.Param param = new BackEnd.Param
{
{ "KEY0", "VALUE0" },
{ "KEY1", "VALUE1" },
{ "KEY2", "VALUE2" }
};
BackendManager.Instance.Insert("USER", param, TestAction);
}
}
private void TestAction(LitJson.JsonData _json)
{
print("CALLBACK : " + _json.ToString());
}
///
--- Action 등록 및 사용 vvv
using System;
public class Worker : MonoBehaviour
{
Action work;
void MoveBricks()
{
Debug.Log("벽돌을 옮겼다.");
}
void DigIn()
{
Debug.Log("땅을 팠다.");
}
void Start()
{
work += MoveBricks;
work += DigIn;
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
work();
}
}
}
--- Delegate 사용 vvv
delegate void Work();
Wrok work;
void MoveBricks()
{
Debug.Log("벽돌을 옮겼다.");
}
void DigIn()
{
Debug.Log("땅을 팠다.");
}
void Start()
{
work += MoveBricks;
work += DigIn;
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
work();
}
}
Ref.
-
[유니티 C# 강좌] 17. 이벤트(Event), 대리자 (델리게이트, Delegate)
1. 이벤트(Event) 이벤트는 개체에서 작업 실행을 알리기 위해 보내는 메시지입니다. 이벤트는 외부 이벤트 가입자(Subscriber)에게 특정한 일을 알려 줍니다. 이벤트는 event라는 키워드를 사용하여
coderzero.tistory.com
https://ansohxxn.github.io/unity%20lesson%201/chapter8-4/
Unity Chapter 8-4. C# 프로그래밍 [고급] : 액션
인프런에 있는 이제민님의 레트로의 유니티 C# 게임 프로그래밍 에센스 강의를 듣고 정리한 필기입니다. 😀 🌜 [레트로의 유니티 C# 게임 프로그래밍 에센스] 강의 들으러 가기!
ansohxxn.github.io
https://m.blog.naver.com/enter_maintanance/221639746861
[Unity, C#] Delegate, Event, Callback, Action
# Delegate 개요 - Delegate라는 단어의 사전적 정의는 대리자, 위임하다 같은 의미입니다. 예를 들어 일...
blog.naver.com
[Unity_03] 유니티 델리게이트, 이벤트
델리게이트이벤트👉 어떤 기능을 목록에 추가하면 델리게이트가 그 목록들을 대신 실행시켜 준다.어떤 계산을 할지, 계산하는 순간에 알고 있어야함👉 계산하는 내용이 달라졌을 때, 코드를
velog.io
https://luv-n-interest.tistory.com/813
이벤트, Events [Unity]
이벤트하면 뭐 경험치 2배, 선물 주는 것 생각이 나는 여기선 그건 아니고 정말 이벤트다. 사건이라고... 해석하기보다 그냥 Event로 받아들이자. 알아보자 정의해보자 어떤 이벤트가 일어났으면
luv-n-interest.tistory.com
-
'Unity' 카테고리의 다른 글
Unity Dictionary 를 활용한 중복처리 예시 (0) | 2022.07.13 |
---|