/// <summary> /// 플레이어가 로딩이 끝났을때 다른 플레이어에게 플레이어 입장 소식을 알리고, 이 플레이어에게 정보를 전달합니다. /// </summary> public override void Start() { base.Start(); // 해당 유저에게도 월드에 있는 다른 오브젝트 표시 foreach (GameObject item in GameObject.Items.Values) { if (item != this) { JObject json = item.InfoData(); json["type"] = NetworkProtocol.NewObject; socket.Send(json); } } // 인벤토리 로드 MysqlNode node = new MysqlNode(private_data.mysqlOption, "SELECT * FROM inventory_items WHERE student_id=?id"); node["id"] = ID; using (node.ExecuteReader()) { while (node.Read()) { JObject item = new JObject(); item["type"] = NetworkProtocol.Inventory_Add; item["no"] = node.GetInt("file_no"); item["size"] = node.GetInt("size"); item["name"] = node.GetString("name"); item["date"] = node.GetDateTime("date"); item["owner"] = node.GetString("owner"); socket.Send(item); } } // 과제 정보 로드 node = new MysqlNode(private_data.mysqlOption, "SELECT takes_course.course_no, title, end_date FROM takes_course JOIN homework_list ON takes_course.course_no=homework_list.course_no WHERE student_id=?id and DATE(NOW()) <= DATE(end_date)"); node["id"] = ID; using (node.ExecuteReader()) { while (node.Read()) { NetworkMessageList.AddHomework(socket, GachonObjects.AllClass[node.GetString("course_no")].Title, node.GetString("title"), node.GetDateTime("end_date")); } } NetworkMessageList.TipMessage(socket, "가천 빌리지에 오신것을 환영합니다!"); ToChatMessage("가천 빌리지에 오신것을 환영합니다!", ChatType.Notice); int NewMessage = PostSystem.GetNewMessageCount(ID); if (NewMessage > 0) { ToChatMessage("[우편함] " + NewMessage + "개의 읽지 않은 우편이 존재합니다!", ChatType.System); } }
public override void Start() { base.Start(); // 해당 유저에게도 월드에 있는 다른 오브젝트 표시 foreach (GameObject item in GameObject.Items.Values) { if (item != this) { JObject json = item.InfoData(); json["type"] = NetworkProtocol.NewObject; socket.Send(json); } } // 인벤토리 로드 MysqlNode node = new MysqlNode(private_data.mysqlOption, "SELECT * FROM inventory_items WHERE student_id=?id"); node["id"] = ID; using (node.ExecuteReader()) { while (node.Read()) { JObject item = new JObject(); item["type"] = NetworkProtocol.Inventory_Add; item["no"] = node.GetInt("file_no"); item["size"] = node.GetInt("size"); item["name"] = node.GetString("name"); item["date"] = node.GetDateTime("date"); item["owner"] = node.GetString("owner"); socket.Send(item); } } NetworkMessageList.TipMessage(socket, "가천 빌리지에 오신것을 환영합니다!"); ToChatMessage("가천 빌리지에 오신것을 환영합니다!", ChatType.Notice); ToChatMessage("[컴퓨터 네트워크] 과목에 새로운 게시글이 등록되었습니다.", ChatType.System); ToChatMessage("이승화 : 귓속말 테스트~~~", ChatType.Whisper); ToChatMessage("위의 2개의 메세지는 디버그를 위해 출력되었습니다.", ChatType.Notice); int NewMessage = PostSystem.GetNewMessageCount(ID); if (NewMessage > 0) { ToChatMessage("[우편함] " + NewMessage + "개의 읽지 않은 우편이 존재합니다!", ChatType.System); } }
public static void GetPage(User user, int page_no) { if (page_no < 1) { page_no = 1; } int newcount = PostSystem.GetNewMessageCount(user.ID); int count = PostSystem.GetMessageCount(user.ID); int all_page = 1; if (count == 0) { all_page = 1; } else { all_page = (count - 1) / 5 + 1; } if (page_no > all_page) { page_no = all_page; } MysqlNode mysqlNode = new MysqlNode(private_data.mysqlOption, "SELECT * FROM post_name where receiver=?id order by date desc limit " + ((page_no - 1) * 5) + ", 5"); mysqlNode["id"] = user.ID; JArray array = new JArray(); using (mysqlNode.ExecuteReader()) { while (mysqlNode.Read()) { JObject item = new JObject(); item["title"] = mysqlNode.GetString("title"); string content = WebSupport.ParseSupport.NoEnterString(mysqlNode.GetString("content")); if (content.Length < 20) { item["content"] = content; } else { item["content"] = content.Substring(0, 20) + "..."; } item["no"] = mysqlNode.GetInt("no"); item["sender"] = mysqlNode.GetString("sender_name"); DateTime date = mysqlNode.GetDateTime("date"); if (date.DayOfYear == DateTime.Now.DayOfYear) { item["date"] = date.ToString("HH:mm:ss"); } else { item["date"] = date.ToString("yyyy-MM-dd"); } item["read"] = mysqlNode.GetInt("read"); array.Add(item); } } JObject json = new JObject(); json["type"] = NetworkProtocol.Post_Open; json["items"] = array; json["newcount"] = newcount; json["count"] = count; json["page"] = page_no; json["all_page"] = all_page; user.socket.Send(json); }