Example #1
0
        public void AddNewsEvent(GuEvents datas)
        {
            foreach (var guEvent in datas.events)
            {
                foreach (var rec in GetNewsEventList())
                {
                    if (rec.newsEvent.event_id == guEvent.event_id)
                    {
                        return;
                    }
                }
                LocalNewsEvent news = new LocalNewsEvent
                {
                    eState    = NewsEventState.Fresh,
                    newsEvent = guEvent
                };
                GetNewsEventList().Add(news);
                foreach (var res in guEvent.res)
                {
                    switch (res.type)
                    {
                    case "png":
                    case "jpg":
                    {
                        if (string.IsNullOrEmpty(news.spriteUrl.url))
                        {
                            news.spriteUrl.url = res.url;
                            int index = res.url.LastIndexOf('/');
                            news.spriteUrl.filename = res.url.Substring(index + 1);
                            news.spriteUrl.crc      = res.crc;
                            GuLog.Debug("<><NewsEventManager>AddNewsEvent Sprite:" + news.spriteUrl.filename);
                        }
                    }
                    break;

                    case "mp3":
                    {
                        if (string.IsNullOrEmpty(news.audioUrl.url))
                        {
                            news.audioUrl.url = res.url;
                            int index = res.url.LastIndexOf('/');
                            news.audioUrl.filename = res.url.Substring(index + 1);
                            news.audioUrl.crc      = res.crc;
                            GuLog.Debug("<><NewsEventManager>AddNewsEvent Audio:" + news.audioUrl.filename);
                        }
                    }
                    break;
                    }
                }
            }
            SaveNewsEvent();
            DownloadNewsResource();
        }
        public override void DoAction()
        {
            bool error = false;

            Debug.Log("<><SetValuesLongAction> key:" + value.task.key + "    value:" + value.task.value);

            switch (value.task.key)
            {
            case "game_data":
            {
                GameData datas = JsonUtils.String2Json <GameData>(value.task.value);

                fundDataManager.SetValuesLong(datas);
                accessoryDataManager.SetValuesLong(datas);
                if (datas.playerData != null)
                {
                    if (datas.playerData.level == 0)
                    {
                    }
                    else if (datas.playerData.level >= dataManager.playerLevel)
                    {
                        dataManager.SetValuesLong(datas);
                        missionDataManager.SetValuesLong(datas);
                        itemsDataManager.SetValuesLong(datas);
                        Loom.QueueOnMainThread(() =>
                            {
                                uiState.PushNewState(UIStateEnum.eRefreshMainByData);
                            });
                    }
                    else
                    {
                        error = true;
                    }
                }
            }
            break;
            //case "config_times":
            //    {
            //        //先按照旧格式记录数据(一些“跨天”,是否防打扰模式的判断,等逻辑还在此脚本中)
            //        AllSilenceTimeSectionFromServer listSection = JsonUtils.String2Json<AllSilenceTimeSectionFromServer>(value.task.value);
            //        silenceTimeDataManager.InitialSilenceTimeSection(listSection.configs);
            //        //再按照新格式记录数据
            //        mCupClockManager.setOtherClock(mLocalChildInfoAgent.getChildSN(), value.task.value, () =>
            //        {
            //            GuLog.Info("set silence data success: " + value.task.value);
            //            Loom.QueueOnMainThread(() =>
            //            {
            //                Debug.LogFormat("----{0}----SetValuesLongAction.ShowAlertBoard: {1}",
            //                                System.DateTime.Now.ToString("HH:mm:ss:fff"), AlertType.AlertType_SilenceMode);
            //                this.alertBoardSignal.Dispatch(AlertType.AlertType_SilenceMode);

            //            });
            //        }, () =>
            //        {
            //            GuLog.Error("set silence data error: " + value.task.value);
            //        });
            //        //触发信号,检查当前时间是否处于防打扰模式
            //        Loom.QueueOnMainThread(() => { this.silenceTimeProcessSignal.Dispatch(); });
            //    }
            //    break;
            case "friend_list":
            {
            }
            break;

            case "event_message":
            {
                GuEvents datas = JsonUtils.String2Json <GuEvents>(value.task.value);
                newsEventManager.AddNewsEvent(datas);
            }
            break;

            //case "alarm_clock":
            //    {
            //        GuLog.Debug("<><SetValuesLongAction> alarm_clock");
            //        // GuEvents datas = mJsonUtils.String2Json<GuEvents>(value.task.value);
            //        // newsEventManager.AddNewsEvent(datas);
            //        mCupClockManager.setNetClock(mLocalChildInfoAgent.getChildSN(), value.task.value, () =>
            //        {
            //            GuLog.Info("set alarm success info: " + value.task.value);
            //            Loom.QueueOnMainThread(() =>
            //            {
            //                Debug.LogFormat("----{0}----SetValuesLongAction.ShowAlertBoard: {1}",
            //                                System.DateTime.Now.ToString("HH:mm:ss:fff"), AlertType.AlertType_ClockAlarm);
            //                alertBoardSignal.Dispatch(AlertType.AlertType_ClockAlarm);
            //            });
            //        }, () =>
            //        {
            //            GuLog.Error("set alarm error info: " + value.task.value);
            //        });
            //    }
            //    break;
            case "mission_data":
            {
                this.SetMissionData(value.task.value);
            }
            break;

            default:
            {
                error = true;
            }
            break;
            }
            if (error)
            {
                BuildBackAckBody(value.ack, value.task.key, "ERROR", value.todoid);
            }
            else
            {
                BuildBackAckBody(value.ack, "SetValuesLong", "OK", value.todoid);
            }
        }