cull(engine-cleanup): pass-8 phase-2 cascade round 1 after AreaSelectUI stub

This commit is contained in:
gamer147
2026-07-03 22:18:12 -04:00
parent 7aabb6a405
commit ad525456be
30 changed files with 3 additions and 1767 deletions

View File

@@ -1,95 +0,0 @@
using System.Collections.Generic;
using UnityEngine;
public class AreaBGInfo : MonoBehaviour
{
private readonly List<ChapterExtraData> _chapterExtraDatas = new List<ChapterExtraData>
{
new ChapterExtraData
{
SectionId = 2,
ExtraTextureChapter = 10,
BGExtraEffectPath = "scn_map_change_1",
SeType = 0
},
new ChapterExtraData
{
SectionId = 2,
ExtraTextureChapter = 11,
ExtraTextureIndex = { 1, 2 },
BGSuffix = "b"
},
new ChapterExtraData
{
SectionId = 2,
ExtraTextureChapter = 12,
ExtraTextureIndex = { 1, 2 },
BGSuffix = "b"
},
new ChapterExtraData
{
SectionId = 1,
ExtraTextureChapter = 4,
BGExtraEffectPath = "scn_map_change_1",
SeType = 0,
ClanType = CardBasePrm.ClanType.NEMESIS
},
new ChapterExtraData
{
SectionId = 1,
ExtraTextureChapter = 5,
ExtraTextureIndex = { 1, 2 },
BGSuffix = "b",
ClanType = CardBasePrm.ClanType.NEMESIS
},
new ChapterExtraData
{
SectionId = 1,
ExtraTextureChapter = 6,
ExtraTextureIndex = { 1, 2 },
BGSuffix = "b",
ClanType = CardBasePrm.ClanType.NEMESIS
},
new ChapterExtraData
{
SectionId = 9,
ExtraTextureChapter = 1,
BGSectionId = 4,
BGExtraEffectPath = "scn_map_change_4",
BGFirstClearEffectPath = "scn_map_change_2",
FirstClearSeType = 0,
SeType = 0,
ChapterMoveTime = 0f,
FirstClearEffectDelayTime = 1.2f,
FirstClearMoveOutDelayTime = 0.5f
},
new ChapterExtraData
{
SectionId = 9,
ExtraTextureChapter = 2,
BGSectionId = 7,
BGExtraEffectPath = "scn_map_change_4",
BGFirstClearEffectPath = "scn_map_change_3",
FirstClearSeType = 0,
SeType = 0,
FirstClearEffectDelayTime = 1.2f,
FirstClearMoveDelayTime = 1f
},
new ChapterExtraData
{
SectionId = 9003,
ExtraTextureIndex = { 1, 2 },
BGSuffix = "c"
}
};
public List<ChapterExtraData> GetExtraChapters(int sectionId, int? selectStoryClassId)
{
List<ChapterExtraData> list = _chapterExtraDatas.FindAll((ChapterExtraData item) => item.SectionId == sectionId);
if (sectionId == 20)
{
list.AddRange(AreaBGInfoSection20.GetChapterExtraDatas());
}
return list.FindAll((ChapterExtraData item) => (CardBasePrm.ClanType?)item.ClanType == (CardBasePrm.ClanType?)selectStoryClassId || item.ClanType == CardBasePrm.ClanType.NONE);
}
}

View File

@@ -1,96 +0,0 @@
using System.Collections.Generic;
using Cute;
public class AreaBGInfoSection20
{
public static List<ChapterExtraData> GetChapterExtraDatas()
{
List<ChapterExtraData> list = new List<ChapterExtraData>();
list.AddRange(Chapter1_2());
list.AddRange(Chapter3_9());
list.AddRange(OtherWorldChapters(10, 17, 12, new List<int> { 1, 2, 6, 7 }, addTreeEffect: true));
list.AddRange(OtherWorldChapters(18, 25, 10, new List<int> { 1, 2 }, addTreeEffect: true));
list.AddRange(OtherWorldChapters(26, 33, 9, new List<int> { 2, 3, 4, 7, 8, 9 }, addTreeEffect: true));
list.AddRange(OtherWorldChapters(34, 40, 20, null, addTreeEffect: false));
return list;
}
private static List<ChapterExtraData> OtherWorldChapters(int start, int end, int section, List<int> extraTextureIndex, bool addTreeEffect)
{
List<ChapterExtraData> list = new List<ChapterExtraData>();
for (int i = start; i <= end; i++)
{
ChapterExtraData chapterExtraData = new ChapterExtraData
{
SectionId = 20,
ExtraTextureChapter = i,
BGSectionId = section
};
chapterExtraData.AddTreeEffect = addTreeEffect;
if (i == 17 || i == 25 || i == 33)
{
chapterExtraData.BGExtraEffectPath = "scn_map_change_9";
chapterExtraData.SeType = 0;
}
if (extraTextureIndex.IsNotNullOrEmpty())
{
chapterExtraData.ExtraTextureIndex = extraTextureIndex;
chapterExtraData.BGSuffix = "b";
}
list.Add(chapterExtraData);
}
return list;
}
private static List<ChapterExtraData> Chapter1_2()
{
return new List<ChapterExtraData>
{
new ChapterExtraData
{
SectionId = 20,
ExtraTextureChapter = 1,
BGExtraEffectPath = "scn_map_change_9",
SeType = 0
},
new ChapterExtraData
{
SectionId = 20,
ExtraTextureChapter = 2,
BGExtraEffectPath = "scn_map_change_8",
AttachExtraEffectToBgRoot = true,
SeType = 0
}
};
}
private static List<ChapterExtraData> Chapter3_9()
{
List<ChapterExtraData> list = new List<ChapterExtraData>();
for (int i = 3; i <= 9; i++)
{
ChapterExtraData chapterExtraData = new ChapterExtraData
{
SectionId = 20,
ExtraTextureChapter = i,
ExtraTextureIndex = { 1, 2, 6 },
BGSectionId = 2,
BGSuffix = "b"
};
if (i == 9)
{
chapterExtraData.BGExtraEffectPath = "scn_map_change_9";
chapterExtraData.SeType = 0;
}
list.Add(chapterExtraData);
}
return list;
}
public static bool IsSpeedUpParticleTransition(int previousChapter, int nextChapter)
{
bool flag = previousChapter == 33 && nextChapter == 32;
return previousChapter == 0 || flag;
}
}

View File

