コード例 #1
0
ファイル: ChapterList.cs プロジェクト: janekx21/BrickIt
        public void Init(ChapterObject[] chapterObjects, Menu.OnChapterAction loadAction)
        {
            foreach (Transform t in transform)
            {
                Destroy(t.gameObject);
            }

            List <ChapterObject> list = chapterObjects.ToList();

//			list.Sort(Comparison);
            foreach (var o in list)
            {
                var panel = Instantiate(prefab, transform);
                panel.Init(o, loadAction);

                // Navigation
                if (o == list.First())
                {
                    firstPanel = panel.GetComponent <Button>();
                    MarkFirstChapter();

                    lastPanelButton = panel.GetComponent <Button>();
                }
                else if (o == list[1])
                {
                    Navigation navigation = new Navigation {
                        mode          = Navigation.Mode.Explicit,
                        selectOnDown  = horizontalScrollbar.GetComponent <Scrollbar>(),
                        selectOnRight = panel.GetComponent <Button>()
                    };
                    lastPanelButton.navigation = navigation;

                    beforeLastPanelButton = lastPanelButton;
                    lastPanelButton       = panel.GetComponent <Button>();
                }
                else
                {
                    Navigation navigation = new Navigation {
                        mode          = Navigation.Mode.Explicit,
                        selectOnDown  = horizontalScrollbar.GetComponent <Scrollbar>(),
                        selectOnLeft  = beforeLastPanelButton,
                        selectOnRight = panel.GetComponent <Button>()
                    };
                    lastPanelButton.navigation = navigation;

                    beforeLastPanelButton = lastPanelButton;
                    lastPanelButton       = panel.GetComponent <Button>();
                }

                if (o == list.Last())
                {
                    Navigation navigation = new Navigation {
                        mode         = Navigation.Mode.Explicit,
                        selectOnDown = horizontalScrollbar.GetComponent <Scrollbar>(),
                        selectOnLeft = beforeLastPanelButton
                    };
                    panel.GetComponent <Button>().navigation = navigation;
                }
            }
        }
コード例 #2
0
ファイル: ChapterPanel.cs プロジェクト: janekx21/BrickIt
 public void Init(ChapterObject chapterObject, Menu.OnChapterAction loadAction)
 {
     chapterName.text = chapterObject.chapterName;
     image.sprite     = chapterObject.image;
     button.onClick.AddListener(() => loadAction.Invoke(chapterObject));
 }