하위 장면 Context에서 상위 장면 Context로 데이터를 전달하는 절차

5396 단어 ZenjectUnity

이 보도는 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를 보여 드릴게요." 입니다.

좋은 웹페이지 즐겨찾기