예제 #1
0
        public override void Execute(RdlCommand command, Avatar caller, IMessageContext context)
        {
            // Args:
            // 0 = To
            // 1 = Message
            if (command.Args.Count >= 2)
            {
                string name    = command.GetArg <string>(0);
                string message = command.GetArg <string>(1);

                Avatar who = this.Server.World.FindAvatar(name);
                if (who != null)
                {
                    who.Context.Add(new Radiance.Markup.RdlTellMessage(name, String.Format(SR.MsgTellFormat, caller.Name, message)));
                }
                else
                {
                    context.Add(new Radiance.Markup.RdlErrorMessage(SR.MsgTellNotFound(name)));
                }
            }
            else
            {
                context.Add(new Radiance.Markup.RdlErrorMessage(SR.MsgTellNoAvatarDefined));
            }
        }
예제 #2
0
        private void EchoInput(RdlCommand cmd)
        {
            switch (cmd.TypeName)
            {
            case "SAY":
                if (!String.IsNullOrEmpty(cmd.Text))
                {
                    this.Write(MessageType.Say, String.Concat("You say: ", cmd.Text));
                }
                break;

            case "SHOUT":
                if (!String.IsNullOrEmpty(cmd.Text))
                {
                    this.Write(MessageType.Say, String.Concat("You shout: ", cmd.Text.ToUpper()));
                }
                break;

            case "TELL":
                string msg = cmd.GetArg <string>(1);
                if (!String.IsNullOrEmpty(msg))
                {
                    this.Write(MessageType.Tell, String.Format("You tell {0}: {1}", cmd.Args[0], msg));
                }
                break;

            case "EMOTE":
                // TODO: Echo Emotes...
                break;
            }
        }
예제 #3
0
 public override void Execute(RdlCommand command, Avatar caller, IMessageContext context)
 {
     this.Server.SendAll(new RdlChatMessage(caller.Name, String.Format(SR.MsgShoutFormat, caller.Name, command.GetArg <string>(0).ToUpper())), caller);
 }
예제 #4
0
 public override void Execute(RdlCommand command, Avatar caller, IMessageContext context)
 {
     caller.Place.SendAll(new RdlChatMessage(caller.Name, String.Format(SR.MsgSayFormat, caller.Name, command.GetArg <string>(0))), caller);
 }