쿠키런:오븐브레이크 모작
→ 3주라는 짧은 기간 내의 프로젝트 완성을 위해 게임서버 개발을 위한 프레임워크 학습 + 클라이언트와 게임서버 개발을 둘 다 진행해야 했기 때문에 기획과 리소스를 찾는 시간을 줄이기 위해 기존의 게임을 모작하는 방법을 선택
친구 신청
신청을 요청 할 시의 다양한 상황에 대한 예외 처리 / 에러 처리 로직
ex) 이미 상대방이 나에게 신청을 한 경우
// 역방향 신청 존재하는지 확인
ReverseRequestInfo reverseRequestInfo = await gameDB.GetReverseRequestInfo(myName, toUserName);
if(reverseRequestInfo != null)
{
string addElementKey1 = string.Format("friend_relationship:{0}",myName);
string addElementKey2 = string.Format("friend_relationship:{0}",toUserName);
await gameDB.InsertFriendShip(myName,toUserName); // mySql 저장
await gameDB.InsertFriendShip(toUserName,myName); // mySql 저장
await redisDB.AddSetElement(addElementKey1, toUserName); // redis 저장
await redisDB.AddSetElement(addElementKey2, myName); // redis 저장
await gameDB.DeleteFriendRequest(toUserName,myName); // 역방향 신청 삭제
return EErrorCode.None;
}
현재 친구 신청이 와있는 상태
이미 신청이 와있는 상태에서 역방향 친구 신청
친구 등록 완료
친구 관계 테이블과 친구 신청 테이블이 따로 있는 이유