강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

sounds good님의 프로필 이미지
sounds good

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

JobQueue

Arrow 함수 에서의 Push 사용

해결된 질문

작성

·

259

0

안녕하세요 Arrow의 Update에서 궁금한점이 있어서 문의드립니다.

Arrow.cs에서 LeaveGame을 처리할 때 Push함수를 사용하도록 변경을 했는데 Arrow의 부모클래스인 Projectile의 Update 실행을 GameRoom의 Update 함수내에서  projectile.Update(); 의 호출로 실행해주고 있기 때문에 이미 Push가 Job으로 관리되고 있을것 같습니다.

그렇다면 혹시 Room.Push(Room.LeaveGame, Id); 부분도 Room.LeaveGame(Id); 로 사용해도 되는건지 궁금합니다~!

public override void Update()

        {

            if (Data == null || Data.projectile == null || Owner == null || Room == null)

                return;

            if (_nextMoveTick >= Environment.TickCount64)

                return;

            long tick = (long)(1000/Data.projectile.speed);

            _nextMoveTick = Environment.TickCount64 + tick;

            Vector2Int destPos = GetFrontCellPos();

            if (Room.Map.CanGo(destPos))

            {

                CellPos = destPos;

                S_Move movePacket = new S_Move();

                movePacket.ObjectId = Id;

                movePacket.PosInfo = PosInfo;

                Room.Broadcast(movePacket);

                Console.WriteLine("Move Arrow");

            }

            else

            {

                GameObject target = Room.Map.Find(destPos);

                if (target != null)

                {

                    target.OnDamaged(this, Data.damage + Owner.Stat.Attack);

                }

                //소멸

                Room.Push(Room.LeaveGame, Id);

            }

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

둘다 가능합니다.
이전 질문과 동일한 내용이므로 링크로 대체합니다.

https://www.inflearn.com/questions/71106

sounds good님의 프로필 이미지
sounds good

작성한 질문수

질문하기