You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.2 KiB
C#
78 lines
2.2 KiB
C#
using UnityEngine;
|
|
using FairyGUI;
|
|
|
|
public class TurnPageMain : MonoBehaviour
|
|
{
|
|
GComponent _mainView;
|
|
FairyBook _book;
|
|
GSlider _slider;
|
|
|
|
void Awake()
|
|
{
|
|
UIPackage.AddPackage("UI/TurnPage");
|
|
UIObjectFactory.SetPackageItemExtension("ui://TurnPage/Book", typeof(FairyBook));
|
|
UIObjectFactory.SetPackageItemExtension("ui://TurnPage/Page", typeof(BookPage));
|
|
}
|
|
|
|
void Start()
|
|
{
|
|
Application.targetFrameRate = 60;
|
|
Stage.inst.onKeyDown.Add(OnKeyDown);
|
|
|
|
_mainView = this.GetComponent<UIPanel>().ui;
|
|
|
|
_book = (FairyBook)_mainView.GetChild("book");
|
|
_book.SetSoftShadowResource("ui://TurnPage/shadow_soft");
|
|
_book.pageRenderer = RenderPage;
|
|
_book.pageCount = 20;
|
|
_book.currentPage = 0;
|
|
_book.ShowCover(FairyBook.CoverType.Front, false);
|
|
_book.onTurnComplete.Add(OnTurnComplete);
|
|
|
|
GearBase.disableAllTweenEffect = true;
|
|
_mainView.GetController("bookPos").selectedIndex = 1;
|
|
GearBase.disableAllTweenEffect = false;
|
|
|
|
_mainView.GetChild("btnNext").onClick.Add(() =>
|
|
{
|
|
_book.TurnNext();
|
|
});
|
|
_mainView.GetChild("btnPrev").onClick.Add(() =>
|
|
{
|
|
_book.TurnPrevious();
|
|
});
|
|
|
|
_slider = _mainView.GetChild("pageSlide").asSlider;
|
|
_slider.max = _book.pageCount - 1;
|
|
_slider.value = 0;
|
|
_slider.onGripTouchEnd.Add(() =>
|
|
{
|
|
_book.TurnTo((int)_slider.value);
|
|
});
|
|
}
|
|
|
|
void OnTurnComplete()
|
|
{
|
|
_slider.value = _book.currentPage;
|
|
|
|
if (_book.isCoverShowing(FairyBook.CoverType.Front))
|
|
_mainView.GetController("bookPos").selectedIndex = 1;
|
|
else if (_book.isCoverShowing(FairyBook.CoverType.Back))
|
|
_mainView.GetController("bookPos").selectedIndex = 2;
|
|
else
|
|
_mainView.GetController("bookPos").selectedIndex = 0;
|
|
}
|
|
|
|
void RenderPage(int index, GComponent page)
|
|
{
|
|
((BookPage)page).render(index);
|
|
}
|
|
|
|
void OnKeyDown(EventContext context)
|
|
{
|
|
if (context.inputEvent.keyCode == KeyCode.Escape)
|
|
{
|
|
Application.Quit();
|
|
}
|
|
}
|
|
} |