コード例 #1
0
ファイル: PartySystem.cs プロジェクト: MarkWilds/Rhisis
        private void OnPartyMemberRequest(IPlayerEntity player, PartyMemberRequestEventArgs e)
        {
            var worldServer = DependencyContainer.Instance.Resolve <IWorldServer>();

            if (player.PlayerData.Id != e.PlayerId)
            {
                return;
            }

            var member = worldServer.GetPlayerEntityByCharacterId(e.MemberId);

            if (member == null)
            {
                WorldPacketFactory.SendAddPartyRequestCancel(player, e.MemberId, PartyRequestCancelMode.OtherServer);
                return;
            }

            // TODO: Check if in GW, Duel or other stuff that might disturb the player.

            if (member.Party.IsInParty)
            {
                WorldPacketFactory.SendAddPartyRequestCancel(player, e.MemberId, PartyRequestCancelMode.OtherParty);
                return;
            }

            // Send Request to other player
            WorldPacketFactory.SendAddPartyRequest(player, member, e.Troup);
        }
コード例 #2
0
ファイル: PartySystem.cs プロジェクト: MarkWilds/Rhisis
        private void OnPartyMemberRequestCancel(IPlayerEntity player, PartyMemberRequestCancelEventArgs e)
        {
            var worldServer = DependencyContainer.Instance.Resolve <IWorldServer>();

            var leader = worldServer.GetPlayerEntityByCharacterId(e.LeaderId);

            if (leader == null)
            {
                return;
            }

            WorldPacketFactory.SendAddPartyRequestCancel(leader, e.MemberId, e.Mode);
        }