public static Dictionary <string, CommandProcessor> GetCommandProcessors() { return(NoAddressCommandsFactory.GetCommands() .Concat(CycleCommandsFactory.GetCommands()) .Concat(JumpCommandsFactory.GetCommands()) .Concat(RamCommands.GetCommands()) .Concat(BitRamCommands.GetCommands()) .Concat(BitRegisterCommands.GetCommands()) .Concat(InOutCommands.GetCommands()) .Concat(RegisterCommands.GetCommands()) .Concat(RamRegisterCommands.GetCommands()) .ToDictionary(x => x.Key, x => x.Value)); }
/// <summary> /// �R���X�g���N�^ /// </summary> /// <param name="user">���ގ��������[�U�[</param> /// <param name="command">���ގ��C�x���g�̎��</param> /// <param name="channel">���ގ������`�����l��</param> public UserInOutEventArgs(string user, InOutCommands command, string channel) { m_user = user; m_command = command; m_channel = channel; }
/// <summary> /// ユーザー入退室メッセージを処理する /// </summary> /// <param name="command">コマンド</param> /// <param name="sender">送信者</param> /// <param name="receiver">送信先</param> protected void ProcessUserInOut(Queue<EventData> queue, InOutCommands command, string sender, string receiver) { string[] targets = receiver.Split(','); // 受信先ごとにイベントを呼ぶ foreach (string target in targets) { queue.Enqueue(new EventData(eventKeyOfUserInOut, new UserInOutEventArgs(sender, command, target))); } }
/// <summary> /// コンストラクタ /// </summary> /// <param name="user">入退室したユーザー</param> /// <param name="command">入退室イベントの種類</param> /// <param name="channel">入退室したチャンネル</param> public UserInOutEventArgs(string user, InOutCommands command, string channel) { m_user = user; m_command = command; m_channel = channel; }