Open Park-junseo opened 6 months ago
스키마 이벤트 리스너 로직 변경
public void PackageAddListener() { OnBroadcastSchemaMap.Clear(); AddListener((schema) => { GltfRoutineManager.Instance.CreateObject(schema.objData); }); AddListener((schema) => { StartCoroutine(MapDataController.Instance.MapLoad(schema.map_id)); }); AddListener((schema) => { StartCoroutine(Managers.Client.PlayerJoin(schema.joinPlayerId, schema.joinPlayerNickname)); }); AddListener((schema) => { StartCoroutine(Managers.Client.PlayerLeave(schema.leavePlayerId)); }); AddListener((schema) => { StartCoroutine(Managers.Client.PlayerMove(schema.movePlayerId, schema.movePosition, schema.moveRotation)); }); }
BroadCastHandler의 PackageAddListener 함수에 다음과 같이 리스너를 추가한다 위 코드의 schema는 AddListener에 전달한 Generic 스키마 타입으로 사용 가능
스키마 설계 로직 변경
protected override ProtocolConverter GetProtocolStreamByIndividual(ProtocolConverter prev) { Debug.Log("PlayerJoinSchema : " + message); return prev.Cast(ref joinPlayerNickname); }
joinPlayerNickname이 Schema에 포함된 프로퍼티라면 다양한 기본 타입(string, int, double, float, bool 등) Cast 함수와 사용 가능
스키마 이벤트 리스너 로직 변경
스키마 설계 로직 변경