Authored Unity primitive/object-model shim, VFX layer (control-flow-preserving, InstantVfx never invokes its action -- headless suppression), god-object stubs (GameMgr/EffectMgr/UIManager with faithfully-extracted nested enums), View/UI/Touch tree, LitJson+BetterList+Tuple copied, third-party stubs. Discovered Roslyn header-error masking: fixing class-header type errors unmasks body references, so the true copy closure is ~2570 files (was 782 under masking). Errors: masked-25720 -> 268; our shim files compile clean. Remaining: ~50 residual shim/external types, 24 NGUI UI-base overrides, static-type fixes, plus likely 1-2 more unmask waves.
245 lines
7.5 KiB
C#
245 lines
7.5 KiB
C#
using System.Collections.Generic;
|
|
using Cute;
|
|
using UnityEngine;
|
|
using Wizard;
|
|
using Wizard.Story;
|
|
|
|
public class MyPageItemSoroPlay : MyPageItem
|
|
{
|
|
private readonly Vector3 CARD_POS_LEFT = new Vector3(-203f, 0f, 0f);
|
|
|
|
private readonly Vector3 CARD_POS_RIGHT = new Vector3(203f, 0f, 0f);
|
|
|
|
private readonly Vector3 CARD_POS_QUEST_EXIST_LEFT = new Vector3(-367f, 0f, 0f);
|
|
|
|
private readonly Vector3 CARD_POS_QUEST_EXIST_CENTER = new Vector3(0f, 20f, 0f);
|
|
|
|
private readonly Vector3 CARD_POS_QUEST_EXIST_RIGHT = new Vector3(367f, 0f, 0f);
|
|
|
|
[SerializeField]
|
|
private UIButton _storyButton;
|
|
|
|
[SerializeField]
|
|
private UIButton _practiceButton;
|
|
|
|
[SerializeField]
|
|
private UIButton _questButton;
|
|
|
|
[SerializeField]
|
|
private StoryCardPanel _storyCardPanel;
|
|
|
|
[SerializeField]
|
|
private MyPageCardPanel _practiceCardPanel;
|
|
|
|
[SerializeField]
|
|
private GameObject _practiceTypeSelectRoot;
|
|
|
|
[SerializeField]
|
|
private UIButton _practiceBattleButton;
|
|
|
|
[SerializeField]
|
|
private UIButton _practiceBattlePazzle;
|
|
|
|
[SerializeField]
|
|
private UILabel _practiceTypePuzzleLabel;
|
|
|
|
[SerializeField]
|
|
private MyPageCardPanel _questCardPanel;
|
|
|
|
[SerializeField]
|
|
private GameObject _questExtraIcon;
|
|
|
|
[SerializeField]
|
|
private GameObject _questBand;
|
|
|
|
[SerializeField]
|
|
private UILabel _questBandLabel;
|
|
|
|
[SerializeField]
|
|
private GameObject _questEndTimeRoot;
|
|
|
|
[SerializeField]
|
|
private UILabel _questEndTimeLabel;
|
|
|
|
[SerializeField]
|
|
private GameObject _practiceBadge;
|
|
|
|
[SerializeField]
|
|
private GameObject _puzzleBadge;
|
|
|
|
public static readonly Quaternion EFFECT_ROTATION = Quaternion.Euler(0f, 0f, -38f);
|
|
|
|
private CardPanelMaintenancePlate _puzzleMaintenancePlate;
|
|
|
|
private void Start()
|
|
{
|
|
_storyButton.onClick.Add(new EventDelegate(delegate
|
|
{
|
|
OnPushMainStory();
|
|
}));
|
|
_questButton.onClick.Add(new EventDelegate(delegate
|
|
{
|
|
OnPushQuest();
|
|
}));
|
|
_practiceBattleButton.onClick.Add(new EventDelegate(delegate
|
|
{
|
|
OnClickPracticeTypeBattle();
|
|
}));
|
|
_practiceBattlePazzle.onClick.Add(new EventDelegate(delegate
|
|
{
|
|
OnClickPracticeTypePuzzle();
|
|
}));
|
|
}
|
|
|
|
public override void Initialize(MyPageMenu parent)
|
|
{
|
|
base.Initialize(parent);
|
|
SaveDefaultPosition(_practiceTypeSelectRoot);
|
|
}
|
|
|
|
public override void Show(bool skipCardAnimation = false)
|
|
{
|
|
base.Show(skipCardAnimation);
|
|
SetCardPanelAnimation();
|
|
StartCardPanelAppearAnimation();
|
|
_practiceButton.onClick.Clear();
|
|
_practiceButton.onClick.Add(new EventDelegate(delegate
|
|
{
|
|
OnPushPractive();
|
|
}));
|
|
UpdateQuestBadgeIcon();
|
|
_questBandLabel.text = Data.MyPageNotifications.data.QuestOpenInfo.QuestPanelBandText;
|
|
_questBand.SetActive(value: true);
|
|
_questEndTimeRoot.SetActive(value: true);
|
|
_practiceTypeSelectRoot.SetActive(value: false);
|
|
_storyCardPanel.DispAppealRibbon(Data.MyPageNotifications.data.StoryNotification.IsDisplayRibbon);
|
|
_storyCardPanel.DispAppealBadge(Data.MyPageNotifications.data.StoryNotification.IsDisplayBadge);
|
|
_practiceBadge.SetActive(Data.MyPageNotifications.data.IsPracticePuzzleBadgeEnable);
|
|
_puzzleBadge.SetActive(Data.MyPageNotifications.data.IsPracticePuzzleBadgeEnable);
|
|
UIManager.GetInstance().CheckFirstTips(FirstTips.TipsType.SoroPlay2);
|
|
}
|
|
|
|
private void SetCardPanelAnimation()
|
|
{
|
|
for (int i = 0; i < base.CardPanelList.Length; i++)
|
|
{
|
|
MyPageCardPanel obj = base.CardPanelList[i];
|
|
obj.gameObject.SetActive(value: true);
|
|
obj.EffectActive = false;
|
|
obj.EffectActive = true;
|
|
obj.CheckMaintenanceType();
|
|
}
|
|
if (Data.MyPageNotifications.data.QuestOpenInfo.IsOpen)
|
|
{
|
|
_questCardPanel.gameObject.SetActive(value: true);
|
|
_storyCardPanel.transform.localPosition = CARD_POS_QUEST_EXIST_LEFT;
|
|
_questCardPanel.transform.localPosition = CARD_POS_QUEST_EXIST_CENTER;
|
|
_practiceCardPanel.transform.localPosition = CARD_POS_QUEST_EXIST_RIGHT;
|
|
_questEndTimeLabel.text = Data.SystemText.Get("MyPage_0048", ConvertTime.ToLocal(Data.MyPageNotifications.data.QuestOpenInfo.EndTime));
|
|
}
|
|
else
|
|
{
|
|
_questCardPanel.gameObject.SetActive(value: false);
|
|
_storyCardPanel.transform.localPosition = CARD_POS_LEFT;
|
|
_practiceCardPanel.transform.localPosition = CARD_POS_RIGHT;
|
|
}
|
|
List<GameObject> list = new List<GameObject>();
|
|
for (int j = 0; j < base.CardPanelList.Length; j++)
|
|
{
|
|
MyPageCardPanel myPageCardPanel = base.CardPanelList[j];
|
|
if (myPageCardPanel.isActiveAndEnabled)
|
|
{
|
|
list.Add(myPageCardPanel.gameObject);
|
|
}
|
|
}
|
|
SaveCardPanelDefaultPosition();
|
|
base.CardAnimation.PanelClear();
|
|
base.CardAnimation.SetCardPanelList(list.ToArray());
|
|
base.CardAnimation.SetCardPanelAngle();
|
|
}
|
|
|
|
private void OnPushMainStory()
|
|
{
|
|
if (!base.IsCardMoving)
|
|
{
|
|
base.CardAnimation.OnClicked(_storyCardPanel.Index);
|
|
Data.SelectedStoryInfo = new SelectedStoryInfo(StoryEntranceType.AllStory);
|
|
UIManager.GetInstance().ChangeViewScene(UIManager.ViewScene.StorySelectionWorld);
|
|
}
|
|
}
|
|
|
|
public void GotoPracticeTypeSelect()
|
|
{
|
|
ShowPracticeTypeSelect();
|
|
}
|
|
|
|
private void OnPushPractive()
|
|
{
|
|
if (!base.IsCardMoving)
|
|
{
|
|
base.CardAnimation.OnClicked(_practiceCardPanel.Index);
|
|
ShowPracticeTypeSelect();
|
|
}
|
|
}
|
|
|
|
private void ShowPracticeTypeSelect()
|
|
{
|
|
_practiceButton.onClick.Clear();
|
|
bool isMaintenance = Data.MaintenanceCodeList.Contains(NetworkDefine.MAINTENANCE_TYPE.PRACTICE_PUZZLE);
|
|
_puzzleMaintenancePlate = MyPageItem.SetMaintenanceVisible(isMaintenance, _practiceBattlePazzle, _puzzleMaintenancePlate, _practiceTypePuzzleLabel.depth);
|
|
base.TopBar.SetTitleLabel(Data.SystemText.Get("MyPage_0009"));
|
|
base.IsEnableFooterCurrentMenu = true;
|
|
FadeOutCardPanel(_storyCardPanel, null);
|
|
if (Data.MyPageNotifications.data.QuestOpenInfo.IsOpen)
|
|
{
|
|
FadeOutCardPanel(_questCardPanel, null);
|
|
}
|
|
MoveCardPanelLeftPosition(_practiceCardPanel.gameObject);
|
|
_practiceTypeSelectRoot.SetActive(value: true);
|
|
RestoreDefaultPosition(_practiceTypeSelectRoot.gameObject);
|
|
AppearAnimationFromRight(_practiceTypeSelectRoot);
|
|
base.Parent.SetBackButtonEnable();
|
|
}
|
|
|
|
private void OnClickPracticeTypeBattle()
|
|
{
|
|
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_BTN_DECIDE);
|
|
GameMgr.GetIns().GetDataMgr().m_BattleType = DataMgr.BattleType.Practice;
|
|
PracticeDeckInfoTask task = new PracticeDeckInfoTask();
|
|
UIManager.GetInstance().StartCoroutine(Toolbox.NetworkManager.Connect(task, delegate
|
|
{
|
|
Format value = (Format)PlayerPrefsWrapper.GetValue(PlayerPrefsWrapper.LAST_SELECT_DECK_FORMAT);
|
|
DeckSelectUIDialog.Create(Data.SystemText.Get("Story_0017"), task.DeckGroupListData, value, DeckSelectUIDialog.eFormatChangeUIType.UseOtherCategory, isVisibleCreateNew: true, delegate(DialogBase dialog, DeckData deck)
|
|
{
|
|
PracticeDeckSelectConfirmDialog.Create(dialog, deck, isBattleAgain: false);
|
|
});
|
|
}));
|
|
}
|
|
|
|
private void OnClickPracticeTypePuzzle()
|
|
{
|
|
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_BTN_DECIDE);
|
|
UIManager.GetInstance().ChangeViewScene(UIManager.ViewScene.PracticePuzzle);
|
|
}
|
|
|
|
private void OnPushQuest()
|
|
{
|
|
if (!base.IsCardMoving)
|
|
{
|
|
_questExtraIcon.SetActive(value: false);
|
|
base.CardAnimation.OnClicked(_questCardPanel.Index);
|
|
UIManager.GetInstance().ChangeViewScene(UIManager.ViewScene.QuestSelectionPage);
|
|
}
|
|
}
|
|
|
|
public void UpdateQuestBadgeIcon()
|
|
{
|
|
bool active = false;
|
|
if (Data.Load.data._userTutorial.TutorialStep == 100)
|
|
{
|
|
active = Data.MyPageNotifications.data.QuestOpenInfo.IsDisplayBadge;
|
|
}
|
|
_questExtraIcon.SetActive(active);
|
|
}
|
|
}
|