예제 #1
0
    private IEnumerator DownloadData(DatNewTopic NewTopic)
    {
        //最新ニュースデータ取得
        IEnumerator Async;

        //件数が少ない場合はライト版で取得する
        if (NewTopic == null)
        {
            NewTopic          = new DatNewTopic();
            NewTopic.LastData = new ResLpsTopicList();
            Async             = ClalisForLiplisGetNewTopic2MltLight.GetNewTopic(new List <string>());
        }
        else if (NewTopic.LastData == null)
        {
            NewTopic.LastData = new ResLpsTopicList();
            Async             = ClalisForLiplisGetNewTopic2MltLight.GetNewTopic(new List <string>());
        }
        else if (NewTopic.TalkTopicList.Count <= 25)
        {
            Async = ClalisForLiplisGetNewTopic2MltLight.GetNewTopic(new List <string>());
        }
        else
        {
            Async = ClalisForLiplisGetNewTopic2Mlt.GetNewTopic(new List <string>());
        }

        return(Async);
    }
예제 #2
0
    /// <summary>
    /// デバッグテキストを設定する
    /// </summary>
    private void SetText()
    {
        try
        {
            //トークインスタンス取得
            DatNewTopic NewTopic = LiplisStatus.Instance.NewTopic;

            if (LiplisSetting.Instance.Setting.FlgDebug)
            {
                //テキスト表示
                TxtQNum.text        = NewTopic.TalkTopicList.Count.ToString();
                TxtTopicNum.text    = NewTopic.LastData.topicList.Count.ToString();
                TxtChatedNum.text   = NewTopic.ChattedKeyList.Count.ToString();
                TxtNewsListNum.text = LiplisStatus.Instance.NewsList.LastNewsList.NewsList.Count.ToString();
            }

            //トピック件数を表示する
            TxtTopicNumR.text = NewTopic.TalkTopicList.Count.ToString();

            //カウント
            SliderTopicNum.value = NewTopic.TalkTopicList.Count;
        }
        catch
        {
        }
    }
예제 #3
0
    /// <summary>
    /// テキストの表示
    /// </summary>
    void UpdateText()
    {
        try
        {
            //トークインスタンス取得
            DatNewTopic NewTopic = LiplisStatus.Instance.NewTopic;

            //テキスト表示
            TxtQNum.text        = NewTopic.TalkTopicList.Count.ToString();
            TxtTopicNum.text    = NewTopic.LastData.topicList.Count.ToString();
            TxtChatedNum.text   = NewTopic.ChattedKeyList.Count.ToString();
            TxtNewsListNum.text = LiplisStatus.Instance.NewsList.LastNewsList.NewsList.Count.ToString();
            TxtTopicNumR.text   = NewTopic.TalkTopicList.Count.ToString();

            //カウント
            TopicQSlider.value = NewTopic.TalkTopicList.Count;
        }
        catch
        {
        }
    }
예제 #4
0
    /// <summary>
    /// 最新データをダウンロードする
    /// </summary>
    /// <returns></returns>
    private IEnumerator SetLastTopicMltData()
    {
        if (FlgRunSetLastTopicMltData)
        {
            goto End;
        }

        //実行中
        FlgRunSetLastTopicMltData = true;

        //トークインスタンス取得
        DatNewTopic NewTopic = LiplisStatus.Instance.NewTopic;

        //アシンク取得
        IEnumerator Async = DownloadData(NewTopic);

        //非同期実行
        yield return(Async);

        //データ取得
        ResLpsTopicList DownloadLastData = (ResLpsTopicList)Async.Current;

        //NULLチェック
        if (DownloadLastData == null)
        {
            goto End;
        }
        if (DownloadLastData.topicList == null)
        {
            goto End;
        }

        //データ取得
        NewTopic.LastData = DownloadLastData;

        //キーリスト取得
        List <string> keyList = NewTopic.GetKeyList();

        //スライス
        yield return(new WaitForSeconds(1f));

        //キーが無ければ入れる。
        foreach (MsgTopic topic in NewTopic.LastData.topicList)
        {
            //話題を積む条件は精査必要
            if (!keyList.Contains(topic.DataKey))
            {
                if (LiplisSetting.Instance.Setting.CatCheck(topic.TopicClassification))
                {
                    //対象カテゴリならトピックリストに追加する
                    NewTopic.TalkTopicList.InsertToNotDuplicate(topic.Clone(), 0);
                }
                else
                {
                    //おしゃべり済みに追加
                    NewTopic.ChattedKeyList.AddToNotDuplicate(topic.Clone());
                }
            }

            //1フレームスキップ
            yield return(null);
        }

        //取得した結果、120件以下ならおかわり
        if (NewTopic.TalkTopicList.Count <= 120)
        {
            //終了にする
            FlgRunSetLastTopicMltData = false;

            StartCoroutine(SetLastTopicMltData());
        }

        //重複排除
        NewTopic.RemoveDuplicateTopicList();

        //終了ラベル
        End :;

        //終了にする
        FlgRunSetLastTopicMltData = false;
    }