private void ReadPoints(INetUser user, INetRoom room, System.Action <NetRoomPlayerRank> onSuccess, System.Action <INetError> onError) { WWWForm form = new WWWForm(); form.AddField("op", "read_points"); form.AddField("room_id", room.RoomId); form.AddField("room_mode", room.RoomMode.ToString()); form.AddField("user_id", user.id); form.AddField("user_name", user.name); form.AddField("avatar_id", user.avatarId); form.AddField("level", user.level); MakeRequest(form, json => { try { Dictionary <string, object> dict = Json.Deserialize(json) as Dictionary <string, object>; if (dict == null) { onError?.Invoke(errorFactory.Create(NetErrorCode.json, string.Empty)); return; } NetRoomPlayerRank rank = new NetRoomPlayerRank(dict, resourceService); onSuccess?.Invoke(rank); } catch (Exception exception) { onError?.Invoke(errorFactory.Create(NetErrorCode.json, string.Empty)); } }, onError); }
public NetRoomPlayerRank GetRank(INetRoom room) { if (!ranks.ContainsKey(room.GetNetRoomId())) { ranks.Add(room.GetNetRoomId(), new NetRoomPlayerRank(null, resourceService)); } return(ranks[room.GetNetRoomId()]); }
public void ReadPoints(INetUser user, INetRoom room) { ReadPoints(user, room, rank => { netService.OnRoomNetRankReaded(user, room, rank); }, (error) => { netService.OnNetErrorOccured("read_points", error); }); }
public void OnRoomNetRankReaded(INetUser user, INetRoom room, NetRoomPlayerRank rank) { RavenhillEvents.OnRoomNetRankReaded(user, room, rank); Debug.Log($"Room Rank Readed: {rank.ToString()}"); UpdateRanks(room, rank); }
private void UpdateRanks(INetRoom room, NetRoomPlayerRank rank) { ranks[room.GetNetRoomId()] = rank; }
public bool HasRank(INetRoom room) { var rank = GetRank(room); return(!rank.IsNull); }
public NetRoomScore GetPlayerBestRoomScore(INetRoom room) { var rank = GetRank(room); return(new NetRoomScore(rank.MyPlayer.RoomPoints, rank.MyPlayer.Rank, rank.MyPlayer)); }
public static void OnRoomNetRankReaded(INetUser user, INetRoom room, NetRoomPlayerRank rank) { RoomNetRankReaded?.Invoke(user, room, rank); }