@@ -90,53 +90,6 @@ public class AreaSelInfo : MonoBehaviour
private bool _isLoadEnd = true;
public void SetClearPresent(StoryChapterData chapterData)
{
if (chapterData == null || chapterData.Rewards == null)
{
return;
}
if (chapterData.Rewards.Length != 0)
{
base.gameObject.SetActive(value: true);
bool isCleared = chapterData.IsCleared;
for (int i = 0; i < _clearRewardList.Count; i++)
{
_clearRewardList[i].gameObject.SetActive(value: false);
}
List<long> list = new List<long>();
for (int j = 0; j < chapterData.Rewards.Length; j++)
{
StoryChapterData.StoryReward storyReward = chapterData.Rewards[j];
if (storyReward == null)
{
continue;
}
if (j >= _clearRewardList.Count)
{
break;
}
if (storyReward.RewardType == 5)
{
if (list.Contains(storyReward.RewardUserGoodsId))
{
continue;
}
list.Add(storyReward.RewardUserGoodsId);
}
_clearRewardList[j].gameObject.SetActive(value: true);
_clearRewardList[j].ShowReward((UserGoods.Type)storyReward.RewardType, storyReward.RewardUserGoodsId, storyReward.RewardNumber, isCleared);
}
RepositionRewards();
SetRewardBackgroundWidth();
SetAcquiredLabel(isCleared);
}
else
{
base.gameObject.SetActive(value: false);
}
}
private void RepositionRewards()
{
for (int i = 0; i < _tableRewardsCategory.Length; i++)
@@ -232,102 +185,6 @@ public class AreaSelInfo : MonoBehaviour
_labelAcquired.transform.localPosition = localPosition;
}
public void LoadClearPresent(IReadOnlyList<StoryChapterData> stageDataList)
{
if (!_isLoadEnd)
{
return;
}
_isLoadEnd = false;
ReleaseClearPresent();
if (CardDetailPrefab != null)
{
_cardDetail = Object.Instantiate(CardDetailPrefab);
_cardDetail.transform.parent = CardDetailRoot.transform;
_cardDetail.transform.localPosition = Vector3.zero;
_cardDetail.transform.localScale = Vector3.one;
_cardDetail.OnClose = OnCardDetailClose;
_cardDetail.gameObject.SetActive(value: false);
_cardDetail.Initialize(_cardDetail.gameObject.layer, CardMaster.CardMasterId.Default);
_cardDetail.IsShowFlavorTextButton = true;
_cardDetail.IsShowVoiceButton = true;
_cardDetail.IsShowEvolutionButton = true;
}
_clearRewardList.Clear();
for (int i = 0; i < 3; i++)
{
AreaSelectClearReward component = NGUITools.AddChild(_tableRoot.gameObject, _clearRewardPrefab).GetComponent<AreaSelectClearReward>();
_clearRewardList.Add(component);
}
List<int> list = new List<int>(2);
List<string> loadPath = new List<string>();
StoryChapterData.StoryReward storyReward = null;
for (int j = 0; j < stageDataList.Count; j++)
{
for (int k = 0; k < stageDataList[j].Rewards.Length; k++)
{
string text = string.Empty;
storyReward = stageDataList[j].Rewards[k];
if (storyReward == null)
{
continue;
}
if (storyReward.RewardType == 5)
{
if (!list.Contains((int)storyReward.RewardUserGoodsId))
{
list.Add((int)storyReward.RewardUserGoodsId);
}
}
else if (storyReward.RewardType == 4)
{
string userGoodsImageName = UserGoods.GetUserGoodsImageName(UserGoods.Type.Item, storyReward.RewardUserGoodsId);
text = Toolbox.ResourcesManager.GetAssetTypePath(userGoodsImageName, ResourcesManager.AssetLoadPathType.Item);
}
else if (storyReward.RewardType == 6)
{
long existingSleeveId = Toolbox.ResourcesManager.GetExistingSleeveId(storyReward.RewardUserGoodsId);
text = Toolbox.ResourcesManager.GetAssetTypePath(existingSleeveId.ToString(), ResourcesManager.AssetLoadPathType.SleeveTexture);
Sleeve sleeve = Data.Master.SleeveMgr.Get(existingSleeveId);
if (sleeve.IsPremiumSleeve)
{
UIManager.GetInstance().getUIBase_CardManager().AddPremireSleevePath(ref loadPath, sleeve);
}
}
else if (storyReward.RewardType == 8)
{
foreach (string degreeResource in DegreeHelper.GetDegreeResourceList(storyReward.RewardUserGoodsId, DegreeHelper.DegreeType.SMALL, isFetch: false))
{
if (!loadPath.Contains(degreeResource))
{
loadPath.Add(degreeResource);
}
}
}
else if (storyReward.RewardType == 7)
{
text = Toolbox.ResourcesManager.GetAssetTypePath(storyReward.RewardUserGoodsId.ToString(), ResourcesManager.AssetLoadPathType.Emblem_M);
}
else if (storyReward.RewardType == 10)
{
text = Toolbox.ResourcesManager.GetAssetTypePath(storyReward.RewardUserGoodsId.ToString(), ResourcesManager.AssetLoadPathType.ClassCharaSkinThumbnail);
}
if (text != string.Empty && !loadPath.Contains(text))
{
loadPath.Add(text);
}
}
}
if (list.Count == 0 && loadPath.Count == 0)
{
_isLoadEnd = true;
}
else
{
StartCoroutine(LoadClearPresentInner(list, loadPath));
}
}
private IEnumerator LoadClearPresentInner(List<int> cardidlist, List<string> rewardPathList)
{
UIManager uiMgr = UIManager.GetInstance();
@@ -409,16 +266,6 @@ public class AreaSelInfo : MonoBehaviour
{
}
public bool GetLoadEnd()
{
return _isLoadEnd;
}
public void MoveToScreen(bool isIn, bool isImmediate)
{
MoveToScreenObj(base.gameObject, isIn ? 0f : (-1120f), isImmediate ? 0f : 0.5f);
}
public void MoveToScreenObj(GameObject target, float localPosX, float time)
{
if (Mathf.Approximately(time, 0f))

View File

@@ -1,427 +0,0 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Cute;
using UnityEngine;
[Serializable]
public class AreaSelectBG
{
private AreaSelectUI _areaSelectUI;
[SerializeField]
private GameObject _BGRoot;
[SerializeField]
private UITexture[] _BGTexture;
[SerializeField]
private AreaBGInfo _areaBGInfo;
private ParticleSystem _bgEffect;
private AreaSelectEffectControlBase _bgEffectControl;
[SerializeField]
private GameObject _BGDragCollision;
private Vector2 _BGDragDelta = Vector2.zero;
private bool _isBGDragEnable;
private float _BGDragSec;
private float _BGDragSecResetUpToTime;
private List<string> _loadedResources = new List<string>();
private bool _isLoadEndBGTexture = true;
private bool _isLoadEndParticle = true;
private StorySectionData _sectionData;
private int? _sectionClassId;
private List<ChapterExtraData> _extraChapters = new List<ChapterExtraData>();
private bool _isNormalBgSet = true;
private float _currentAspectRatio;
private Vector3 _currentBGScale = Vector3.one;
private Vector3 _currentParentPos = Vector3.zero;
private Vector2 _minMovablePos = Vector3.one;
private Vector2 _maxMovablePos = Vector3.one;
public ChapterExtraData ChapterExtraData { get; private set; }
public ChapterExtraData TransitionChapterExtraData { get; private set; }
public int BeforeChapterId { get; private set; }
public GameObject GetBGRoot()
{
return _BGRoot;
}
public bool GetLoadEnd()
{
if (_isLoadEndBGTexture)
{
return _isLoadEndParticle;
}
return false;
}
public void SetActiveBGEffect(bool isActive)
{
_bgEffect.gameObject.SetActive(isActive);
if (_bgEffectControl != null)
{
_bgEffectControl.SetActiveBGEffect(isActive);
}
}
public bool IsBGDragEnable()
{
return _isBGDragEnable;
}
public void Init(AreaSelectUI areaSelectUI)
{
_areaSelectUI = areaSelectUI;
UIEventListener component = _BGDragCollision.GetComponent<UIEventListener>();
if (null != component)
{
component.onDrag = OnDragBG;
}
SetBGDragEnable(enable: false);
}
public void Term()
{
int i = 0;
for (int num = _BGTexture.Length; i < num; i++)
{
_BGTexture[i].mainTexture = null;
}
}
private string GetBackGroundPath(int backGroundId, int index, bool isFetch = false)
{
return Toolbox.ResourcesManager.GetAssetTypePath("bg_story_" + backGroundId.ToString("00") + "_" + (index + 1).ToString("00"), ResourcesManager.AssetLoadPathType.Background, isFetch);
}
private string GetExtraBackGroundPath(int backgroundId, int index, string suffix, bool isFetch = false)
{
return Toolbox.ResourcesManager.GetAssetTypePath("bg_story_" + backgroundId.ToString("00") + "_" + (index + 1).ToString("00") + suffix, ResourcesManager.AssetLoadPathType.Background, isFetch);
}
private string GetMapEffectPath(int backGroundId, bool isFetch = false)
{
return Toolbox.ResourcesManager.GetAssetTypePath("scn_map_world_" + backGroundId, ResourcesManager.AssetLoadPathType.Effect2D, isFetch);
}
private string GetTreeEffectPath(int backGroundId, bool isFetch = false)
{
return Toolbox.ResourcesManager.GetAssetTypePath("scn_map_world_tree_" + backGroundId, ResourcesManager.AssetLoadPathType.Effect2D, isFetch);
}
public void LoadBG(StorySectionData sectionData, int? sectionClassId)
{
_sectionData = sectionData;
_sectionClassId = sectionClassId;
_extraChapters = _areaBGInfo.GetExtraChapters(_sectionData.Id, sectionClassId);
_loadedResources.Add(GetMapEffectPath(sectionData.BackGroundId));
_isLoadEndBGTexture = false;
for (int i = 0; i < _BGTexture.Length; i++)
{
_loadedResources.Add(GetBackGroundPath(sectionData.BackGroundId, i));
}
foreach (ChapterExtraData extraChapter in _extraChapters)
{
int num = sectionData.BackGroundId;
if (extraChapter.IsUseOtherSectionBG())
{
num = extraChapter.BGSectionId;
for (int j = 0; j < _BGTexture.Length; j++)
{
_loadedResources.Add(GetBackGroundPath(num, j));
}
_loadedResources.Add(GetMapEffectPath(num));
if (extraChapter.AddTreeEffect)
{
_loadedResources.Add(GetTreeEffectPath(num));
}
}
foreach (int item in extraChapter.ExtraTextureIndex)
{
_loadedResources.Add(GetExtraBackGroundPath(num, item, extraChapter.BGSuffix));
}
if (!string.IsNullOrEmpty(extraChapter.BGExtraEffectPath))
{
_loadedResources.Add(Toolbox.ResourcesManager.GetAssetTypePath(extraChapter.BGExtraEffectPath, ResourcesManager.AssetLoadPathType.Effect2D));
}
if (!string.IsNullOrEmpty(extraChapter.BGFirstClearEffectPath))
{
_loadedResources.Add(Toolbox.ResourcesManager.GetAssetTypePath(extraChapter.BGFirstClearEffectPath, ResourcesManager.AssetLoadPathType.Effect2D));
}
}
_areaSelectUI.StartCoroutine(Toolbox.ResourcesManager.LoadAssetGroupAsync(_loadedResources, _OnLoadEndBG));
_isLoadEndParticle = false;
}
public void UnLoadBG()
{
Toolbox.ResourcesManager.RemoveAssetGroup(_loadedResources);
_loadedResources.Clear();
_sectionData = null;
_sectionClassId = null;
}
private void _OnLoadEndBG()
{
List<GameObject> list = new List<GameObject>();
_bgEffect = UnityEngine.Object.Instantiate(Toolbox.ResourcesManager.LoadObject(GetMapEffectPath(_sectionData.BackGroundId, isFetch: true)) as GameObject).GetComponent<ParticleSystem>();
Vector3 localScale = _bgEffect.transform.localScale;
_bgEffect.transform.parent = _BGRoot.transform;
_bgEffect.transform.localScale = localScale;
_bgEffect.transform.localPosition = Vector3.zero;
_bgEffectControl = _bgEffect.gameObject.GetComponent<AreaSelectEffectControlBase>();
list.Add(_bgEffect.gameObject);
if (_bgEffectControl != null)
{
_bgEffectControl._backGroundEffects.Add(_bgEffectControl.BASE_EFFECT_INDEX, _bgEffect);
_bgEffectControl._backGroundEffects.Add(_sectionData.BackGroundId, _bgEffect);
}
for (int i = 0; i < _BGTexture.Length; i++)
{
_BGTexture[i].mainTexture = Toolbox.ResourcesManager.LoadObject(GetBackGroundPath(_sectionData.BackGroundId, i, isFetch: true)) as Texture;
}
foreach (ChapterExtraData extraChapter in _extraChapters)
{
Dictionary<int, Texture> bGTexture = extraChapter.BGTexture;
int num = _sectionData.BackGroundId;
if (extraChapter.IsUseOtherSectionBG())
{
num = extraChapter.BGSectionId;
for (int j = 0; j < _BGTexture.Length; j++)
{
bGTexture.Add(j, Toolbox.ResourcesManager.LoadObject(GetBackGroundPath(num, j, isFetch: true)) as Texture);
}
if (num != _sectionData.BackGroundId && !_bgEffectControl._backGroundEffects.ContainsKey(num))
{
ParticleSystem particleSystem = InitParticle(num, extraChapter.AddTreeEffect);
_bgEffectControl._backGroundEffects.Add(num, particleSystem);
list.Add(particleSystem.gameObject);
}
}
foreach (int item in extraChapter.ExtraTextureIndex)
{
if (!bGTexture.ContainsKey(item))
{
bGTexture.Add(item, Toolbox.ResourcesManager.LoadObject(GetExtraBackGroundPath(num, item, extraChapter.BGSuffix, isFetch: true)) as Texture);
}
}
if (!string.IsNullOrEmpty(extraChapter.BGExtraEffectPath))
{
string assetTypePath = Toolbox.ResourcesManager.GetAssetTypePath(extraChapter.BGExtraEffectPath, ResourcesManager.AssetLoadPathType.Effect2D, isfetch: true);
extraChapter.ExtraEffect = UnityEngine.Object.Instantiate(Toolbox.ResourcesManager.LoadObject(assetTypePath) as GameObject);
if (extraChapter.AttachExtraEffectToBgRoot)
{
extraChapter.ExtraEffect.transform.parent = _BGRoot.transform;
extraChapter.ExtraEffect.transform.localPosition = Vector3.zero;
}
else
{
extraChapter.ExtraEffect.transform.parent = _areaSelectUI.transform;
}
extraChapter.ExtraEffect.SetActive(value: false);
// Pre-Phase-5b: GameMgr.GetEffectMgr().SetUIParticleShader queued the ExtraEffect
// for shader-swap and returned load-time resource paths for cleanup. Headless has
// no EffectMgr and no visible ExtraEffect; the resource tracker doesn't fire either.
}
if (!string.IsNullOrEmpty(extraChapter.BGFirstClearEffectPath))
{
string assetTypePath2 = Toolbox.ResourcesManager.GetAssetTypePath(extraChapter.BGFirstClearEffectPath, ResourcesManager.AssetLoadPathType.Effect2D, isfetch: true);
extraChapter.FirstClearEffect = UnityEngine.Object.Instantiate(Toolbox.ResourcesManager.LoadObject(assetTypePath2) as GameObject);
extraChapter.FirstClearEffect.transform.parent = _areaSelectUI.transform;
extraChapter.FirstClearEffect.SetActive(value: false);
// Pre-Phase-5b: same shader-swap pattern for FirstClearEffect. See ExtraEffect above.
}
}
// Pre-Phase-5b: shader-swap on the collected particle systems, then callback flipped the
// `_isLoadEndParticle` flag. Headless has no EffectMgr; set the flag directly here so the
// GetLoadEnd() gate is coherent.
_isLoadEndParticle = true;
_isLoadEndBGTexture = true;
}
private ParticleSystem InitParticle(int bgId, bool addTreeEffect = false)
{
Vector3 vector = default(Vector3);
ParticleSystem component = UnityEngine.Object.Instantiate(Toolbox.ResourcesManager.LoadObject(GetMapEffectPath(bgId, isFetch: true)) as GameObject).GetComponent<ParticleSystem>();
vector = component.transform.localScale;
component.transform.parent = _BGRoot.transform;
component.transform.localScale = vector;
component.transform.localPosition = Vector3.zero;
if (addTreeEffect)
{
GameObject gameObject = UnityEngine.Object.Instantiate(Toolbox.ResourcesManager.LoadObject(GetTreeEffectPath(bgId, isFetch: true)) as GameObject);
gameObject.transform.parent = component.transform;
gameObject.transform.localScale = Vector3.one;
gameObject.transform.localPosition = Vector3.zero;
}
return component;
}
public void OnChangeSelectChapter(StoryChapterData chapterData, bool isFirstClear)
{
TransitionChapterExtraData = null;
if (_extraChapters.Count > 0)
{
int intChapterId = int.Parse(chapterData.ChapterId);
ChapterExtraData = _extraChapters.FirstOrDefault((ChapterExtraData n) => n.ExtraTextureChapter == intChapterId);
}
if (_bgEffectControl != null)
{
_bgEffectControl.OnChangeSelectChapter(this, _sectionData, _sectionClassId, chapterData, isFirstClear);
}
}
public void SetExtraTexture(int chapterId)
{
if (_extraChapters.Count == 0)
{
return;
}
ChapterExtraData chapterExtraData = _extraChapters.FirstOrDefault((ChapterExtraData n) => n.ExtraTextureChapter == chapterId || n.SectionId == 9003);
if (chapterExtraData != null && chapterExtraData.IsChangeBG())
{
int num = _sectionData.BackGroundId;
if (chapterExtraData.IsUseOtherSectionBG())
{
num = chapterExtraData.BGSectionId;
for (int num2 = 0; num2 < _BGTexture.Length; num2++)
{
_BGTexture[num2].mainTexture = Toolbox.ResourcesManager.LoadObject(GetBackGroundPath(num, num2, isFetch: true)) as Texture;
}
}
foreach (int item in chapterExtraData.ExtraTextureIndex)
{
_BGTexture[item].mainTexture = Toolbox.ResourcesManager.LoadObject(GetExtraBackGroundPath(num, item, chapterExtraData.BGSuffix, isFetch: true)) as Texture;
}
_isNormalBgSet = false;
}
else if (!_isNormalBgSet)
{
for (int num3 = 0; num3 < _BGTexture.Length; num3++)
{
_BGTexture[num3].mainTexture = Toolbox.ResourcesManager.LoadObject(GetBackGroundPath(_sectionData.BackGroundId, num3, isFetch: true)) as Texture;
}
_isNormalBgSet = true;
}
}
public List<int> GetChaptersWithDifferentBackgroundFrom(int chapterId)
{
ChapterExtraData chapterExtra = _extraChapters.FirstOrDefault((ChapterExtraData n) => n.ExtraTextureChapter == chapterId);
IEnumerable<ChapterExtraData> source = ((chapterExtra == null || !chapterExtra.IsUseOtherSectionBG()) ? _extraChapters.Where((ChapterExtraData c) => c.IsUseOtherSectionBG() && c.BGSectionId != _sectionData.BackGroundId) : _extraChapters.Where((ChapterExtraData c) => c.BGSectionId != chapterExtra.BGSectionId));
return source.Select((ChapterExtraData s) => s.ExtraTextureChapter).ToList();
}
public IEnumerator SetClearEffect()
{
ChapterExtraData clearChapterExtraData = _extraChapters.FirstOrDefault((ChapterExtraData n) => n.ExtraTextureChapter == BeforeChapterId);
if (clearChapterExtraData != null && clearChapterExtraData.FirstClearEffect != null)
{
yield return new WaitForSeconds(clearChapterExtraData.FirstClearEffectDelayTime);
clearChapterExtraData.FirstClearEffect.SetActive(value: false);
clearChapterExtraData.FirstClearEffect.SetActive(value: true);
}
}
public void SetupEnd()
{
if (_bgEffectControl != null)
{
_bgEffectControl.SetupEnd();
}
}
public void OnDragBG(GameObject obj, Vector2 delta)
{
_BGDragSecResetUpToTime = 0.5f;
_BGDragSec += Time.deltaTime;
_BGDragSec = Mathf.Min(_BGDragSec, 0.25f);
float t = Mathf.Clamp(_BGDragSec / 0.25f, 0f, 1f);
_BGDragDelta = Vector2.Lerp(Vector2.zero, delta, t);
}
public void UpdateBGDrag()
{
if (_BGDragSecResetUpToTime > 0f)
{
_BGDragSecResetUpToTime -= Time.deltaTime;
if (_BGDragSecResetUpToTime < 0f)
{
_BGDragSecResetUpToTime = 0f;
_BGDragSec = 0f;
}
}
if (!Mathf.Approximately(_BGDragDelta.x, 0f) || !Mathf.Approximately(_BGDragDelta.y, 0f))
{
_BGDragDelta.x *= 0.875f;
_BGDragDelta.y *= 0.875f;
Vector3 localPosition = _BGRoot.transform.localPosition;
localPosition.x += _BGDragDelta.x;
localPosition.y += _BGDragDelta.y;
UpdateMovableRange();
localPosition.x = Mathf.Clamp(localPosition.x, _minMovablePos.x, _maxMovablePos.x);
localPosition.y = Mathf.Clamp(localPosition.y, _minMovablePos.y, _maxMovablePos.y);
_BGRoot.transform.localPosition = localPosition;
}
}
public void SetBGDragEnable(bool enable)
{
_isBGDragEnable = enable;
_BGDragCollision.SetActive(enable);
_BGDragDelta = Vector2.zero;
}
private void UpdateMovableRange()
{
float num = (float)Screen.width / (float)Screen.height;
Vector3 localScale = _BGRoot.transform.localScale;
Vector3 localPosition = _BGRoot.transform.parent.transform.localPosition;
if (!(localScale == _currentBGScale) || num != _currentAspectRatio || !(localPosition == _currentParentPos))
{
float num2 = UIManager.GetInstance().UIManagerRoot.manualHeight;
if (1.7777778f > num)
{
num2 *= 1.7777778f / num;
}
float num3 = num2 * num * 0.5f;
float num4 = num2 * 0.5f;
float num5 = 2048f * localScale.x;
float num6 = 2560f * localScale.x;
float num7 = 1536f * localScale.y;
float num8 = 1536f * localScale.y;
_minMovablePos.x = 0f - num6 + num3 + 5f - localPosition.x;
_maxMovablePos.x = num5 - num3 - 5f - localPosition.x;
_minMovablePos.y = 0f - num7 + num4 + 5f - localPosition.y;
_maxMovablePos.y = num8 - num4 - 5f - localPosition.y;
_currentAspectRatio = num;
_currentBGScale = localScale;
_currentParentPos = localPosition;
}
}
}

View File

@@ -1,135 +0,0 @@
using System.Collections.Generic;
using Cute;
using UnityEngine;
public class AreaSelectChapterEffect
{
private static readonly Vector3 EFFECT_SCALE = new Vector3(320f, 320f, 320f);
private AreaSelectUI _areaSelectUI;
private List<string> _loadedResources = new List<string>();
private bool _isLoadEnd = true;
private Transform _effectParent;
private Dictionary<string, ParticleSystem> _effectList = new Dictionary<string, ParticleSystem>();
private string _playingEffect = "";
public bool GetLoadEnd()
{
return _isLoadEnd;
}
public void Init(AreaSelectUI areaselectUI, Transform effectParent)
{
_areaSelectUI = areaselectUI;
_effectParent = effectParent;
_playingEffect = "";
}
public void Term()
{
foreach (KeyValuePair<string, ParticleSystem> effect in _effectList)
{
ParticleSystem value = effect.Value;
if (!(null == value))
{
Object.Destroy(value.gameObject);
}
}
_effectList.Clear();
_playingEffect = "";
}
public void LoadEffect(List<StoryChapterData> chapterDataList)
{
_isLoadEnd = false;
string path = "";
int i = 0;
for (int count = chapterDataList.Count; i < count; i++)
{
path = chapterDataList[i].ChapterEffectPath;
if (!string.IsNullOrEmpty(path) && !_effectList.ContainsKey(path))
{
_effectList.Add(path, null);
_loadedResources.Add(Toolbox.ResourcesManager.GetAssetTypePath(path, ResourcesManager.AssetLoadPathType.Effect2D));
}
}
_areaSelectUI.StartCoroutine(Toolbox.ResourcesManager.LoadAssetGroupAsync(_loadedResources, delegate
{
List<GameObject> list = new List<GameObject>(_effectList.Count);
int j = 0;
for (int count2 = chapterDataList.Count; j < count2; j++)
{
path = chapterDataList[j].ChapterEffectPath;
if (!string.IsNullOrEmpty(path) && !(null != _effectList[path]))
{
GameObject gameObject = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath(path, ResourcesManager.AssetLoadPathType.Effect2D, isfetch: true)) as GameObject;
if (!(null == gameObject))
{
_effectList[path] = Object.Instantiate(gameObject).GetComponent<ParticleSystem>();
_effectList[path].transform.parent = _effectParent;
_effectList[path].transform.localPosition = Vector3.zero;
_effectList[path].transform.localScale = EFFECT_SCALE;
_effectList[path].gameObject.SetActive(value: false);
list.Add(_effectList[path].gameObject);
}
}
}
// Pre-Phase-5b: SetUIParticleShader queued shader swap + callback flipped _isLoadEnd.
// Headless has no EffectMgr; flip the load-end flag inline.
_isLoadEnd = true;
}));
}
public void UnLoadEffect()
{
Toolbox.ResourcesManager.RemoveAssetGroup(_loadedResources);
_loadedResources.Clear();
}
public void PlayEffect(string path, Vector3 pos)
{
if (!string.IsNullOrEmpty(path) && !(_playingEffect == path) && _effectList.ContainsKey(path) && !(null == _effectList[path]))
{
_effectList[path].gameObject.SetActive(value: true);
_effectList[path].Play();
_effectList[path].transform.localPosition = pos;
_playingEffect = path;
SetParticleSystemsSpeed(1f);
}
}
public void StopEffect(float? simulationSpeedAfterStop)
{
if (_effectList.ContainsKey(_playingEffect) && !(null == _effectList[_playingEffect]))
{
if (simulationSpeedAfterStop.HasValue)
{
SetParticleSystemsSpeed(simulationSpeedAfterStop.Value);
}
_effectList[_playingEffect].Stop();
_playingEffect = "";
}
}
public string GetPlayingEffect()
{
return _playingEffect;
}
private void SetParticleSystemsSpeed(float speed)
{
ParticleSystem.MainModule main = _effectList[_playingEffect].main;
main.simulationSpeed = speed;
ParticleSystem[] componentsInChildren = _effectList[_playingEffect].GetComponentsInChildren<ParticleSystem>();
for (int i = 0; i < componentsInChildren.Length; i++)
{
ParticleSystem.MainModule main2 = componentsInChildren[i].main;
main2.simulationSpeed = speed;
}
}
}

View File

@@ -1,27 +0,0 @@
using System;
using System.Collections.Generic;
using UnityEngine;
public class AreaSelectEffectControlBase : MonoBehaviour
{
[NonSerialized]
public Dictionary<int, ParticleSystem> _backGroundEffects = new Dictionary<int, ParticleSystem>();
[NonSerialized]
public readonly int BASE_EFFECT_INDEX = -1;
protected bool IsSetupEnd { get; private set; }
public virtual void SetupEnd()
{
IsSetupEnd = true;
}
public virtual void OnChangeSelectChapter(AreaSelectBG areaSelectBG, StorySectionData sectionData, int? sectionClassId, StoryChapterData chapterData, bool isFirstClear)
{
}
public virtual void SetActiveBGEffect(bool effect)
{
}
}

View File

@@ -1,51 +0,0 @@
using System;
using System.Collections.Generic;
using UnityEngine;
// Post-Phase-5b (2026-07-03) UI stub. AreaSelectMapIcon is chapter-select map
// icon particle effects (Start/Stop of CMN_MAP_MAPICON_CLEARED etc.). Every
// EffectMgr call is a Unity3D particle system launch that never fires headless.
// AreaSelectUI holds a single instance and its methods are only invoked from
// UI callbacks. Surface preserved as no-ops so AreaSelectUI still compiles.
[Serializable]
public class AreaSelectMapIcon
{
public void Init()
{
}
public void Term()
{
}
public void SetupMapIcon(List<StoryChapterData> chapterDataList)
{
}
public Vector3 GetMapIconPos(int chapterIndex, bool isLocal)
{
return Vector3.zero;
}
public void SetActiveMapIcon(int chapterIndex, bool isActive)
{
}
public void StartMapIconEffect(StoryChapterData.ChapterClearStatus clearState, int chapterIndex)
{
}
public void StopMapIconEffect()
{
}
public void UpdateMapIconEffectPos(int chapterIndex)
{
}
public GameObject GetMapIconObject(int chapterIndex)
{
return null;
}
}

View File

@@ -8,9 +8,6 @@ using Wizard.Battle.Recovery;
// See Task 2b of PASS8-PLAN.md.
public class AreaSelectUI : UIBase
{
public bool IsUseChapterListClearedMask { get; private set; }
public string GetChapterTitleStory(string chapterID) => null;
public static void SetRecoveryData(SetupConditionInfo setupInfo) { }
}

View File

@@ -1,34 +0,0 @@
using UnityEngine;
public class AreaSelectUtility
{
public static readonly Color32 CLEAR_LABEL_COLOR_CLEARD_GRADIENT_TOP = new Color32(byte.MaxValue, 245, 161, byte.MaxValue);
public static readonly Color32 CLEAR_LABEL_COLOR_CLEARD_GRADIENT_BUTTOM = new Color32(byte.MaxValue, 209, 71, byte.MaxValue);
public static readonly Color32 CLEAR_LABEL_COLOR_CLEARD_EFFECT_OUTLINE8 = new Color32(94, 67, 31, byte.MaxValue);
public static readonly Color32 CLEAR_LABEL_COLOR_ALREADY_READ_GRADIENT_TOP = new Color32(245, 249, byte.MaxValue, byte.MaxValue);
public static readonly Color32 CLEAR_LABEL_COLOR_ALREADY_READ_GRADIENT_BUTTOM = new Color32(190, 218, 242, byte.MaxValue);
public static readonly Color32 CLEAR_LABEL_COLOR_ALREADY_READ_EFFECT_OUTLINE8 = new Color32(60, 73, 96, byte.MaxValue);
public static void SetClearLabelColor(UILabel clearLabel, StoryChapterData.ChapterClearStatus clearState)
{
switch (clearState)
{
case StoryChapterData.ChapterClearStatus.Cleared:
clearLabel.gradientTop = CLEAR_LABEL_COLOR_CLEARD_GRADIENT_TOP;
clearLabel.gradientBottom = CLEAR_LABEL_COLOR_CLEARD_GRADIENT_BUTTOM;
clearLabel.effectColor = CLEAR_LABEL_COLOR_CLEARD_EFFECT_OUTLINE8;
break;
case StoryChapterData.ChapterClearStatus.AlreadyRead:
clearLabel.gradientTop = CLEAR_LABEL_COLOR_ALREADY_READ_GRADIENT_TOP;
clearLabel.gradientBottom = CLEAR_LABEL_COLOR_ALREADY_READ_GRADIENT_BUTTOM;
clearLabel.effectColor = CLEAR_LABEL_COLOR_ALREADY_READ_EFFECT_OUTLINE8;
break;
}
}
}

View File

@@ -1,57 +0,0 @@
using System.Collections.Generic;
using UnityEngine;
public class ChapterExtraData
{
public int SectionId { get; set; }
public int ExtraTextureChapter { get; set; }
public CardBasePrm.ClanType ClanType { get; set; } = CardBasePrm.ClanType.NONE;
public string BGSuffix { get; set; } = string.Empty;
public List<int> ExtraTextureIndex { get; set; } = new List<int>();
public int BGSectionId { get; set; } = -1;
public Dictionary<int, Texture> BGTexture { get; set; } = new Dictionary<int, Texture>();
public string BGExtraEffectPath { get; set; } = string.Empty;
public bool AttachExtraEffectToBgRoot { get; set; }
public GameObject ExtraEffect { get; set; }
public int SeType { get; set; }
public float ChapterMoveTime { get; set; } = 1.5f;
public string BGFirstClearEffectPath { get; set; } = string.Empty;
public GameObject FirstClearEffect { get; set; }
public int FirstClearSeType { get; set; }
public float FirstClearEffectDelayTime { get; set; }
public float FirstClearMoveDelayTime { get; set; }
public float FirstClearMoveOutDelayTime { get; set; }
public bool AddTreeEffect { get; set; }
public bool IsUseOtherSectionBG()
{
return BGSectionId != -1;
}
public bool IsChangeBG()
{
if (!IsUseOtherSectionBG())
{
return ExtraTextureIndex.Count > 0;
}
return true;
}
}

View File

@@ -48,8 +48,6 @@ public class StoryChapterData : HeaderData
}
}
public static readonly int SUB_CHAPTER_ALL = int.MaxValue;
public int StoryId { get; }
public int SectionId { get; }
@@ -124,18 +122,6 @@ public class StoryChapterData : HeaderData
public bool IsCleared => ClearStatus == ChapterClearStatus.Cleared;
public bool IsPlayedChapter
{
get
{
if (!IsAlreadyRead)
{
return IsCleared;
}
return true;
}
}
public bool ExistsSubChapter => SubChapterDatas.Count > 0;
public BattleSettingData FindBattleSettingDataByPlayerCharaId(int playerCharaId)

