示例#1
0
 /// <summary>
 /// Fired when a party invitation is received
 /// </summary>
 /// <param name="e"></param>
 /// <returns></returns>
 public async Task OnPartyInvitationAsync(PartyInvitation e)
 {
     if (PartyInvitation != null)
     {
         await PartyInvitation.Invoke(e);
     }
 }
        public static void HandlePartyRefuseInvitationMessage(WorldClient client, PartyRefuseInvitationMessage message)
        {
            PartyInvitation invitation = client.Character.GetInvitation(message.partyId);

            if (invitation != null)
            {
                invitation.Deny();
            }
        }
        public static void HandlePartyInvitationDetailsRequestMessage(WorldClient client, PartyInvitationDetailsRequestMessage message)
        {
            PartyInvitation invitation = client.Character.GetInvitation(message.partyId);

            if (invitation != null)
            {
                PartyHandler.SendPartyInvitationDetailsMessage(client, invitation);
            }
        }
示例#4
0
        private void Awake()
        {
            query = new Query();

            profile         = new Profile(this);
            friend          = new Friend(this);
            friendRequest   = new FriendRequest(this);
            match           = new Match(this);
            party           = new Party(this);
            partyInvitation = new PartyInvitation(this);
        }
示例#5
0
 public static void SendPartyInvitationDetailsMessage(IPacketReceiver client, PartyInvitation invitation)
 {
     client.Send(new PartyInvitationDetailsMessage(
                     invitation.Party.Id,
                     (sbyte)invitation.Party.Type,
                     invitation.Party.Name,
                     invitation.Source.Id,
                     invitation.Source.Name,
                     invitation.Party.Leader.Id,
                     invitation.Party.Members.Select(entry => entry.GetPartyInvitationMemberInformations()),
                     invitation.Party.Guests.Select(invitation.Party.GetPartyGuestInformations)
                     ));
 }
示例#6
0
        public void TestPartyInvitation()
        {
            Serial m = 0x1024u;

            var expected = new PartyInvitation(m).Compile();

            using var ns = PacketTestUtilities.CreateTestNetState();
            ns.SendPartyInvitation(m);

            var result = ns.SendPipe.Reader.TryRead();

            AssertThat.Equal(result.Buffer[0].AsSpan(0), expected);
        }
 public static void HandlePartyCancelInvitationMessage(WorldClient client, PartyCancelInvitationMessage message)
 {
     if (client.Character.IsInParty())
     {
         Character guest = client.Character.Party.GetGuest(message.guestId);
         if (guest != null)
         {
             PartyInvitation invitation = guest.GetInvitation(client.Character.Party.Id);
             if (invitation != null)
             {
                 invitation.Cancel();
             }
         }
     }
 }
        public void Should_be_able_to_get_a_message()
        {
            var autoResetEvent = new AutoResetEvent(false);

            bus.Subscribe<PartyInvitation>("Should_be_able_to_get_a_message", message =>
                {
                    Console.WriteLine("Got message: {0}", message.Text);
                    autoResetEvent.Set();
                });

            var invitation = new PartyInvitation
                {
                    Text = "Please come to my party",
                    Date = new DateTime(2011, 5, 24)
                };

            bus.Publish(invitation);

            if (! autoResetEvent.WaitOne(100000))
                Assert.Fail();
        }
示例#9
0
 public static void SendPartyRefuseInvitationNotificationMessage(IPacketReceiver client, PartyInvitation invitation)
 {
     client.Send(new PartyRefuseInvitationNotificationMessage(invitation.Party.Id, invitation.Target.Id));
 }
示例#10
0
 public static void SendPartyInvitationCancelledForGuestMessage(IPacketReceiver client, Character canceller, PartyInvitation invitation)
 {
     client.Send(new PartyInvitationCancelledForGuestMessage(invitation.Party.Id, canceller.Id));
 }
 public static void SendPartyInvitationDetailsMessage(IPacketReceiver client, PartyInvitation invitation)
 {
     client.Send(new PartyInvitationDetailsMessage((uint)invitation.Party.Id, (sbyte)invitation.Party.Type, "partyzizi", (uint)invitation.Source.Id, invitation.Source.Name, (uint)invitation.Party.Leader.Id,
                                                   from entry in invitation.Party.Members
                                                   select entry.GetPartyInvitationMemberInformations(), invitation.Party.Guests.Select((Character entry) => entry.GetPartyGuestInformations(invitation.Party))));
 }
 public static void SendPartyCancelInvitationNotificationMessage(IPacketReceiver client, PartyInvitation invitation)
 {
     client.Send(new PartyCancelInvitationNotificationMessage((uint)invitation.Party.Id, (uint)invitation.Source.Id, (uint)invitation.Target.Id));
 }