Exemple #1
0
        protected IParty GetPartyStatus(Guid partyId, out mvParty mvParty)
        {
            mvParty = null;
            var party = base.PartyService.GetById(partyId);
            if (party != null)
            {
                lock (obj)
                {
                    if (party.Data == null)
                    {
                        mvParty = new mvParty { NX = 6, NY = 21 };
                        mvParty.Init(party.Players);
                        party.Data = Serialize.ToJson(mvParty);
                        PartyService.Update(party);
                    }
                    else
                    {
                        var playerUsers = base.PartyService.GetUsers(partyId);
                        mvParty = Serialize.FromJson<mvParty>(party.Data);
                        foreach (var puser in playerUsers)
                        {
                            var partyPlayer = party.Players.FirstOrDefault(p => p.UserId == puser.Id);
                            if (partyPlayer != null) { partyPlayer.Nick = puser.Nick; }
                            var mvPartyPlayer = mvParty.players.FirstOrDefault(p => p.UserId == puser.Id);
                            if (mvPartyPlayer != null) { mvPartyPlayer.Nick = puser.Nick; mvPartyPlayer.ClientStatus = partyPlayer.ClientStatus; }
                        }
                        party.Data = Serialize.ToJson(mvParty);
                        PartyService.Update(party);
                    }

                    if (mvPartik.ContainsKey(partyId))
                        mvPartik[partyId] = mvParty;
                    else
                        AddParty(partyId, mvParty);
                }
            }
            return party;
        }
Exemple #2
0
        mvResponse CheckCurrentPlayer(mvParty mvp)
        {
            var resp = CheckClient();
            if (resp.isEmpty)
                if (mvp == null || mvp.CurrentPlayerIdx < 0 || mvp.players[mvp.CurrentPlayerIdx].Id != user.PlayerId)
                    resp.AddMsgItem("notYourTurn");

            return resp;
        }
Exemple #3
0
 protected void AddParty(Guid key, mvParty party)
 {
     lock (obj)
     {
         mvPartik.Add(key, party);
     }
 }