コード例 #1
0
 // TODO Enum
 public override void Compose(Yupi.Protocol.ISender session, RoomCompetition competition, int userVotes,
                              int status = 0)
 {
     using (ServerMessage message = Pool.GetMessageBuffer(Id))
     {
         message.AppendInteger(competition.Id);
         message.AppendString(competition.Name);
         message.AppendInteger(status); // 0 : vote - 1 : can't vote - 2 : you need the vote badge
         message.AppendInteger(userVotes);
         session.Send(message);
     }
 }
コード例 #2
0
        public override void Compose(Yupi.Protocol.ISender session, RoomCompetition competition, int status,
                                     RoomData room = null)
        {
            using (ServerMessage message = Pool.GetMessageBuffer(Id))
            {
                message.AppendInteger(competition.Id);
                message.AppendString(competition.Name);
                message.AppendInteger(status);

                if (status != 3)
                {
                    message.AppendInteger(0);
                    message.AppendInteger(0);
                }
                else
                {
                    message.AppendInteger(competition.RequiredItems.Count);

                    foreach (BaseItem furni in competition.RequiredItems)
                    {
                        message.AppendString(furni.Classname);
                    }

                    if (room == null)
                    {
                        message.AppendInteger(0);
                    }
                    else
                    {
                        message.StartArray();

                        foreach (BaseItem furni in competition.RequiredItems)
                        {
                            /*
                             * if (!room.GetRoomItemHandler().HasFurniByItemName(furni))
                             * {
                             *  message.AppendString(furni);
                             *  message.SaveArray();
                             * }
                             */
                            throw new NotImplementedException();
                        }

                        message.EndArray();
                    }
                }
                session.Send(message);
            }
        }