feat(battle-engine): close the AI-simulation subsystem (verbatim)
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.
This commit is contained in:
151
SVSim.BattleEngine/Engine/Wizard/ChapterSelectSphere.cs
Normal file
151
SVSim.BattleEngine/Engine/Wizard/ChapterSelectSphere.cs
Normal file
@@ -0,0 +1,151 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user