Ejemplo n.º 1
0
        /// <summary>
        /// ノベル情報をもとに見た目を構築する
        /// </summary>
        /// <param name="parent">親になるクラス ボタンのクリックイベントを親に向けて送るのに使う</param>
        /// <param name="novel">ノベル情報</param>
        public void Draw(GallaryController parent, NovelInfo novel)
        {
            if (novel != null)
            {
                _Title.text = novel.Title1 + novel.Title2;

                Texture2D novelTexture = Resources.Load <Texture2D>($"Image/{novel.Id1}-{novel.Id2}") ?? _NoImageTexture;
                _Image.texture = novelTexture;

                // ノベル情報を添えて親のメソッドを呼ぶ
                _Button.onClick.AddListener(() => parent.OnNovelClick(novel));
            }
            else
            {
                _Title.text    = "???";
                _Image.texture = null;
                _Image.color   = Color.clear;
            }

            // 文字数によってフォントサイズを変える
            int textLength = _Title.text.Length;

            if (textLength <= 25)
            {
                _Title.fontSize = 14;
            }
            else
            {
                _Title.fontSize = 10;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 上半分を生成する
        /// </summary>
        /// <param name="parent">親にあたるクラス ここでは使わずボタンまで渡す</param>
        /// <param name="novelInfoList">ノベル情報リスト</param>
        /// <param name="pageIndex">何ページ目を生成するか</param>
        public void Create(GallaryController parent, NovelInfoList novelInfoList, Histories histories, int pageIndex)
        {
            for (int i = 0; i < ItemsCount; i++)
            {
                // {pageIndex}ページ目の{i}個目のノベル
                int novelId = pageIndex * ItemsCount + i;

                NovelInfo novel = null;
                if (novelId >= 0 && novelId < novelInfoList.list.Length)
                {
                    novel = novelInfoList.list[novelId];
                    if (histories.Get(novel.Id1, novel.Id2) <= 0)
                    {
                        novel = null;
                    }
                }

                _Novels[i].Draw(parent, novel);
            }
        }