Copied the 89 uncopied AI*SimulationUtility/extension files defining the AIVirtualCard/AIVirtualField extension methods; the compile loop then auto-closed the revealed type deps (~3049 files total, drift-clean). 10.0k -> 62 errors.
152 lines
3.6 KiB
C#
152 lines
3.6 KiB
C#
using System;
|
|
using Cute;
|
|
using UnityEngine;
|
|
|
|
namespace Wizard;
|
|
|
|
public class ChapterSelectSphere : MonoBehaviour
|
|
{
|
|
[SerializeField]
|
|
private UIButton _button;
|
|
|
|
[SerializeField]
|
|
private UISprite _bodySprite;
|
|
|
|
[SerializeField]
|
|
private UISprite _arrowDownSprite;
|
|
|
|
[SerializeField]
|
|
private UISprite _arrowUpSprite;
|
|
|
|
private float _arrowAlpha = 1f;
|
|
|
|
private bool _isArrowAlphaDown = true;
|
|
|
|
private const float ARROW_ANIMATION_SPEED = 1f;
|
|
|
|
private const float SCROLL_ROTATE_REVISION = 7f;
|
|
|
|
public Action OnClick { get; set; }
|
|
|
|
public bool IsScrollUpEnable { get; set; }
|
|
|
|
public bool IsScrollDownEnable { get; set; }
|
|
|
|
private void Start()
|
|
{
|
|
_button.onClick.Add(new EventDelegate(delegate
|
|
{
|
|
OnClick.Call();
|
|
}));
|
|
}
|
|
|
|
public void UpdateChapterSelectStatus(bool isChapterSelectVisible, bool isSelectEnable)
|
|
{
|
|
_bodySprite.spriteName = GetBodySpriteName(isChapterSelectVisible, isSelectEnable);
|
|
_arrowUpSprite.spriteName = GetArrowSpriteName(isChapterSelectVisible, IsScrollUpEnable);
|
|
_arrowDownSprite.spriteName = GetArrowSpriteName(isChapterSelectVisible, IsScrollDownEnable);
|
|
_arrowUpSprite.alpha = ((isChapterSelectVisible && IsScrollUpEnable) ? _arrowAlpha : 1f);
|
|
_arrowDownSprite.alpha = ((isChapterSelectVisible && IsScrollDownEnable) ? _arrowAlpha : 1f);
|
|
}
|
|
|
|
public void OnSelectChapter(bool isChapterSelectEnable)
|
|
{
|
|
_arrowUpSprite.spriteName = GetArrowSpriteName(isChapterSelectEnable, IsScrollUpEnable);
|
|
_arrowDownSprite.spriteName = GetArrowSpriteName(isChapterSelectEnable, IsScrollDownEnable);
|
|
_arrowUpSprite.alpha = (IsScrollUpEnable ? _arrowAlpha : 1f);
|
|
_arrowDownSprite.alpha = (IsScrollDownEnable ? _arrowAlpha : 1f);
|
|
}
|
|
|
|
public void UpdateArrowAlpha()
|
|
{
|
|
if (UpdatePingPongByDeltaTime(ref _arrowAlpha, 0f, 1f, 1f, _isArrowAlphaDown))
|
|
{
|
|
_isArrowAlphaDown = !_isArrowAlphaDown;
|
|
}
|
|
if (IsScrollUpEnable)
|
|
{
|
|
_arrowUpSprite.alpha = _arrowAlpha;
|
|
}
|
|
if (IsScrollDownEnable)
|
|
{
|
|
_arrowDownSprite.alpha = _arrowAlpha;
|
|
}
|
|
}
|
|
|
|
public void UpdateRotationOnScroll(float areaY, int chapterCount)
|
|
{
|
|
iTween.Stop(_bodySprite.gameObject);
|
|
float z = 0f;
|
|
float num = 80f;
|
|
float num2 = 50f;
|
|
if (areaY >= (float)chapterCount * num - num2)
|
|
{
|
|
z = (float)chapterCount * num - num2 - areaY;
|
|
z /= 7f;
|
|
z *= -1f;
|
|
}
|
|
else if (areaY <= 0f - num2)
|
|
{
|
|
z = areaY;
|
|
z /= 7f;
|
|
}
|
|
iTween.RotateUpdate(_bodySprite.gameObject, new Vector3(0f, 0f, z), 0.2f);
|
|
}
|
|
|
|
public void ResetRotationOnScroll()
|
|
{
|
|
iTween.Init(_bodySprite.gameObject);
|
|
iTween.RotateTo(_bodySprite.gameObject, iTween.Hash("z", 0, "time", 1.35f, "easetype", iTween.EaseType.easeOutElastic));
|
|
}
|
|
|
|
private string GetArrowSpriteName(bool isChapterSelectEnable, bool isscrollenable)
|
|
{
|
|
if (isChapterSelectEnable)
|
|
{
|
|
if (isscrollenable)
|
|
{
|
|
return "arrow_jog_01";
|
|
}
|
|
return "arrow_jog_02";
|
|
}
|
|
return "arrow_jog_03";
|
|
}
|
|
|
|
private string GetBodySpriteName(bool isChapterSelectEnable, bool isChapterListSwitchEnable)
|
|
{
|
|
if (isChapterListSwitchEnable)
|
|
{
|
|
if (isChapterSelectEnable)
|
|
{
|
|
return "btn_jog_01_core";
|
|
}
|
|
return "btn_jog_03_core";
|
|
}
|
|
return "btn_jog_03_core";
|
|
}
|
|
|
|
private static bool UpdatePingPongByDeltaTime(ref float val, float min, float max, float speed, bool isdown)
|
|
{
|
|
bool result = false;
|
|
if (isdown)
|
|
{
|
|
val -= speed * Time.deltaTime;
|
|
if (val < min)
|
|
{
|
|
val = min;
|
|
result = true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
val += speed * Time.deltaTime;
|
|
if (val > max)
|
|
{
|
|
val = max;
|
|
result = true;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
}
|