* Telnet client header information is now successfully (finally) stripped out of the first stream received. * Command System underwent some optimizations along with now always returning a Boolean value once execution of a command is completed. * ICommand interface now forces all ICommand.Execute methods to return a Boolean value. * DataPaths class re-wrote and is now simi in-use by StandardGame and the Login command * Minor adjustments to how characters are initialized upon connection in various classes.
49 lines
1.6 KiB
C#
49 lines
1.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
using MudEngine.Core.Interface;
|
|
using MudEngine.Game;
|
|
using MudEngine.Game.Characters;
|
|
using MudEngine.Networking;
|
|
|
|
namespace MudEngine.GameScripts.Commands
|
|
{
|
|
public class CommandSay : ICommand
|
|
{
|
|
public string Name { get; set; }
|
|
|
|
public string Description { get; set; }
|
|
|
|
public List<string> Help { get; set; }
|
|
|
|
public CommandSay()
|
|
{
|
|
this.Name = "Say";
|
|
this.Description = "Chat command that allows objects to communicate.";
|
|
}
|
|
|
|
public Boolean Execute(string command, StandardCharacter character)
|
|
{
|
|
//Grab a reference to the character for simplifying access.
|
|
StandardGame game = character.Game;
|
|
//Remove the command "Say " from the string so we only have it's message
|
|
String message = command.Substring(3).Trim();
|
|
|
|
//Loop through each character on the server and broadcast the message.
|
|
//TODO: This should only broadcast to characters that are in the same Environment.
|
|
foreach (StandardCharacter c in character.Game.Server.ConnectionManager.GetConnectedCharacters())
|
|
{
|
|
//Only broadcast this message to those that are not the broadcastor.
|
|
if (c != character)
|
|
c.SendMessage(character.ToString() + " says: " + message);
|
|
}
|
|
|
|
//Send a different copy of the message to the broadcastor.
|
|
character.SendMessage("You say: " + message);
|
|
|
|
return true;
|
|
}
|
|
}
|
|
}
|