스킬 레벨로 방 찾는 방법¶
스킬 레벨로 방을 검색하려면 방 멤버 전체의 평균 레벨을 저장해야 합니다. 이것은 SetRoom() 메서드를 이용하면 됩니다.
StrixNetwork.instance.SetRoom(
1, // 방 Id
new RoomProperties { key1 = 25 }, // 평균 스킬 레벨
args => {
Debug.Log("SetRoom succeeded");
},
args => {
Debug.Log("SetRoom failed. error = " + args.cause);
}
);
스킬 레벨로 검색할 때 GreaterThanEquals()와 LessThanEquals()를 이용하여 범위 검색을 해도 됩니다.
StrixNetwork.instance.SearchJoinableRoom(
new And(
new List<ICondition> {
new GreaterThanEquals(new Field("key1"), new Value((double)24)),
new LessThanEquals(new Field("key1"), new Value((double)28))
}
),
null, 10, 0,
args => {
foreach (var roomInfo in args.roomInfoCollection) {
logger.Info("roomId " + roomInfo.roomId + " name " + roomInfo.name);
}
},
args => {
logger.Info("SearchJoinableRoom failed. error = " + args.cause);
}
);
다음은 ConditionBuilder를 이용한 예입니다.
StrixNetwork.instance.SearchJoinableRoom(
ConditionBuilder.Builder()
.Field("key1").GreaterThanEquals((double)24)
.And()
.Field("key1").LessThanEquals((double)28)
.Build(),
null, 10, 0,
args => {
foreach (var roomInfo in args.roomInfoCollection) {
logger.Info("roomId " + roomInfo.roomId + " name " + roomInfo.name);
}
},
args => {
logger.Info("SearchJoinableRoom failed. error = " + args.cause);
}
);