Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 public NetRoomPlayerRank GetRank(INetRoom room)
 {
     if (!ranks.ContainsKey(room.GetNetRoomId()))
     {
         ranks.Add(room.GetNetRoomId(), new NetRoomPlayerRank(null, resourceService));
     }
     return(ranks[room.GetNetRoomId()]);
 }
Exemplo n.º 3
0
 public void ReadPoints(INetUser user, INetRoom room)
 {
     ReadPoints(user, room, rank => {
         netService.OnRoomNetRankReaded(user, room, rank);
     }, (error) => {
         netService.OnNetErrorOccured("read_points", error);
     });
 }
Exemplo n.º 4
0
 public void OnRoomNetRankReaded(INetUser user, INetRoom room, NetRoomPlayerRank rank)
 {
     RavenhillEvents.OnRoomNetRankReaded(user, room, rank);
     Debug.Log($"Room Rank Readed: {rank.ToString()}");
     UpdateRanks(room, rank);
 }
Exemplo n.º 5
0
 private void UpdateRanks(INetRoom room, NetRoomPlayerRank rank)
 {
     ranks[room.GetNetRoomId()] = rank;
 }
Exemplo n.º 6
0
        public bool HasRank(INetRoom room)
        {
            var rank = GetRank(room);

            return(!rank.IsNull);
        }
Exemplo n.º 7
0
        public NetRoomScore GetPlayerBestRoomScore(INetRoom room)
        {
            var rank = GetRank(room);

            return(new NetRoomScore(rank.MyPlayer.RoomPoints, rank.MyPlayer.Rank, rank.MyPlayer));
        }
Exemplo n.º 8
0
 public static void OnRoomNetRankReaded(INetUser user, INetRoom room, NetRoomPlayerRank rank)
 {
     RoomNetRankReaded?.Invoke(user, room, rank);
 }