View File

@@ -7,11 +7,4 @@ public class StoryInfo : HeaderData
public bool IsPreBuildDeck { get; set; }
public bool IsTrialDeck { get; set; }
public bool IsStoryBattleDone { get; set; }
public StoryChapterData FindChapterData(string chapterId)
{
return ChapterDataList.Find((StoryChapterData x) => x.ChapterId == chapterId);
}
}

View File

@@ -1,7 +0,0 @@
// PASS-8/Phase-1 STUB: 200-line client-side story next-scene selector reduced to the
// external static-method surface. `ResetHistoryOfUsingPreBuildDeck` is called from
// AreaSelectUI.cs:492,543 (also stubbed). No instantiations anywhere.
public class StoryNextSceneSelector
{
public static void ResetHistoryOfUsingPreBuildDeck() { }
}

View File

@@ -46,30 +46,6 @@ public class StorySectionData
public bool IsTutorialCategory => Id == StorySection.TUTORIAL_SECTION_ID;
public bool IsTutorial
{
get
{
if (IsTutorialCategory)
{
return !IsFinish;
}
return false;
}
}
public bool IsTutorialReplay
{
get
{
if (IsTutorialCategory)
{
return IsFinish;
}
return false;
}
}
public StorySectionData(JsonData jsonData)
{
Id = jsonData["section_id"].ToInt();

View File

@@ -1,207 +0,0 @@
using System;
using Cute;
using UnityEngine;
namespace Wizard;
public class ChapterSelectButton : MonoBehaviour
{
[SerializeField]
private UISprite _notSelectMask;
[SerializeField]
private UISprite _clearMask;
[SerializeField]
private UILabel _clearLabel;
[SerializeField]
private UILabel _chapterNo;
[SerializeField]
private UILabel _chapterName;
[SerializeField]
private UIMarquee _chapterNameMarquee;
[SerializeField]
private UITexture _bg;
[SerializeField]
private GameObject _tapEffectLocator;
[SerializeField]
private UIDragScrollView _dragScrollView;
private StoryChapterData _chapterData;
public Action OnClick { get; set; }
public GameObject TapEffectLocator => _tapEffectLocator;
public Transform ClearLabelTransform => _clearLabel.transform;
public void SetScrollEnable(bool enable)
{
_dragScrollView.enabled = enable;
}
public void SetClearVisible(bool visible)
{
_clearLabel.gameObject.SetActive(visible);
}
public static string GetHeaderPath(StoryChapterData chapterData, bool isFetch)
{
return Toolbox.ResourcesManager.GetAssetTypePath("story_chapter_header_" + chapterData.ChapterButtonBgId.ToString("00"), ResourcesManager.AssetLoadPathType.StoryChapterHeader, isFetch);
}
public void OnStartClearEffect()
{
_clearLabel.gameObject.SetActive(value: true);
_clearLabel.enabled = false;
}
public void OnFinishClearEffect()
{
_clearLabel.enabled = true;
}
public void UpdateClearState(StoryChapterData.ChapterClearStatus clearState)
{
AreaSelectUtility.SetClearLabelColor(_clearLabel, clearState);
}
public void SetChapterData(StoryChapterData chapterData, AreaSelectUI parent, UIScrollView scrollView)
{
_chapterData = chapterData;
_dragScrollView.scrollView = scrollView;
_bg.mainTexture = Toolbox.ResourcesManager.LoadObject<Texture>(GetHeaderPath(chapterData, isFetch: true));
_bg.gameObject.SetActive(value: true);
_notSelectMask.gameObject.SetActive(value: false);
UpdateClearState(chapterData.ClearStatus);
_clearLabel.gameObject.SetActive(chapterData.IsPlayedChapter);
if (chapterData.IsMaintenanceChapter)
{
Color color = _chapterName.color;
UIManager.SetObjectToGrey(base.gameObject, b: true);
_chapterName.color = color;
_chapterName.text = Data.SystemText.Get("System_0022");
_chapterNo.text = string.Empty;
}
else
{
string chapterTitleStory = parent.GetChapterTitleStory(chapterData.ChapterId);
int num = chapterTitleStory.IndexOf(' ');
_chapterNo.text = chapterTitleStory.Substring(0, num + 1);
_chapterName.text = chapterTitleStory.Substring(num + 1);
_chapterNameMarquee.SetWidthOfNeedsToScroll(324f - (float)_chapterNo.width);
_chapterNameMarquee.Reset();
}
}
public void UpdateSelectStatus(int SelectChapterIndex, int selfIndex, AreaSelectUI parent, bool isinterpscale, UIScrollView scrollView)
{
bool flag = selfIndex == SelectChapterIndex;
int num = 0;
float num2 = 0f;
if (flag)
{
num = 4;
num2 = 1f;
}
else
{
num = 3;
num2 = 0.85f;
}
bool flag2 = parent.IsUseChapterListClearedMask && _chapterData.IsCleared;
if (!_chapterData.IsMaintenanceChapter)
{
Color color = new Color(1f, 1f, 1f, 1f);
color.a = num2;
_bg.color = color;
_notSelectMask.color = color;
_chapterNo.color = color;
_chapterName.color = color;
_clearLabel.color = color;
}
if (_bg.gameObject.activeSelf != flag)
{
_bg.gameObject.SetActive(flag);
SetMarqueeEnable(flag);
}
if (_notSelectMask.gameObject.activeSelf == flag)
{
_notSelectMask.gameObject.SetActive(!flag);
}
if (_clearMask.gameObject.activeSelf != flag2)
{
_clearMask.gameObject.SetActive(flag2);
}
UpdateInterpsScale(isinterpscale, flag);
Vector3 localPosition = base.transform.localPosition;
float num3 = Mathf.Abs(localPosition.y + scrollView.transform.localPosition.y);
float num4 = 200f;
if (num3 < num4)
{
float num5 = num4 - Mathf.Sqrt(num4 * num4 - num3 * num3);
num5 *= 2.5f;
localPosition.x = 190f + num5;
}
else
{
localPosition.x = 530f + num4;
}
base.transform.localPosition = localPosition;
_bg.depth = num;
_notSelectMask.depth = num;
}
public void SetMarqueeEnable(bool enable)
{
if (enable)
{
_chapterNameMarquee.StartMarquee();
}
else
{
_chapterNameMarquee.Reset();
}
}
private void UpdateInterpsScale(bool isinterpscale, bool isSelected)
{
float num = (isSelected ? 1f : 0.75f);
if (isinterpscale)
{
Vector3 localScale = base.transform.localScale;
if (localScale.x < num)
{
localScale.x += Time.deltaTime;
if (localScale.x >= num)
{
localScale.x = num;
}
}
else if (localScale.x > num)
{
localScale.x -= Time.deltaTime;
if (localScale.x <= num)
{
localScale.x = num;
}
}
localScale.y = localScale.x;
base.transform.localScale = localScale;
}
else
{
Vector3 localScale2 = base.transform.localScale;
localScale2.x = num;
localScale2.y = num;
base.transform.localScale = localScale2;
}
}
}

View File

@@ -1,137 +0,0 @@
using System;
using Cute;
using UnityEngine;
namespace Wizard;
public class ChapterSelectSphere : MonoBehaviour
{
[SerializeField]
private UISprite _bodySprite;
[SerializeField]
private UISprite _arrowDownSprite;
[SerializeField]
private UISprite _arrowUpSprite;
private float _arrowAlpha = 1f;
private bool _isArrowAlphaDown = true;
public Action OnClick { get; set; }
public bool IsScrollUpEnable { get; set; }
public bool IsScrollDownEnable { get; set; }
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;
}
}

