Beispiel #1
0
        public override void Execute(Server server, Context context)
        {
            //Arrange

            PrivateChannel privateChannel = server.Channels.GetPrivateChannelByOwner(Player);

            if (privateChannel != null)
            {
                Player observer = server.Map.GetPlayers()
                                  .Where(p => p.Name == Name)
                                  .FirstOrDefault();

                if (observer != null && observer != Player)
                {
                    if (!privateChannel.ContainsPlayer(observer) && !privateChannel.ContainsInvitation(observer))
                    {
                        //Act

                        privateChannel.AddInvitation(observer);

                        //Notify

                        context.Write(Player.Client.Connection, new ShowWindowTextOutgoingPacket(TextColor.GreenCenterGameWindowAndServerLog, observer.Name + " has been invited."));

                        context.Write(observer.Client.Connection, new ShowWindowTextOutgoingPacket(TextColor.GreenCenterGameWindowAndServerLog, Player.Name + " invites you to his private chat channel."));

                        base.Execute(server, context);
                    }
                }
            }
        }