최대 1 분 소요

오늘 작업

  1. 몬스터 관련 handler 작업

S2CstateSyncNotification 패킷을 통해 클라이언트에 score, gold 등 각각의 플레이어의 점수를 동기화했다.
원래 계획은 updateLoop 함수를 통해서 update를 관리할 예정이었으나 게임이 시작되기도 전에 동기화 패킷이 전달되는 문제가 생겨 수정 중이다.

function update() {
    const gameSessions = getAllGameSessions();
    for (let gameSession of gameSessions) {
        //2부터 게임이 시작된다고 했으니 그 때부터 보내면 될 듯 하다.
        //너무 빠르게 시작했을 때 게임이 시작하기도 전에 동기화 패킷을 보내면서 문제가 발생하는 문제가 있다. 
        //제대로 게임이 실행되기까지 대기할 수 있도록 해야 한다.
        if (gameSession.state === 'inProgress') {
            
            //console.log("업데이트 되는 중");
            gameSession.stateSyn();
        }
    }
    //여기서 프레임마다 업데이트를 해보도록 하자.
}

//여기에서 나중에 별도의 업데이트가 필요한 게 있다면 추가하도록 하자.
//나중에 변경될 수도 있으니 생각해 보자.
//나중에 match가 되었을 때 이걸 붙여 넣으면 되지 않을까 싶다.
export function updateLoop() {

    //게임 내 데이터의 동기화는 차라리 좀 딜레이 있게 해보도록 할까?
    //이 쪽은 동기화 업데이트의 경우
    setInterval(() => {
        //console.log("업데이트 확인용")
        update();

    }, 1000);
}

다음 작업

일단 각각의 이벤트가 호출되었을 때마다 별도의 동기화 함수를 보내도록 해본다.
현재 클라이언트 쪽의 현재 플레이어의 HP가 0으로 표기되는 문제를 해결하도록 해본다.

태그:

카테고리:

업데이트: