using System; using System.Windows.Forms; using Sfs2X.Core; using Sfs2X.Entities; using Sfs2X.Requests; public partial class RoomForm : Form { ////// コンストラクタ /// public RoomForm() { InitializeComponent(); } ////// ロードイベント /// /// /// private void RoomForm_Load(object sender, EventArgs e) { Program.smartFox.AddEventListener(SFSEvent.PUBLIC_MESSAGE, OnPublicMessage); RoomListBox.Items.Clear(); foreach (string room in Program.roomStrings) { RoomListBox.Items.Add(room); } RoomListBox.SelectedIndex = 0; } ////// Publicメッセージイベント /// /// public void OnPublicMessage(BaseEvent evt) { string message = (string)evt.Params["message"]; User sender = (User)evt.Params["sender"]; MessagesListBox.Items.Add(sender.Name + ": " + message); } ////// 閉じるボタン処理 /// /// /// private void RoomForm_FormClosing(object sender, FormClosingEventArgs e) { Logout(); } ////// ログアウト処理 /// private void Logout() { Program.smartFox.Send(new LogoutRequest()); Program.lobbyForm.Show(); } ////// メッセージ送信 /// /// /// private void SendButton_Click(object sender, EventArgs e) { Program.smartFox.Send(new PublicMessageRequest(MessageTextBox.Text)); MessageTextBox.Text = String.Empty; } ////// アップデートイベント /// /// /// private void UpdateTimer_Tick(object sender, EventArgs e) { if (Program.smartFox.LastJoinedRoom == null) { return; } UserListBox.Items.Clear(); foreach (User user in Program.smartFox.LastJoinedRoom.UserList) { UserListBox.Items.Add(user.Name); } } ////// ルーム切り替え /// /// /// private void RoomListBox_SelectedIndexChanged(object sender, EventArgs e) { MessagesListBox.Items.Clear(); Program.JoinRoom(RoomListBox.SelectedItem.ToString()); } }