View File

@@ -72,8 +72,6 @@ public class Master
public List<PuzzleQuestData> PuzzleQuestDataList { get; private set; }
public List<TutorialAreaSelect> TutorialAreaSelectList { get; set; }
public AIDeckFileNameList AIDeckFileNameList { get; set; }
public AIEmoteFileNameList AIEmoteFileNameList { get; set; }

View File

@@ -307,10 +307,6 @@ public static class PlayerPrefsWrapper
public static readonly KeyValuePair<string, int> DECK_INTRO_IS_MYROTATION_COPY_NOT_EQUAL_PERIOD = new KeyValuePair<string, int>("DECK_INTRO_IS_MYROTATION_COPY_NOT_EQUAL_PERIOD", 1);
public static readonly KeyValuePair<string, int> IS_SECTION20_WERUSA_ANIMATION_PLAYED = new KeyValuePair<string, int>("IS_SECTION_20_WERUSA_ANIMATION_PLAYED", FALSE);
public static readonly KeyValuePair<string, int> IS_SECTION20_NATERA_ANIMATION_PLAYED = new KeyValuePair<string, int>("IS_SECTION_20_NATERA_ANIMATION_PLAYED", FALSE);
public static bool GetBool(KeyValuePair<string, int> id)
{
return PlayerPrefs.GetInt(id.Key, id.Value) == TRUE;

View File

@@ -1,95 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using Cute;
using UnityEngine;
namespace Wizard;
public class ScenarioSummary
{
public class Data
{
public string Title { get; }
public string PastSummary { get; }
public string BeforeSummary { get; }
public string AfterSummary { get; }
public Data()
{
}
public Data(string title, string pastSummary, string beforeSummary, string afterSummary)
{
Title = title;
PastSummary = pastSummary;
BeforeSummary = beforeSummary;
AfterSummary = afterSummary;
}
}
private static readonly int CLASS_NONE;
private Dictionary<string, Data> _dataTable = new Dictionary<string, Data>();
private string _loadedAsset;
public bool IsValid { get; private set; }
public ScenarioSummary(int sectionId, int? sectionClassId)
{
ScenarioSummary scenarioSummary = this;
IsValid = false;
int processedClassId = (sectionClassId.HasValue ? sectionClassId.Value : CLASS_NONE);
ResourcesManager resMgr = Toolbox.ResourcesManager;
string fileName = "scenario_text_summary_" + sectionId;
_loadedAsset = resMgr.GetAssetTypePath(fileName, ResourcesManager.AssetLoadPathType.StoryText);
resMgr.StartCoroutine_LoadAssetGroupAsync(_loadedAsset, delegate
{
foreach (ArrayList item in Utility.ConvertCSV((resMgr.LoadObject(resMgr.GetAssetTypePath(fileName, ResourcesManager.AssetLoadPathType.StoryText, isfetch: true)) as TextAsset).ToString()))
{
string[] array = (string[])item.ToArray(typeof(string));
int num = -1;
if (int.Parse(array[++num]) == processedClassId)
{
string chapterId = array[++num];
string text = array[++num];
int? subChapterId = (string.IsNullOrEmpty(text) ? ((int?)null) : new int?(int.Parse(text)));
string key = CreateKey(chapterId, subChapterId);
Data value = new Data(array[++num], array[++num], array[++num], array[++num]);
scenarioSummary._dataTable.Add(key, value);
}
}
scenarioSummary.IsValid = true;
});
}
public void Dispose()
{
Toolbox.ResourcesManager.RemoveAsset(_loadedAsset);
_loadedAsset = null;
_dataTable.Clear();
}
public Data GetData(string chapterId, int? subChapterId = null)
{
string key = CreateKey(chapterId, subChapterId);
if (_dataTable.TryGetValue(key, out var value))
{
return value;
}
Debug.LogError("チャプター 「" + chapterId + "」 の ScenarioSummary のデータが見つかりませんでした。");
return new Data();
}
private static string CreateKey(string chapterId, int? subChapterId)
{
if (!subChapterId.HasValue || subChapterId == StoryChapterData.SUB_CHAPTER_ALL)
{
return chapterId;
}
return $"{chapterId}_{subChapterId}";
}
}

View File

@@ -1,78 +0,0 @@
using UnityEngine;
namespace Wizard;
public class UIMarquee : MonoBehaviour
{
private enum State
{
Stop,
WaitForMove }
[SerializeField]
[Range(0f, float.MaxValue)]
private float _widthOfNeedsToScroll = 256f;
[SerializeField]
private UIPanel _panel;
[SerializeField]
private UIWidget _content;
private State _state;
private float _timeCount;
private float _startX;
public void StartMarquee()
{
if ((float)_content.width < _widthOfNeedsToScroll)
{
SetState(State.Stop);
}
else
{
SetState(State.WaitForMove);
}
}
public void Reset()
{
SetState(State.Stop);
SetAlpha(1f);
}
public void SetWidthOfNeedsToScroll(float width)
{
_widthOfNeedsToScroll = width;
}
private void SetState(State state)
{
_state = state;
_timeCount = 0f;
_panel.UpdateAnchors();
_content.UpdateAnchors();
_startX = CalcStartX();
SetContentPosX(_startX);
}
private float CalcStartX()
{
return _panel.baseClipRegion.x - _panel.baseClipRegion.z * 0.5f;
}
private void SetContentPosX(float posX)
{
Transform obj = _content.transform;
Vector3 localPosition = obj.localPosition;
localPosition.x = posX;
obj.localPosition = localPosition;
}
private void SetAlpha(float alpha)
{
_panel.alpha = alpha;
}
}

View File

@@ -174,11 +174,6 @@ public class iTween : MonoBehaviour
private Transform thisTransform;
public static void Init(GameObject target)
{
MoveBy(target, Vector3.zero, 0f);
}
public static void ValueTo(GameObject target, Hashtable args)
{
args = CleanArgs(args);
@@ -1907,89 +1902,6 @@ public class iTween : MonoBehaviour
}
}
public static void RotateUpdate(GameObject target, Vector3 rotation, float time)
{
RotateUpdate(target, Hash("rotation", rotation, "time", time));
}
public static void MoveUpdate(GameObject target, Hashtable args)
{
CleanArgs(args);
Vector3[] array = new Vector3[4];
Vector3 position = target.transform.position;
float num;
if (args.Contains("time"))
{
num = (float)args["time"];
num *= Defaults.updateTimePercentage;
}
else
{
num = Defaults.updateTime;
}
bool flag = ((!args.Contains("islocal")) ? Defaults.isLocal : ((bool)args["islocal"]));
if (flag)
{
array[0] = (array[1] = target.transform.localPosition);
}
else
{
array[0] = (array[1] = target.transform.position);
}
if (args.Contains("position"))
{
if (args["position"].GetType() == typeof(Transform))
{
Transform transform = (Transform)args["position"];
array[1] = transform.position;
}
else if (args["position"].GetType() == typeof(Vector3))
{
array[1] = (Vector3)args["position"];
}
}
else
{
if (args.Contains("x"))
{
array[1].x = (float)args["x"];
}
if (args.Contains("y"))
{
array[1].y = (float)args["y"];
}
if (args.Contains("z"))
{
array[1].z = (float)args["z"];
}
}
array[3].x = Mathf.SmoothDamp(array[0].x, array[1].x, ref array[2].x, num);
array[3].y = Mathf.SmoothDamp(array[0].y, array[1].y, ref array[2].y, num);
array[3].z = Mathf.SmoothDamp(array[0].z, array[1].z, ref array[2].z, num);
if (args.Contains("orienttopath") && (bool)args["orienttopath"])
{
args["looktarget"] = array[3];
}
if (args.Contains("looktarget"))
{
LookUpdate(target, args);
}
if (flag)
{
target.transform.localPosition = array[3];
}
else
{
target.transform.position = array[3];
}
if (target.GetComponent<Rigidbody>() != null)
{
Vector3 position2 = target.transform.position;
target.transform.position = position;
target.GetComponent<Rigidbody>().MovePosition(position2);
}
}
public static void LookUpdate(GameObject target, Hashtable args)
{
CleanArgs(args);

View File

@@ -2,10 +2,4 @@
using UnityEngine;
namespace Wizard.Story.ChapterSelection
{
public partial class CommonPrefabContainer
{
public CharaInfoPanel CharaInfoPanelPrefab { get; set; }
public SectionInfoPanel SectionInfoPanelPrefab { get; set; }
public AreaSelInfo ChapterRewardPanelPrefab { get; set; }
}
}

View File

@@ -3,20 +3,14 @@ namespace Wizard.Story
{
public partial class SelectedStoryInfo
{
public StorySectionData SectionData { get; set; }
public StoryChapterData ChapterData { get; set; }
public int? ReleasedChapterNum { get; set; }
public int? ReplayChapterIndex { get; set; }
public int SectionId { get; set; }
public int? SectionClassId { get; set; }
public UIManager.ViewScene ChapterSelectionView { get; set; }
public StoryApiType StoryApiType { get; set; }
public string NextChapterId { get; set; }
public string LastChapterClearTextId { get; set; }
public int FinishStoryId { get; set; }
public SelectedStoryInfo(StoryEntranceType type) { }
public void ClearInfoForLeaderSelectionScene() { }
public void ClearInfoForChapterSelectionScene() { }
public void SetSectionChara(ClassCharacterMasterData charaData) { }
}
}

View File

@@ -8,12 +8,6 @@ namespace Wizard.Story.ChapterSelection
{
public partial class StoryChapterSelectionUtility
{
public static TopBar CreateTopBar(GameObject parent, SelectedStoryInfo storyInfo, UIManager.ChangeViewSceneParam changeViewSceneParam, int sortingOrder) => default!;
public static TitlePanelBase CreateTitlePanel(GameObject parent, CharaInfoPanel charaInfoPrefab, SectionInfoPanel sectionInfoPrefab, SelectedStoryInfo storyInfo) => default!;
public static AreaSelInfo CreateChapterRewardPanel(GameObject parent, AreaSelInfo prefab) => default!;
public static IEnumerator StoryInfoTaskCoroutine(SelectedStoryInfo storyInfo) => default!;
public static IEnumerator LoadAiMasterCoroutine(IReadOnlyList<StoryChapterData> chapterDatas) => default!;
public static void RegisterMaintenanceChapters(IReadOnlyList<StoryChapterData> chapterDatas) { }
public static void RegisterStoryBattleData(BattleSettingData data) { }
}
}

View File

@@ -14,7 +14,7 @@ namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { }
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { }
namespace Wizard.Battle.Touch { public partial class ChoiceBraveTouchProcessor : ChoiceTouchProcessor { } }
namespace Wizard.UI.Profile { }
namespace Wizard.Story.ChapterSelection { public partial class CommonPrefabContainer : MonoBehaviour { } }
namespace Wizard.Story.ChapterSelection { }
namespace Wizard.Battle.View.Vfx { }
namespace Wizard.Battle.View.Vfx { }
namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { }

View File

@@ -16,7 +16,6 @@ public class EffectMgr
public enum EffectType
{
NONE, CMN_CARD_DRAW_2, CMN_CARD_SET_1, CMN_CARD_SET_2, CMN_CARD_SET_3, CMN_CARD_ACCELERATE_1, CMN_CARD_CRYSTALLIZE_1, CMN_CARD_TARGET_1, CMN_CARD_TARGET_2, CMN_CARD_SELECT_3, CMN_UI_TURN_1, CMN_UI_TURN_5, CMN_UI_TURN_6, }
public static System.Collections.IEnumerator LoadAndInstantiate2dEffectCoroutine(string effectName, System.Action<UnityEngine.GameObject, System.Collections.Generic.List<string>> finishCallback) { yield break; }
public enum MoveType
{
NONE, SKIP, DIRECT, DIRECT_HAND, DIRECT_DECK, DIRECT_LEADER, CENTER }

View File

@@ -20,7 +20,6 @@ namespace UnityEngine
public static float Distance(Vector2 a, Vector2 b) => (a - b).magnitude;
public static float Angle(Vector2 from, Vector2 to) => 0f;
public void Normalize() { var n = normalized; x = n.x; y = n.y; }
public static Vector2 Lerp(Vector2 a, Vector2 b, float t) => new Vector2(a.x + (b.x - a.x) * t, a.y + (b.y - a.y) * t);
public static Vector2 operator +(Vector2 a, Vector2 b) => new Vector2(a.x + b.x, a.y + b.y);
public static Vector2 operator -(Vector2 a, Vector2 b) => new Vector2(a.x - b.x, a.y - b.y);
public static Vector2 operator -(Vector2 a) => new Vector2(-a.x, -a.y);

View File

@@ -8,11 +8,9 @@ namespace UnityEngine
public static partial class Input
{
public static Vector3 mousePosition => Vector3.zero;
public static Vector2 mouseScrollDelta => Vector2.zero;
public static int touchCount => 0;
public static bool GetMouseButton(int b) => false;
public static bool GetMouseButtonDown(int b) => false;
public static bool GetMouseButtonUp(int b) => false;
public static bool GetKey(KeyCode k) => false;
public static bool GetKeyDown(KeyCode k) => false;
public static bool GetKeyUp(KeyCode k) => false;

View File

@@ -272,11 +272,11 @@ namespace UnityEngine
public class MeshFilter : Component { public Mesh mesh { get; set; } public Mesh sharedMesh { get; set; } }
public class ParticleSystem : Component
{
public void Play() { } public void Stop() { } public int particleCount => 0;
public void Play() { } public int particleCount => 0;
public MainModule main => default;
public int GetParticles(Particle[] p) => 0;
public void SetParticles(Particle[] p, int n) { }
public struct MainModule { public bool playOnAwake; public float simulationSpeed; public MinMaxGradient startColor; }
public struct MainModule { public bool playOnAwake; public MinMaxGradient startColor; }
public struct MinMaxGradient { public Color color; public MinMaxGradient(Color c) { color = c; } public static implicit operator MinMaxGradient(Color c) => new MinMaxGradient(c); }
public struct EmissionModule { }
public struct Particle { public Vector3 position; public Color32 startColor; }

View File

@@ -10,7 +10,6 @@ namespace Wizard.Story
namespace Wizard.Story.ChapterSelection
{
public partial class CommonPrefabContainer { }
public class TitlePanelBase : UnityEngine.MonoBehaviour { public bool IsFinishInit { get; } }
}