예제 #1
0
        /// <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);
            }
        }
예제 #2
0
        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);
            }
        }
예제 #3
0
        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);
        }