Пример #1
0
        private void fishDieHandler(SAFactoryEvent action)
        {
            FishData fs = (FishData)action.Body;

            if (sofVO.ContainsKey(fs.id))
            {
                sofVO.Remove(fs.id);
            }

            if (sofVO.Count == 0)//发送挂起
            {
                CHangUpRoom.Builder hangUpRoom = CHangUpRoom.CreateBuilder();
                sock.sendMessage(ProtoTypeEnum.CHangUpRoom, hangUpRoom.Build().ToByteArray());
            }
        }
Пример #2
0
        public static System.Object getDataModel(ProtoTypeEnum type)
        {
            if (dataModel.ContainsKey(type))
            {
                return(dataModel[type]);
            }
            else
            {
                switch (type)
                {
                case ProtoTypeEnum.CLogin: {
                    return(CLogin.CreateBuilder());
                }

                case ProtoTypeEnum.SUserData: {
                    return(SUserData.CreateBuilder());
                }

                case ProtoTypeEnum.CEnterRoom: {
                    return(CEnterRoom.CreateBuilder());
                }

                case ProtoTypeEnum.COutRoom: {
                    return(COutRoom.CreateBuilder());
                }

                case ProtoTypeEnum.SOutRoom: {
                    return(SOutRoom.CreateBuilder());
                }

                case ProtoTypeEnum.SFishChapter: {
                    return(SFishChapter.CreateBuilder());
                }

                case ProtoTypeEnum.CHangUpRoom: {
                    return(CHangUpRoom.CreateBuilder());
                }

                case ProtoTypeEnum.SError: {
                    return(SError.CreateBuilder());
                }

                case ProtoTypeEnum.SSingleUpdate: {
                    return(SSingleUpdate.CreateBuilder());
                }

                case ProtoTypeEnum.CTest: {
                    return(CTest.CreateBuilder());
                }

                case ProtoTypeEnum.STest: {
                    return(STest.CreateBuilder());
                }

                case ProtoTypeEnum.CHeart: {
                    return(CHeart.CreateBuilder());
                }
                }
                return(null);
            }
        }
Пример #3
0
        public static System.Object getDataModel(ProtoTypeEnum type, byte[] bytes)
        {
            switch (type)
            {
            case ProtoTypeEnum.CLogin: {
                CLogin.Builder model;
                if (dataModel.ContainsKey(type))
                {
                    model = (CLogin.Builder)dataModel[type];
                    model.Clear();
                    model.MergeFrom(bytes);
                }
                else
                {
                    model = CLogin.ParseFrom(bytes).ToBuilder();
                    dataModel.Add(type, model);
                }
                return(model);
            }

            case ProtoTypeEnum.SUserData: {
                SUserData.Builder model;
                if (dataModel.ContainsKey(type))
                {
                    model = (SUserData.Builder)dataModel[type];
                    model.Clear();
                    model.MergeFrom(bytes);
                }
                else
                {
                    model = SUserData.ParseFrom(bytes).ToBuilder();
                    dataModel.Add(type, model);
                }
                return(model);
            }

            case ProtoTypeEnum.CEnterRoom: {
                CEnterRoom.Builder model;
                if (dataModel.ContainsKey(type))
                {
                    model = (CEnterRoom.Builder)dataModel[type];
                    model.Clear();
                    model.MergeFrom(bytes);
                }
                else
                {
                    model = CEnterRoom.ParseFrom(bytes).ToBuilder();
                    dataModel.Add(type, model);
                }
                return(model);
            }

            case ProtoTypeEnum.COutRoom: {
                COutRoom.Builder model;
                if (dataModel.ContainsKey(type))
                {
                    model = (COutRoom.Builder)dataModel[type];
                    model.Clear();
                    model.MergeFrom(bytes);
                }
                else
                {
                    model = COutRoom.ParseFrom(bytes).ToBuilder();
                    dataModel.Add(type, model);
                }
                return(model);
            }

            case ProtoTypeEnum.SOutRoom: {
                SOutRoom.Builder model;
                if (dataModel.ContainsKey(type))
                {
                    model = (SOutRoom.Builder)dataModel[type];
                    model.Clear();
                    model.MergeFrom(bytes);
                }
                else
                {
                    model = SOutRoom.ParseFrom(bytes).ToBuilder();
                    dataModel.Add(type, model);
                }
                return(model);
            }

            case ProtoTypeEnum.SFishChapter: {
                SFishChapter.Builder model;
                if (dataModel.ContainsKey(type))
                {
                    model = (SFishChapter.Builder)dataModel[type];
                    model.Clear();
                    model.MergeFrom(bytes);
                }
                else
                {
                    model = SFishChapter.ParseFrom(bytes).ToBuilder();
                    dataModel.Add(type, model);
                }
                return(model);
            }

            case ProtoTypeEnum.CHangUpRoom: {
                CHangUpRoom.Builder model;
                if (dataModel.ContainsKey(type))
                {
                    model = (CHangUpRoom.Builder)dataModel[type];
                    model.Clear();
                    model.MergeFrom(bytes);
                }
                else
                {
                    model = CHangUpRoom.ParseFrom(bytes).ToBuilder();
                    dataModel.Add(type, model);
                }
                return(model);
            }

            case ProtoTypeEnum.SError: {
                SError.Builder model;
                if (dataModel.ContainsKey(type))
                {
                    model = (SError.Builder)dataModel[type];
                    model.Clear();
                    model.MergeFrom(bytes);
                }
                else
                {
                    model = SError.ParseFrom(bytes).ToBuilder();
                    dataModel.Add(type, model);
                }
                return(model);
            }

            case ProtoTypeEnum.SSingleUpdate: {
                SSingleUpdate.Builder model;
                if (dataModel.ContainsKey(type))
                {
                    model = (SSingleUpdate.Builder)dataModel[type];
                    model.Clear();
                    model.MergeFrom(bytes);
                }
                else
                {
                    model = SSingleUpdate.ParseFrom(bytes).ToBuilder();
                    dataModel.Add(type, model);
                }
                return(model);
            }

            case ProtoTypeEnum.CTest: {
                CTest.Builder model;
                if (dataModel.ContainsKey(type))
                {
                    model = (CTest.Builder)dataModel[type];
                    model.Clear();
                    model.MergeFrom(bytes);
                }
                else
                {
                    model = CTest.ParseFrom(bytes).ToBuilder();
                    dataModel.Add(type, model);
                }
                return(model);
            }

            case ProtoTypeEnum.STest: {
                STest.Builder model;
                if (dataModel.ContainsKey(type))
                {
                    model = (STest.Builder)dataModel[type];
                    model.Clear();
                    model.MergeFrom(bytes);
                }
                else
                {
                    model = STest.ParseFrom(bytes).ToBuilder();
                    dataModel.Add(type, model);
                }
                return(model);
            }

            case ProtoTypeEnum.CHeart: {
                CHeart.Builder model;
                if (dataModel.ContainsKey(type))
                {
                    model = (CHeart.Builder)dataModel[type];
                    model.Clear();
                    model.MergeFrom(bytes);
                }
                else
                {
                    model = CHeart.ParseFrom(bytes).ToBuilder();
                    dataModel.Add(type, model);
                }
                return(model);
            }
            }
            return(null);
        }