하위 장면 Context에서 상위 장면 Context로 데이터를 전달하는 절차
이 보도는 Unity Advent Calendar 2019 11일째 보도입니다.
지난번에는 gremito 선생의 개별 맞춤형 수업은 어렵지만 제작감이 있어서 재미있어요!
하위 세대에서 상위 세대로 데이터 전달
하고 싶을 때 있어요?
하고 싶어서 했어요.
MAURUN 정보
https://youtu.be/9yx-3RXG8rI
VTUBER가 만든 동인 게임이에요.내가 그 일을 도왔기 때문에 그 말을 했다.뭐? 게임?Booth에서 다운로드할 수 있습니다.소리가 나는 버전은 유료다.
Zenject, UniRx, UniTask 등 흔히 볼 수 있는 것들을 사용하고 있습니다.편하죠?
요구 사항
데이터 인계하려는 거지?
마우룬의 게임 장면은 이런 여러 장면이다.
주요 장면 속의 물건
HP 같은 UI
게임 전체 상태 관리
무대 장면 속의 것들.
• 장애물, 복구 항목, 득점 항목 등의 배치
시작점 구성
대상 사이트 구성
하고 싶은 일
무대마다 시작점을 바꾸고 싶다
・ 스테이지의 데이터에서 출발점을 얻어 플레이어 캐릭터를 설정하고 싶습니다.
설계
나는 그렇게 어려운 일을 하지 않을 것이다.Zenject를 사용하기 때문에 이 일대가 편해요.
참조 관계는 이런 느낌입니다.
사실 이런 느낌의 처리예요.
StartPoint.cs
public class StartPoint : MonoBehaviour, IStageEntryPoint
{
[Inject] private SetupStartPointUseCase usecase;
void Start()
{
usecase.In(this.transform.position);
}
}
StageBuilder.cs
public class StageBuilder : IStageBuilder
{
// 省略
// Initializerから呼ばれる
public async UniTask SetupGame(IMovable character)
{
var startPoint = await usecase.Out().Where(x => x != null).First();
character.SetPosition(startPoint);
}
}
아마 이런 느낌일 거예요.무사히 무대마다 다른 느낌이 든다.실제로는 시작 위치만 하면 이용되지 않는데... 하지만 하고 싶을 때 못하는 건 무기력하고 실제로는 무대가 되는 데이터였으면 좋았을 텐데...
부모와 아이 모두 갈 수 있다
부모가 아이의 Context 클래스를 참조하는 것은 매우 힘들지만, 이 UseCase는 부모의 Context에서 물론 부모도 아이에게 데이터를 재생할 수 있다.UseCase라는 이름은 적당한 여지가 있는 것 같지만 이렇게 하면 되지 않겠습니까?
종료(및 홍보)
Zenject를 말하면서 MAURUN이라는 게임을 했어요.
Zenject 모르는 사람 추천고구마산의Zenject 분쇄기 Book(자의홍보)
그리고 처음에도 썼는데 MAURUN은 게임을 만들어서 공개했어요.
놀다
https://7name.site/maurun.github.io/
그리고 이번 주말 기술서 동인지박람회2는 동인지즉매회를 열어 100개 정도의 모바일 게임을 터치하고 허가증 표시의 유무와 신용 표시의 유무를 조사한 폴집을 나눠준다.말하고 싶은 사람은 놀러 오세요.
기술서 동인지박람회 2 변 작업실
겸사겸사 이미 출판된 Booth - 동시 작업실에서도 다운로드 판매가 있다.마음에 걸리면 꼭 손에 쥐세요.
내일?
내일은 Kan_Kikuchi 선생님 "12번, 다시 한 번 해 주세요. 최고의 Audio Manager를 보여 드릴게요." 입니다.
Reference
이 문제에 관하여(하위 장면 Context에서 상위 장면 Context로 데이터를 전달하는 절차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/enpel/items/738a814e26bbe934304f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)