Files
SVSimServer/SVSim.BattleEngine/Engine/AreaSelectUI.cs
gamer147 824309ec44 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.
2026-06-05 20:30:59 -04:00

1407 lines
42 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Cute;
using UnityEngine;
using Wizard;
using Wizard.Battle.Recovery;
using Wizard.Scripts.Network.Data.TaskData.BuildDeckPurchase;
using Wizard.Story;
using Wizard.Story.ChapterSelection;
using Wizard.Story.ChapterSelection.SelectionProcessing.Main;
public class AreaSelectUI : UIBase
{
private enum CHAPTERUNLOCK_STATE
{
STATE_NULL,
STATE_EFFECT_CLEARLABEL,
STATE_FOCUS_NEWCHAPTER,
STATE_DISP_MAPICON
}
private enum LoadStatusTutorialEffect
{
NotLoad,
Loading,
Loaded
}
private const float CLEAR_EFFECT_WAIT_SEC = 1.1f;
private const float CLEAR_LABEL_DELAY_SEC = 0.4f;
private const float NEWCHAPTER_FOCUS_SEC = 1f;
private const float NEWCHAPTER_FOCUS_MAPICON_ENABLE_THRESHOLD = 0.55f;
private const float MAPICON_EFFECTWAIT_SEC = 0.05f;
private CHAPTERUNLOCK_STATE StateChapterUnlock;
private float NewAreaTimer;
private ChapterSelectButton _clearEffectPlayingChapter;
private bool IsClearLabelDisplayed;
private bool IsNewMapIconOpened;
private bool IsNewMapIconFocused;
private int nowAreaAllNum;
private bool IsPlayingUnlockChapter;
private GameObject _clearEffect;
private GameObject _alreadyReadEffect;
private List<string> _loadEffectResources = new List<string>();
public static readonly string CUESHEETNAME_MAP = "se_st_map";
public const int CHAPTERLIST_CAPACITY_DEFAULT = 8;
private const int SORTINGORDER_EFFECT_OVER = 1;
private const float PLAYERICON_Y = -320f;
private const float TITLEPANEL_X_IN = 0f;
private const float TITLEPANEL_X_OUT = 949f;
private const float CHAPTERLIST_X_IN = -200f;
private const float CHAPTERLIST_X_OUT = 400f;
private const int CHAPTERLISTICON_MAX = 5;
public const float CHAPTERLISTICON_OFFSET_Y = 80f;
public const int CHAPTERLISTICON_MARGIN = 50;
public const float CHAPTERLIST_SCROLL_RADIUS = 200f;
public const float CHAPTERLIST_SWITCH_SEC = 0.5f;
private static readonly Vector2 CHAPTERLIST_PANEL_CLIPOFFSET = new Vector2(0f, -420f);
private static readonly Vector2 CHAPTERLIST_PANEL_CLIPPOS = new Vector2(0f, 0f);
private static readonly Vector2 CHAPTERLIST_PANEL_CLIPSIZE = new Vector2(1200f, 80f);
private static readonly string ANOTHER_ENDING_APPEARANCE_EFFECT_NAME = "scn_map_world_another_bright_1";
private string _beforeNextChapterId;
private int? _beforeReleasedChapterNum;
private int? _beforeReplayChapterIndex;
[SerializeField]
private GameObject PlayerIcon;
[SerializeField]
private GameObject _chapterRewardPanelRoot;
private AreaSelInfo _chapterRewardPanel;
[SerializeField]
private GameObject _titlePanelRoot;
private TitlePanelBase _titlePanel;
[SerializeField]
private GameObject RightPartsRoot;
[SerializeField]
private ChapterSelectButton _chapterSelectButtonOriginal;
[SerializeField]
private GameObject ChapterListRoot;
[SerializeField]
private UIScrollView ChapterListScrollView;
[SerializeField]
private SpringPanel ChapterListSpringPanel;
private List<ChapterSelectButton> _chapterSelectButtonList;
private float ChapterListScrollYPrev;
private GameObject ChapterListTapEffectLocator;
private Effect ChapterListTapEffect;
[SerializeField]
private ChapterSelectSphere _chapterSelectSphere;
private bool IsChapterSelectEnable = true;
[SerializeField]
private GameObject _chapterListScrollCollision;
[SerializeField]
private AreaSelectBG _BG = new AreaSelectBG();
[SerializeField]
private AreaSelectMapIcon _mapIcon = new AreaSelectMapIcon();
private AreaSelectChapterEffect _chapterEffect = new AreaSelectChapterEffect();
[SerializeField]
private GameObject _chapterEffectLocator;
[SerializeField]
private CommonPrefabContainer _commonPrefabContainer;
[SerializeField]
private float _chapterEffectSimulationSpeedAfterStop = 1f;
private ScenarioSummary _scenarioSummary;
private List<string> _resourcePathList = new List<string>();
private int _selectChapterIndex;
private StoryChapterData _selectChapterData;
private LoadStatusTutorialEffect _loadStatusTutorialEffect;
private bool IsLoadEnd = true;
private bool IsFadeInEnd;
private bool IsSetupEnd;
private TopBar _topBar;
private bool IsUseChapterListScroll;
private bool IsUseChapterListTapEffect;
private bool IsUseChapterListSwitch;
private bool _usedScrollWheel;
private bool _isBackTransitionStarted;
private IProcessing _firstSelectionProcessing;
private StoryChapterData _anotherEndingAppearanceAnimationChapterData;
private GameObject _anotherEndingAppearanceEffect;
private bool _unlockAfterZoom;
public static readonly Vector3 BG_SCALE_ZOOMOUT = new Vector3(0.28f, 0.28f, 0.28f);
public static readonly Vector3 BG_POS_ZOOMOUT = new Vector3(-70f, -430f, 0f);
public static readonly Vector3 BG_SCALE_ZOOMIN = new Vector3(0.6f, 0.6f, 0.6f);
public const float BG_POS_ZOOMIN_OFFSET_Y = -400f;
private const float CHAPTERLISTROOT_X_OUT = 800f;
private const float CHAPTERLISTROOT_X_IN = -25f;
private const float MAPMOVE_TIMER_IDLE = 1f;
private const float MAPMOVE_TIMER_ZOOMIN = 1f;
private const float MAPMOVE_TIMER_TOEND = 1f;
private const float ANOTHER_ENDING_APPEARANCE_ANIMATION_TIME = 1.5f;
[SerializeField]
private iTween.EaseType BG_ZOOMIN_EASETYPE = iTween.EaseType.easeInOutCubic;
private bool _isPlayingBGStartMove;
private SelectedStoryInfo SelectedStoryInfo => Data.SelectedStoryInfo;
private StorySectionData SectionData => SelectedStoryInfo.SectionData;
private int SectionId => SectionData.Id;
private int? SectionClassId => SelectedStoryInfo.SectionClassId;
private List<StoryChapterData> _chapterDataList => Data.StoryInfo.ChapterDataList;
public bool IsUseChapterListClearedMask { get; private set; }
private bool HasAnotherEndingAppearanceAnimation => _anotherEndingAppearanceAnimationChapterData != null;
private void InitUnlockChapter()
{
ChangeStateUnlockChapter(CHAPTERUNLOCK_STATE.STATE_NULL);
NewAreaTimer = 0f;
SetPlayerIconVisible(isvisible: false);
IsPlayingUnlockChapter = false;
}
private void LoadUnlockChapterResources(Action onFinish)
{
_loadEffectResources.Clear();
_loadEffectResources.Add(Toolbox.ResourcesManager.GetAssetTypePath("cmn_ui_clear_1", ResourcesManager.AssetLoadPathType.Effect2D));
_loadEffectResources.Add(Toolbox.ResourcesManager.GetAssetTypePath("cmn_ui_clear_2", ResourcesManager.AssetLoadPathType.Effect2D));
Toolbox.ResourcesManager.StartCoroutine_LoadAssetGroupAsync(_loadEffectResources, delegate
{
StartCoroutine(CreateEffect(onFinish));
});
}
private IEnumerator CreateEffect(Action onFinish)
{
bool isLoadClearEffect = false;
_clearEffect = EffectUtility.CreateEffect2D(new Effect2dCreateParam
{
Parent = base.gameObject,
EffectName = "cmn_ui_clear_1",
UnloadAssetList = _loadEffectResources,
MaterialSetEndCallback = delegate
{
isLoadClearEffect = true;
}
});
bool isLoadAlreadyReadEffect = false;
_alreadyReadEffect = EffectUtility.CreateEffect2D(new Effect2dCreateParam
{
Parent = base.gameObject,
EffectName = "cmn_ui_clear_2",
UnloadAssetList = _loadEffectResources,
MaterialSetEndCallback = delegate
{
isLoadAlreadyReadEffect = true;
}
});
while (!isLoadClearEffect || !isLoadAlreadyReadEffect)
{
yield return null;
}
onFinish.Call();
}
private void UnloadUnlockChapterResources()
{
Toolbox.ResourcesManager.RemoveAssetGroup(_loadEffectResources);
_loadEffectResources.Clear();
}
private void UpdateUnlockChapter()
{
switch (StateChapterUnlock)
{
case CHAPTERUNLOCK_STATE.STATE_EFFECT_CLEARLABEL:
StateUnlockChapter_EffectClearLabel_Update();
break;
case CHAPTERUNLOCK_STATE.STATE_FOCUS_NEWCHAPTER:
StateUnlockChapter_FocusNewChapter_Update();
break;
case CHAPTERUNLOCK_STATE.STATE_DISP_MAPICON:
StateUnlockChapter_DispMapIcon_Update();
break;
}
}
private bool CheckUnlockChapter()
{
if (SectionData.IsTutorialCategory)
{
return false;
}
if (!_beforeReleasedChapterNum.HasValue || _beforeNextChapterId == null)
{
return false;
}
StoryChapterData storyChapterData = Data.StoryInfo.FindChapterData(_beforeNextChapterId);
if (storyChapterData != null && storyChapterData.IsPlayedChapter)
{
return false;
}
int value = _beforeReleasedChapterNum.Value;
return nowAreaAllNum > value;
}
private int? CheckSection20UnlockChapter()
{
if (SectionId == 20)
{
int num = nowAreaAllNum;
bool flag = false;
if (num == 10 && !PlayerPrefsWrapper.GetBool(PlayerPrefsWrapper.IS_SECTION20_WERUSA_ANIMATION_PLAYED))
{
flag = true;
}
if (num == 26 && !PlayerPrefsWrapper.GetBool(PlayerPrefsWrapper.IS_SECTION20_NATERA_ANIMATION_PLAYED))
{
flag = true;
}
if (flag)
{
return num - 2;
}
}
return null;
}
private void SetupUnlockChapter()
{
SelectChapter(_beforeReleasedChapterNum.Value - 1, isplayse: false, iscalcscroll: true, ismapiconeffectenable: false);
MoveToScreenChapterList(isIn: true, isImmediate: true);
UpdateChapterList(isinterpscale: false);
MoveToScreenTitlePanel(isIn: true, isImmediate: true);
_chapterRewardPanel.MoveToScreen(isIn: true, isImmediate: true);
_BG.GetBGRoot().transform.localScale = BG_SCALE_ZOOMIN;
mapMoveTarget(0f);
SetPlayerIconVisible(isvisible: false);
_chapterSelectButtonList[_selectChapterIndex].SetClearVisible(visible: false);
_topBar.SetBackButtonEnable(enable: false);
_mapIcon.SetActiveMapIcon(nowAreaAllNum - 1, isActive: false);
}
private void StartUnlockChapter()
{
ChangeStateUnlockChapter(CHAPTERUNLOCK_STATE.STATE_EFFECT_CLEARLABEL);
SetChapterScrollEnable(isEnable: false);
IsPlayingUnlockChapter = true;
}
private void StartUnlockChapterWithoutClear()
{
ChangeStateUnlockChapter(CHAPTERUNLOCK_STATE.STATE_FOCUS_NEWCHAPTER);
SetChapterScrollEnable(isEnable: false);
IsPlayingUnlockChapter = true;
}
private void OnUnlockChapterEnd()
{
SetPlayerIconVisible(_selectChapterData.IsDisplayMapIcon);
SetChapterScrollEnable(isEnable: true);
CheckPreBuildDeckConfirmDialog();
_topBar.SetBackButtonEnable(enable: true);
IsPlayingUnlockChapter = false;
}
private void ChangeStateUnlockChapter(CHAPTERUNLOCK_STATE newstate)
{
if (StateChapterUnlock != newstate)
{
switch (StateChapterUnlock)
{
case CHAPTERUNLOCK_STATE.STATE_EFFECT_CLEARLABEL:
StateUnlockChapter_EffectClearLabel_Exit();
break;
case CHAPTERUNLOCK_STATE.STATE_FOCUS_NEWCHAPTER:
StateUnlockChapter_FocusNewChapter_Exit();
break;
case CHAPTERUNLOCK_STATE.STATE_DISP_MAPICON:
StateUnlockChapter_DispMapIcon_Exit();
break;
}
switch (newstate)
{
case CHAPTERUNLOCK_STATE.STATE_EFFECT_CLEARLABEL:
StateUnlockChapter_EffectClearLabel_Enter();
break;
case CHAPTERUNLOCK_STATE.STATE_FOCUS_NEWCHAPTER:
StateUnlockChapter_FocusNewChapter_Enter();
break;
case CHAPTERUNLOCK_STATE.STATE_DISP_MAPICON:
StateUnlockChapter_DispMapIcon_Enter();
break;
}
StateChapterUnlock = newstate;
}
}
private void StateUnlockChapter_EffectClearLabel_Update()
{
NewAreaTimer -= Time.deltaTime;
float num = ((_BG.ChapterExtraData == null) ? 1.1f : (1.1f + _BG.ChapterExtraData.FirstClearEffectDelayTime));
if (!IsClearLabelDisplayed && NewAreaTimer < num - 0.4f)
{
_clearEffectPlayingChapter.OnFinishClearEffect();
IsClearLabelDisplayed = true;
}
if (NewAreaTimer < 0f && !IsNewMapIconFocused)
{
IsNewMapIconFocused = true;
if (_BG.ChapterExtraData != null && _BG.ChapterExtraData.FirstClearMoveDelayTime > 0f)
{
_BG.SetExtraTexture(_BG.BeforeChapterId + 1);
StartCoroutine(MoveDelay());
}
else
{
ChangeStateUnlockChapter(CHAPTERUNLOCK_STATE.STATE_FOCUS_NEWCHAPTER);
}
}
}
private IEnumerator MoveDelay()
{
yield return new WaitForSeconds((_BG.ChapterExtraData == null) ? 0f : _BG.ChapterExtraData.FirstClearMoveDelayTime);
ChangeStateUnlockChapter(CHAPTERUNLOCK_STATE.STATE_FOCUS_NEWCHAPTER);
}
private void StateUnlockChapter_EffectClearLabel_Enter()
{
StartCoroutine(_BG.SetClearEffect());
if (_selectChapterIndex >= 0 && _selectChapterIndex < _chapterSelectButtonList.Count)
{
_clearEffectPlayingChapter = _chapterSelectButtonList[_selectChapterIndex];
_chapterSelectButtonList[_selectChapterIndex].UpdateClearState(_selectChapterData.ClearStatus);
}
if (!(null == _clearEffectPlayingChapter))
{
_chapterSelectButtonList[_selectChapterIndex].OnStartClearEffect();
IsClearLabelDisplayed = false;
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_MAP_CLEAR);
GameObject obj = ((_selectChapterData.ClearStatus == StoryChapterData.ChapterClearStatus.Cleared) ? _clearEffect : _alreadyReadEffect);
obj.transform.parent = _clearEffectPlayingChapter.ClearLabelTransform;
obj.transform.localPosition = Vector3.zero;
obj.gameObject.SetActive(value: true);
float newAreaTimer = ((_BG.ChapterExtraData == null) ? 1.1f : (1.1f + _BG.ChapterExtraData.FirstClearEffectDelayTime));
NewAreaTimer = newAreaTimer;
}
}
private void StateUnlockChapter_EffectClearLabel_Exit()
{
_clearEffectPlayingChapter = null;
}
private void StateUnlockChapter_FocusNewChapter_Update()
{
mapMoveTarget((_BG.TransitionChapterExtraData == null) ? 1f : _BG.TransitionChapterExtraData.ChapterMoveTime);
if (!IsNewMapIconOpened && NewAreaTimer < 0.55f)
{
if (!_selectChapterData.IsDisplayMapIcon)
{
_mapIcon.SetActiveMapIcon(_selectChapterIndex, isActive: false);
}
else
{
_mapIcon.SetActiveMapIcon(_selectChapterIndex, isActive: true);
Vector3 mapIconPos = _mapIcon.GetMapIconPos(_selectChapterIndex, isLocal: false);
GameMgr.GetIns().GetEffectMgr().Start(EffectMgr.EffectType.CMN_MAP_CHAPTER_1, mapIconPos.x, mapIconPos.y);
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_MAP_NEW_AREA_RELEASE);
}
IsNewMapIconOpened = true;
}
NewAreaTimer -= Time.deltaTime;
if (NewAreaTimer < 0f)
{
ChangeStateUnlockChapter(CHAPTERUNLOCK_STATE.STATE_DISP_MAPICON);
}
}
private void StateUnlockChapter_FocusNewChapter_Enter()
{
SelectChapter(nowAreaAllNum - 1, isplayse: false, iscalcscroll: true, ismapiconeffectenable: false, isFirstClear: true);
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_MAP_CAMERA_MOVE);
NewAreaTimer = ((_BG.TransitionChapterExtraData == null) ? 1f : (1f + _BG.TransitionChapterExtraData.FirstClearMoveOutDelayTime));
IsNewMapIconOpened = false;
}
private void StateUnlockChapter_FocusNewChapter_Exit()
{
}
private void StateUnlockChapter_DispMapIcon_Update()
{
NewAreaTimer -= Time.deltaTime;
if (NewAreaTimer < 0f)
{
if (_selectChapterData.IsDisplayMapIcon)
{
_mapIcon.StartMapIconEffect(StoryChapterData.ChapterClearStatus.NotCleared, _selectChapterIndex);
}
ChangeStateUnlockChapter(CHAPTERUNLOCK_STATE.STATE_NULL);
}
}
private void StateUnlockChapter_DispMapIcon_Enter()
{
NewAreaTimer = 0.05f;
}
private void StateUnlockChapter_DispMapIcon_Exit()
{
OnUnlockChapterEnd();
}
public static void SetRecoveryData(SetupConditionInfo setupInfo)
{
Data.StoryInfo.IsPreBuildDeck = setupInfo.ScenarioDeckIsPreBuild;
Data.StoryInfo.IsTrialDeck = setupInfo.ScenarioDeckIsTrial;
Data.StoryInfo.IsStoryBattleDone = true;
StoryNextSceneSelector.ResetHistoryOfUsingPreBuildDeck();
}
public override void onFirstStart()
{
_chapterSelectButtonOriginal.gameObject.SetActive(value: false);
bool flag = false;
if (SectionData.IsTutorial)
{
IsUseChapterListScroll = false;
IsUseChapterListClearedMask = true;
IsUseChapterListTapEffect = true;
IsUseChapterListSwitch = false;
flag = false;
}
else if (SectionData.IsTutorialReplay)
{
IsUseChapterListScroll = true;
IsUseChapterListClearedMask = false;
IsUseChapterListTapEffect = false;
IsUseChapterListSwitch = true;
flag = true;
}
else
{
IsUseChapterListScroll = true;
IsUseChapterListClearedMask = false;
IsUseChapterListTapEffect = false;
IsUseChapterListSwitch = true;
flag = true;
}
UIManager.GetInstance().createInSceneLoading();
if (flag)
{
_topBar = StoryChapterSelectionUtility.CreateTopBar(base.gameObject, SelectedStoryInfo, new UIManager.ChangeViewSceneParam
{
OnChange = delegate
{
_isBackTransitionStarted = true;
}
}, 1);
}
_titlePanel = CreateTitlePanel();
_chapterRewardPanel = CreateChapterRewardPanel();
if (IsUseChapterListSwitch)
{
_chapterSelectSphere.OnClick = delegate
{
OnSwitchChapterSelect();
};
}
StoryNextSceneSelector.ResetHistoryOfUsingPreBuildDeck();
Data.StoryInfo.IsStoryBattleDone = false;
base.onFirstStart();
}
protected override void onClose()
{
GameMgr.GetIns().GetEffectMgr().StopBuff(EffectMgr.EffectType.CMN_MAP_PLAYERICON, PlayerIcon);
_mapIcon.Term();
_chapterEffect.UnLoadEffect();
_chapterEffect.Term();
StopEffectTap();
if (LoadStatusTutorialEffect.Loaded == _loadStatusTutorialEffect)
{
GameMgr.GetIns().GetEffectMgr().DisposeLatestMadeEffects();
_loadStatusTutorialEffect = LoadStatusTutorialEffect.NotLoad;
}
Toolbox.ResourcesManager.RemoveAssetGroup(_resourcePathList);
_resourcePathList.Clear();
GameMgr.GetIns().GetSoundMgr().UnloadSe(CUESHEETNAME_MAP);
UnloadUnlockChapterResources();
_BG.UnLoadBG();
_BG.Term();
if (_scenarioSummary != null)
{
_scenarioSummary.Dispose();
}
_chapterRewardPanel.ReleaseClearPresent();
Toolbox.ResourcesManager.RemoveAssetGroup(Toolbox.ResourcesManager.CardListAssetPathList);
Toolbox.ResourcesManager.CardListAssetPathList.Clear();
InitBGStartMove();
InitUnlockChapter();
base.onClose();
}
private void OnTouchChapterListTutorial(int chapterindex)
{
if (chapterindex == _selectChapterIndex)
{
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_BTN_DECIDE);
StopEffectTap();
ExecuteSelectionProcessings();
}
else if (SectionData.IsTutorialReplay)
{
SelectChapter(chapterindex, isplayse: true, iscalcscroll: true);
}
}
private void SetChapterScrollEnable(bool isEnable)
{
if (null != ChapterListScrollView && ChapterListScrollView.enabled != isEnable)
{
ChapterListScrollView.enabled = isEnable;
}
if (_chapterSelectButtonList == null)
{
return;
}
foreach (ChapterSelectButton chapterSelectButton in _chapterSelectButtonList)
{
if (chapterSelectButton != null)
{
chapterSelectButton.SetScrollEnable(isEnable);
}
}
}
private void OnTouchChapterList(int chapterindex)
{
if (!IsPlayingUnlockChapter && !_unlockAfterZoom)
{
if (chapterindex == _selectChapterIndex)
{
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_BTN_DECIDE);
ExecuteSelectionProcessings();
}
else
{
SelectChapter(chapterindex, isplayse: true, iscalcscroll: true);
}
}
}
private void OnCancelScenarioSummary()
{
if (IsUseChapterListTapEffect)
{
StartEffectTap();
}
}
private void StartEffectTap()
{
if (IsUseChapterListTapEffect && !(null != ChapterListTapEffect))
{
ChapterListTapEffectLocator = _chapterSelectButtonList[_chapterSelectButtonList.Count - 1].TapEffectLocator;
ChapterListTapEffect = GameMgr.GetIns().GetEffectMgr().StartBuff(EffectMgr.EffectType.CMN_TUTORIAL_TAP_1, ChapterListTapEffectLocator);
}
}
private void StopEffectTap()
{
if (!(null == ChapterListTapEffectLocator))
{
GameMgr.GetIns().GetEffectMgr().StopBuff(EffectMgr.EffectType.CMN_TUTORIAL_TAP_1, ChapterListTapEffectLocator);
ChapterListTapEffectLocator = null;
ChapterListTapEffect = null;
}
}
private void LimitAreaScroll()
{
int count = _chapterSelectButtonList.Count;
UIPanel component = ChapterListScrollView.transform.GetComponent<UIPanel>();
component.clipOffset = CHAPTERLIST_PANEL_CLIPOFFSET;
component.baseClipRegion = new Vector4(CHAPTERLIST_PANEL_CLIPPOS.x, CHAPTERLIST_PANEL_CLIPPOS.y, CHAPTERLIST_PANEL_CLIPSIZE.x, CHAPTERLIST_PANEL_CLIPSIZE.y + (float)(count * 2) * 80f);
}
private void OnSwitchChapterSelect()
{
if (!IsPlayingUnlockChapter && !_isPlayingBGStartMove)
{
IsChapterSelectEnable = !IsChapterSelectEnable;
SetChapterSelectEnable(IsChapterSelectEnable, isplayse: true);
SetChapterScrollEnable(IsChapterSelectEnable);
SetPlayerIconVisible(IsChapterSelectEnable && _selectChapterData.IsDisplayMapIcon);
_BG.SetBGDragEnable(!IsChapterSelectEnable && _selectChapterData.IsEnableDragMapBG);
if (IsChapterSelectEnable && _selectChapterData.IsDisplayMapIcon)
{
_mapIcon.StartMapIconEffect(_selectChapterData.ClearStatus, _selectChapterIndex);
}
else
{
_mapIcon.StopMapIconEffect();
}
}
}
private void MoveToScreenObj(GameObject target, float localPosX, float time, Action onComplete = null)
{
if (Mathf.Approximately(time, 0f))
{
Vector3 localPosition = target.transform.localPosition;
localPosition.x = localPosX;
target.transform.localPosition = localPosition;
onComplete.Call();
return;
}
iTween.MoveTo(target, iTween.Hash("islocal", true, "x", localPosX, "time", time));
StartCoroutine(DelayedCall(time, onComplete.Call));
}
private IEnumerator DelayedCall(float time, Action callback)
{
yield return new WaitForSeconds(time);
if (!_isBackTransitionStarted)
{
callback.Call();
}
}
private void MoveToScreenRightPartsRoot(bool isIn, bool isImmediate)
{
float time = (isImmediate ? 0f : 0.5f);
if (isIn)
{
SetChapterListMarqueeDisable();
}
MoveToScreenObj(RightPartsRoot, isIn ? (-25f) : 800f, time, delegate
{
if (isIn)
{
SetSelectedChapterMarqueeEnable();
}
});
if (isIn && !_unlockAfterZoom)
{
if (isImmediate)
{
SetChapterScrollEnable(IsUseChapterListScroll);
}
else
{
StartCoroutine(MoveToScreenRightCallBack(time));
}
}
}
private IEnumerator MoveToScreenRightCallBack(float time)
{
yield return new WaitForSeconds(time);
SetChapterScrollEnable(IsUseChapterListScroll);
}
private void MoveToScreenChapterList(bool isIn, bool isImmediate)
{
if (isIn)
{
SetChapterListMarqueeDisable();
}
MoveToScreenObj(ChapterListRoot, isIn ? (-200f) : 400f, isImmediate ? 0f : 0.5f, delegate
{
if (isIn)
{
SetSelectedChapterMarqueeEnable();
}
});
}
private void MoveToScreenTitlePanel(bool isIn, bool isImmediate)
{
MoveToScreenObj(_titlePanel.gameObject, isIn ? 0f : 949f, isImmediate ? 0f : 0.5f);
}
private void SetChapterSelectEnable(bool enable, bool isplayse)
{
IsChapterSelectEnable = enable;
_chapterSelectSphere.UpdateChapterSelectStatus(IsChapterSelectEnable, IsUseChapterListSwitch);
MoveToScreenChapterList(enable, isImmediate: false);
MoveToScreenTitlePanel(enable, isImmediate: false);
_chapterRewardPanel.MoveToScreen(enable, isImmediate: false);
_chapterListScrollCollision.SetActive(enable);
_BG.SetBGDragEnable(!enable);
if (isplayse)
{
GameMgr.GetIns().GetSoundMgr().PlaySe(enable ? Se.TYPE.SYS_TOGGLE_ON : Se.TYPE.SYS_TOGGLE_OFF);
}
}
private void SetChapterListMarqueeDisable()
{
if (_chapterSelectButtonList == null)
{
return;
}
foreach (ChapterSelectButton chapterSelectButton in _chapterSelectButtonList)
{
chapterSelectButton.SetMarqueeEnable(enable: false);
}
}
private void SetSelectedChapterMarqueeEnable()
{
if (_chapterSelectButtonList != null)
{
_chapterSelectButtonList[_selectChapterIndex].SetMarqueeEnable(enable: true);
}
}
protected override void onOpen()
{
base.onOpen();
UIManager.GetInstance().OpenNotTouch();
ResetSelectedStoryInfo();
InitBGStartMove();
InitUnlockChapter();
SetChapterSelectEnable(enable: true, isplayse: false);
SetChapterScrollEnable(isEnable: false);
_mapIcon.Init();
_BG.Init(this);
_chapterEffect.Init(this, base.transform);
SetPlayerIconVisible(isvisible: false);
PlayerIcon.transform.localPosition = new Vector3(0f, -320f, 0f);
_firstSelectionProcessing = CreateSelectionProcessings(SectionData.IsTutorialCategory);
StartCoroutine(Setup());
}
private IEnumerator Setup()
{
IsSetupEnd = false;
if (SectionData.IsTutorialCategory)
{
SetupChapterDataListTutorial();
}
else
{
yield return StoryChapterSelectionUtility.StoryInfoTaskCoroutine(SelectedStoryInfo);
yield return StoryChapterSelectionUtility.LoadAiMasterCoroutine(_chapterDataList);
StoryChapterSelectionUtility.RegisterMaintenanceChapters(_chapterDataList);
_anotherEndingAppearanceAnimationChapterData = ((_beforeNextChapterId == null) ? _chapterDataList.FirstOrDefault((StoryChapterData x) => x.IsPlayAnotherEndingAppearanceAnimation && x.IsReleased) : null);
}
StartCoroutine(assetSetting());
IsLoadEnd = false;
StartCoroutine(LoadAndSetupResourcesAsync());
_BG.LoadBG(SectionData, SectionClassId);
_chapterEffect.LoadEffect(_chapterDataList);
_chapterRewardPanel.LoadClearPresent(_chapterDataList);
while (!IsLoadEnd || !_chapterRewardPanel.GetLoadEnd() || !_BG.GetLoadEnd() || !_chapterEffect.GetLoadEnd())
{
yield return null;
}
SetupChapterList();
_mapIcon.SetupMapIcon(_chapterDataList);
if (CheckUnlockChapter())
{
SetupUnlockChapter();
}
else
{
int? focus = CheckSection20UnlockChapter();
if (focus.HasValue)
{
_unlockAfterZoom = true;
}
SetupBGStartMove(focus);
}
_chapterRewardPanel.SetClearPresent(_selectChapterData);
_BG.SetActiveBGEffect(isActive: true);
IsFadeInEnd = false;
UIManager.GetInstance().OnReadyViewScene(isFadein: true, null, OnFadeInEnd);
_BG.SetupEnd();
IsSetupEnd = true;
}
private IEnumerator LoadAndSetupResourcesAsync()
{
_resourcePathList.Clear();
foreach (StoryChapterData chapterData in _chapterDataList)
{
_resourcePathList.Add(ChapterSelectButton.GetHeaderPath(chapterData, isFetch: false));
}
if (IsUseChapterListTapEffect)
{
_loadStatusTutorialEffect = LoadStatusTutorialEffect.Loading;
GameMgr.GetIns().GetEffectMgr().InitCommonEffect("Json/EffectTutorialData", isBattle: false, isField: false, isBattleEffect: false, delegate
{
_loadStatusTutorialEffect = LoadStatusTutorialEffect.Loaded;
});
}
GameMgr.GetIns().GetSoundMgr().LoadSe(CUESHEETNAME_MAP);
_scenarioSummary = new ScenarioSummary(SectionId, SectionClassId);
yield return StartCoroutine(Toolbox.ResourcesManager.LoadAssetGroupAsync(_resourcePathList, null));
bool isLoadedClearEffect = false;
LoadUnlockChapterResources(delegate
{
isLoadedClearEffect = true;
});
while (!_scenarioSummary.IsValid || LoadStatusTutorialEffect.Loading == _loadStatusTutorialEffect || !isLoadedClearEffect || !_titlePanel.IsFinishInit)
{
yield return null;
}
if (HasAnotherEndingAppearanceAnimation)
{
yield return EffectMgr.LoadAndInstantiate2dEffectCoroutine(ANOTHER_ENDING_APPEARANCE_EFFECT_NAME, delegate(GameObject createdEffect, List<string> loadedAssets)
{
_anotherEndingAppearanceEffect = createdEffect;
createdEffect.transform.parent = base.transform;
_resourcePathList.AddRange(loadedAssets);
});
}
IsLoadEnd = true;
}
public override void onMove()
{
if (!IsSetupEnd || !IsFadeInEnd)
{
SetChapterListMarqueeDisable();
return;
}
if (IsPlayingUnlockChapter)
{
UpdateUnlockChapter();
UpdateChapterList();
return;
}
UpdateChapterList();
if (_isPlayingBGStartMove)
{
return;
}
if (_unlockAfterZoom)
{
_unlockAfterZoom = false;
StartUnlockChapterWithoutClear();
return;
}
UpdateTamaArrow();
if (_BG.IsBGDragEnable())
{
_BG.UpdateBGDrag();
}
else
{
mapMoveTarget((_BG.TransitionChapterExtraData == null) ? 1.5f : _BG.TransitionChapterExtraData.ChapterMoveTime);
}
_mapIcon.UpdateMapIconEffectPos(_selectChapterIndex);
float y = ChapterListScrollView.transform.localPosition.y;
int num = (450 - (int)y) / 80;
if (num < 0)
{
num = 0;
}
else if (num >= _chapterSelectButtonList.Count)
{
num = _chapterSelectButtonList.Count - 1;
}
if (num != _selectChapterIndex)
{
SelectChapter(num, isplayse: true);
}
base.onMove();
}
private void SelectChapter(int newIndex, bool isplayse = false, bool iscalcscroll = false, bool ismapiconeffectenable = true, bool isFirstClear = false)
{
int selectChapterIndex = _selectChapterIndex;
_selectChapterIndex = newIndex;
if (_selectChapterIndex < 0 || _selectChapterIndex >= _chapterDataList.Count)
{
_selectChapterIndex = 0;
}
if (SectionId == 20)
{
if (_selectChapterIndex == 9)
{
PlayerPrefsWrapper.SetBool(PlayerPrefsWrapper.IS_SECTION20_WERUSA_ANIMATION_PLAYED, flag: true);
}
else if (_selectChapterIndex == 25)
{
PlayerPrefsWrapper.SetBool(PlayerPrefsWrapper.IS_SECTION20_NATERA_ANIMATION_PLAYED, flag: true);
}
}
string chapterId = (newIndex + 1).ToString();
_selectChapterData = _chapterDataList.Single((StoryChapterData x) => x.ChapterId == chapterId);
_BG.OnChangeSelectChapter(_selectChapterData, isFirstClear);
if (SectionId == 20)
{
int chapterId2 = int.Parse(_selectChapterData.ChapterId);
List<int> chaptersWithDifferentBackgroundFrom = _BG.GetChaptersWithDifferentBackgroundFrom(chapterId2);
for (int num = 0; num < _chapterSelectButtonList.Count; num++)
{
bool isActive = !chaptersWithDifferentBackgroundFrom.Contains(num + 1);
_mapIcon.SetActiveMapIcon(num, isActive);
}
}
_mapIcon.StopMapIconEffect();
if (ismapiconeffectenable && _selectChapterData.IsDisplayMapIcon)
{
_mapIcon.StartMapIconEffect(_selectChapterData.ClearStatus, _selectChapterIndex);
}
SetPlayerIconVisible(_selectChapterData.IsDisplayMapIcon);
SwitchChapterEffectVisible(selectChapterIndex);
_chapterRewardPanel.SetClearPresent(_selectChapterData);
if (isplayse)
{
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_SCROLL);
}
if (iscalcscroll)
{
float num2 = 400f - (float)_selectChapterIndex * 80f;
Vector3 position = ChapterListScrollView.transform.position;
position.y = num2;
ChapterListScrollView.transform.localPosition = position;
ChapterListScrollView.GetComponent<UIPanel>().clipOffset = new Vector2(0f, 0f - num2);
if (null == ChapterListSpringPanel)
{
ChapterListSpringPanel = ChapterListScrollView.GetComponent<SpringPanel>();
}
if (null != ChapterListSpringPanel)
{
ChapterListSpringPanel.target = Vector3.zero;
ChapterListSpringPanel.strength = 0f;
ChapterListSpringPanel.onFinished = null;
ChapterListSpringPanel.enabled = false;
}
}
_chapterSelectSphere.IsScrollUpEnable = IsUseChapterListScroll && _chapterSelectButtonList.Count > 1 && _selectChapterIndex < _chapterSelectButtonList.Count - 1;
_chapterSelectSphere.IsScrollDownEnable = IsUseChapterListScroll && _chapterSelectButtonList.Count > 1 && _selectChapterIndex > 0;
_chapterSelectSphere.OnSelectChapter(IsChapterSelectEnable);
}
private void UpdateTamaArrow()
{
if (IsChapterSelectEnable)
{
_chapterSelectSphere.UpdateArrowAlpha();
}
}
private void UpdateChapterList(bool isinterpscale = true)
{
for (int i = 0; i < _chapterSelectButtonList.Count; i++)
{
ChapterSelectButton chapterSelectButton = _chapterSelectButtonList[i];
if (chapterSelectButton != null)
{
chapterSelectButton.UpdateSelectStatus(_selectChapterIndex, i, this, isinterpscale, ChapterListScrollView);
}
}
if (_isPlayingBGStartMove)
{
return;
}
bool flag = false;
float y = ChapterListScrollView.transform.localPosition.y;
if (ChapterListScrollYPrev != y)
{
ChapterListScrollYPrev = y;
y = 450 - (int)y;
flag = !Input.GetMouseButton(0) && Input.mouseScrollDelta.y < 0f;
if (Input.GetMouseButton(0) || flag)
{
_chapterSelectSphere.UpdateRotationOnScroll(y, _chapterSelectButtonList.Count);
}
}
if (Input.GetMouseButtonUp(0) || (!flag && _usedScrollWheel))
{
_chapterSelectSphere.ResetRotationOnScroll();
}
_usedScrollWheel = flag;
}
private void OnFadeInEnd()
{
UIManager.GetInstance().offNotTouch();
if (CheckUnlockChapter())
{
StartUnlockChapter();
}
else
{
StartBGStartMove();
CheckPreBuildDeckConfirmDialog();
}
IsFadeInEnd = true;
}
public static void CheckPreBuildDeckConfirmDialog()
{
}
private static void ShowBuildDeckBuyConfirmDialog(int currentCount, int maxCount)
{
int productId = PlayerPrefsWrapper.GetValue(PlayerPrefsWrapper.LAST_BATTLE_DECK_ID);
if (currentCount < maxCount)
{
SystemText systemText = Data.SystemText;
string message = systemText.Get("Story_0057");
if (currentCount > 0)
{
message = systemText.Get("Story_0058");
}
DialogBase dialogBase = UIManager.GetInstance().CreateConfirmationDialog(message);
dialogBase.SetButtonLayout(DialogBase.ButtonLayout.BlueBtn_CancelBtn);
dialogBase.SetTitleLabel(systemText.Get("Story_0056"));
dialogBase.SetButtonText(systemText.Get("Shop_0095"), systemText.Get("Common_0005"));
dialogBase.onPushButton1 = delegate
{
BuildDeckPurchasePage.BuildDeckConfirmDialogShow(productId);
UIManager.GetInstance().ChangeViewScene(UIManager.ViewScene.BuildDeckPurchasePage);
UIManager.GetInstance()._Footer.UpdateCurrentIndex(5);
};
}
}
private void SetupChapterDataListTutorial()
{
Data.StoryInfo.ChapterDataList = Data.Master.TutorialAreaSelectList.Select((TutorialAreaSelect x) => new StoryChapterData(x)).ToList();
}
private void SetupChapterList()
{
if (_chapterDataList == null)
{
return;
}
if (_chapterSelectButtonList != null)
{
for (int i = 0; i < _chapterSelectButtonList.Count; i++)
{
UnityEngine.Object.Destroy(_chapterSelectButtonList[i].gameObject);
}
}
_chapterSelectButtonList = new List<ChapterSelectButton>(8);
nowAreaAllNum = 0;
for (int j = 0; j < _chapterDataList.Count; j++)
{
if (!_chapterDataList[j].IsReleased)
{
continue;
}
ChapterSelectButton chapterSelectButton = UnityEngine.Object.Instantiate(_chapterSelectButtonOriginal);
chapterSelectButton.gameObject.SetActive(value: true);
chapterSelectButton.transform.parent = ChapterListScrollView.transform;
chapterSelectButton.transform.localPosition = new Vector3(0f, -400f + (float)j * 80f, 0f);
chapterSelectButton.transform.localScale = Vector3.one;
chapterSelectButton.name = "chapterlist_" + j.ToString("00");
chapterSelectButton.SetChapterData(_chapterDataList[j], this, ChapterListScrollView);
int index = j;
chapterSelectButton.OnClick = delegate
{
if (SectionData.IsTutorialCategory)
{
OnTouchChapterListTutorial(index);
}
else
{
OnTouchChapterList(index);
}
};
_chapterSelectButtonList.Add(chapterSelectButton);
nowAreaAllNum++;
}
LimitAreaScroll();
ChapterListScrollView.ResetPosition();
}
private void mapMoveTarget(float time)
{
Vector3 mapIconPos = _mapIcon.GetMapIconPos(_selectChapterIndex, isLocal: true);
iTween.MoveUpdate(_BG.GetBGRoot(), iTween.Hash("islocal", true, "x", BG_SCALE_ZOOMIN.x * (mapIconPos.x * -1f), "y", BG_SCALE_ZOOMIN.y * (mapIconPos.y * -1f) + -400f, "time", time, "easetype", iTween.EaseType.easeOutExpo));
}
private void SetPlayerIconVisible(bool isvisible)
{
if (isvisible)
{
GameMgr.GetIns().GetEffectMgr().StartBuff(EffectMgr.EffectType.CMN_MAP_PLAYERICON, PlayerIcon);
}
else
{
GameMgr.GetIns().GetEffectMgr().StopBuff(EffectMgr.EffectType.CMN_MAP_PLAYERICON, PlayerIcon);
}
}
private void SwitchChapterEffectVisible(int previousChapter)
{
if (!(_chapterEffect.GetPlayingEffect() == _selectChapterData.ChapterEffectPath))
{
float? simulationSpeedAfterStop = null;
if (SectionId == 20 && AreaBGInfoSection20.IsSpeedUpParticleTransition(previousChapter, _selectChapterIndex))
{
simulationSpeedAfterStop = _chapterEffectSimulationSpeedAfterStop;
}
_chapterEffect.StopEffect(simulationSpeedAfterStop);
_chapterEffect.PlayEffect(_selectChapterData.ChapterEffectPath, _chapterEffectLocator.transform.localPosition);
}
}
public string GetChapterTitleStory(string chapterID)
{
if (_scenarioSummary == null)
{
return "";
}
return _scenarioSummary.GetData(chapterID).Title;
}
private TitlePanelBase CreateTitlePanel()
{
return StoryChapterSelectionUtility.CreateTitlePanel(_titlePanelRoot, _commonPrefabContainer.CharaInfoPanelPrefab, _commonPrefabContainer.SectionInfoPanelPrefab, SelectedStoryInfo);
}
private AreaSelInfo CreateChapterRewardPanel()
{
return StoryChapterSelectionUtility.CreateChapterRewardPanel(_chapterRewardPanelRoot, _commonPrefabContainer.ChapterRewardPanelPrefab);
}
private void ResetSelectedStoryInfo()
{
_beforeNextChapterId = SelectedStoryInfo.NextChapterId;
_beforeReleasedChapterNum = SelectedStoryInfo.ReleasedChapterNum;
_beforeReplayChapterIndex = SelectedStoryInfo.ReplayChapterIndex;
SelectedStoryInfo.ClearInfoForChapterSelectionScene();
}
private static IProcessing CreateSelectionProcessings(bool isTutorialCategory)
{
IProcessing[] array = ((!isTutorialCategory) ? new IProcessing[8]
{
new SubChapterSelectionDialogDisplay(),
new SummaryDialogDisplay(),
new DeckSelectionDialogDisplay(),
new ChapterCharaDecider(),
new DownloadInfoGetter(),
new DownloadConfirmDialogDisplay(),
new DeckSelectionConfirmDialogDisplay(),
new StoryStarter()
} : new IProcessing[3]
{
new SummaryDialogDisplay(),
new ChapterCharaDecider(),
new TutorialStoryStarter()
});
for (int i = 0; i < array.Length - 1; i++)
{
array[i].NextProcessing = array[i + 1];
}
return array.FirstOrDefault();
}
private void ExecuteSelectionProcessings()
{
if (_firstSelectionProcessing != null)
{
Parameter param = CreateSelectionProcessingParameter();
_firstSelectionProcessing.Execute(param);
}
}
private Parameter CreateSelectionProcessingParameter()
{
return new Parameter(this, _commonPrefabContainer, _scenarioSummary, SelectedStoryInfo, _selectChapterData, nowAreaAllNum, null, _selectChapterData.IsPlayedChapter ? new int?(_selectChapterIndex) : ((int?)null));
}
private void InitBGStartMove()
{
iTween.Stop(_BG.GetBGRoot());
}
private void SetupBGStartMove(int? focus)
{
int newIndex = (focus.HasValue ? focus.Value : GetStartFocusChapterIndex());
SelectChapter(newIndex, isplayse: false, iscalcscroll: true, ismapiconeffectenable: false);
MoveToScreenRightPartsRoot(isIn: false, isImmediate: true);
_chapterRewardPanel.MoveToScreen(isIn: false, isImmediate: true);
if (AspectCamera.SafeAreaRate < 1f)
{
float num = (float)Screen.width / (float)Screen.height / 1.7777778f;
_BG.GetBGRoot().transform.localScale = BG_SCALE_ZOOMOUT * num;
}
else
{
_BG.GetBGRoot().transform.localScale = BG_SCALE_ZOOMOUT;
}
_BG.GetBGRoot().transform.localPosition = BG_POS_ZOOMOUT;
SetPlayerIconVisible(isvisible: false);
InitAnotherEndingAppearanceEffect();
}
private void StartBGStartMove()
{
StartCoroutine(PlayAnimationCoroutine());
}
private IEnumerator PlayAnimationCoroutine()
{
_isPlayingBGStartMove = true;
yield return new WaitForSeconds(1f);
yield return ZoomInCoroutine();
if (HasAnotherEndingAppearanceAnimation)
{
yield return PlayAnotherEndingAppearanceAnimationCoroutine();
}
yield return PlayUiEntranceAnimationCoroutine();
_isPlayingBGStartMove = false;
}
private IEnumerator ZoomInCoroutine()
{
iTween.ScaleTo(_BG.GetBGRoot(), iTween.Hash("scale", BG_SCALE_ZOOMIN, "islocal", true, "time", 1f, "easetype", BG_ZOOMIN_EASETYPE));
Vector3 mapIconPos = _mapIcon.GetMapIconPos(_selectChapterIndex, isLocal: true);
iTween.MoveTo(_BG.GetBGRoot(), iTween.Hash("islocal", true, "x", BG_SCALE_ZOOMIN.x * (mapIconPos.x * -1f), "y", BG_SCALE_ZOOMIN.y * (mapIconPos.y * -1f) + -400f, "time", 1f, "easetype", BG_ZOOMIN_EASETYPE));
yield return new WaitForSeconds(1f);
}
private IEnumerator PlayAnotherEndingAppearanceAnimationCoroutine()
{
_anotherEndingAppearanceEffect.SetActive(value: true);
yield return new WaitForSeconds(1.5f);
}
private IEnumerator PlayUiEntranceAnimationCoroutine()
{
SetPlayerIconVisible(_selectChapterData.IsDisplayMapIcon);
if (_selectChapterData.IsDisplayMapIcon)
{
_mapIcon.StartMapIconEffect(_selectChapterData.ClearStatus, _selectChapterIndex);
}
StartCoroutine(assetSetting());
MoveToScreenRightPartsRoot(isIn: true, isImmediate: false);
MoveToScreenTitlePanel(isIn: true, isImmediate: false);
_chapterRewardPanel.MoveToScreen(isIn: true, isImmediate: false);
yield return new WaitForSeconds(1f);
StartEffectTap();
}
private int GetStartFocusChapterIndex()
{
if (HasAnotherEndingAppearanceAnimation)
{
return int.Parse(_anotherEndingAppearanceAnimationChapterData.ChapterId) - 1;
}
if (_beforeReplayChapterIndex.HasValue && _beforeReplayChapterIndex.Value < nowAreaAllNum - 1)
{
return _beforeReplayChapterIndex.Value + 1;
}
return nowAreaAllNum - 1;
}
private void InitAnotherEndingAppearanceEffect()
{
if (HasAnotherEndingAppearanceAnimation)
{
int chapterIndex = int.Parse(_anotherEndingAppearanceAnimationChapterData.ChapterId) - 1;
InitEffect(_anotherEndingAppearanceEffect, _mapIcon.GetMapIconObject(chapterIndex));
}
}
private static void InitEffect(GameObject effect, GameObject parent)
{
Transform transform = effect.transform;
Vector3 localScale = UIManager.GetInstance().UIManagerRoot.transform.localScale;
transform.parent = parent.transform;
transform.localPosition = Vector3.zero;
transform.localRotation = Quaternion.identity;
transform.localScale = new Vector3(1f / localScale.x, 1f / localScale.y, 1f / localScale.z);
UIManager.GetInstance().SetLayerRecursive(transform, parent.layer);
}
}