Esempio n. 1
0
        /// <summary>
        /// 最新データをダウンロードする
        /// </summary>
        /// <returns></returns>
        private IEnumerator SetTopicDirectTopicAsync()
        {
            //最新ニュースデータ取得
            var Async = ClalisForLiplisGetNewTopicOne.GetNewTopicAsync(LiplisStatus.Instance.NewTopic.ToneUrlList);

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

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

            //NULL回避
            if (data == null)
            {
                yield break;
            }
            if (data.topicList == null)
            {
                yield break;
            }

            //おしゃべり済みに追加しないでおしゃべり
            foreach (var topic in data.topicList)
            {
                topic.FlgNotAddChatted = true;

                //アロケーションIDを設定する
                TopicUtil.SetAllocationIdAndTone(topic, LiplisModels.Instance.GetModelList());
            }

            //データ追加
            LiplisStatus.Instance.NewTopic.TalkTopicList.AddRange(data.topicList);
        }
Esempio n. 2
0
    private IEnumerator SetTopicTalkFromClalis(string DataKey, ContentCategoly NewsSource)
    {
        //トピックをランダムで取得する
        var Async = ClalisForLiplisGetNewTopicOne.GetNewTopicAsync(LiplisStatus.Instance.NewTopic.ToneUrlList, DataKey, ((int)NewsSource).ToString());

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

        //取得結果取得
        ResLpsTopicList resTopic = (ResLpsTopicList)Async.Current;

        //現在ロード中の話題をおしゃべり済みに入れる
        if (resTopic != null)
        {
            //話題取得
            this.NowLoadTopic = resTopic.topicList[0];

            //カテゴリセット
            this.NowLoadTopic.TopicClassification = ((int)NewsSource).ToString();

            //おしゃべり済みに追加
            LiplisStatus.Instance.NewTopic.ChattedKeyList.AddToNotDuplicate(this.NowLoadTopic.Clone());

            //話題のセット、移動
            StartCoroutine(SetToipcEnd());

            //ログ追加
            StartCoroutine(NewsLog.AddLog(this.NowLoadTopic.Clone()));
        }
        else
        {
            //だめなら、デフォルト処理
            SetTopicTalkTopicList();
        }
    }
Esempio n. 3
0
        /// <summary>
        /// ショートニュースからトピックを生成する
        /// </summary>
        /// <returns></returns>
        private IEnumerator SetTopicDirectTopic()
        {
            //トピックをランダムで取得する
            var Async = ClalisForLiplisGetNewTopicOne.GetNewTopicAsync(LiplisStatus.Instance.NewTopic.ToneUrlList);

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

            ResLpsTopicList resTopic = (ResLpsTopicList)Async.Current;

            //NULLチェック
            if (resTopic == null || resTopic.topicList.Count < 0)
            {
                this.NowLoadTopic = LiplisModels.Instance.CreateTopicFromShortNews();
            }

            //取得したトピックを返す
            this.NowLoadTopic = resTopic.topicList[0];

            //話題のセット、移動
            StartCoroutine(SetToipcEnd());
        }