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.
129 lines
4.3 KiB
C#
129 lines
4.3 KiB
C#
using System;
|
|
using System.Collections;
|
|
using Cute;
|
|
using UnityEngine;
|
|
|
|
namespace Wizard;
|
|
|
|
public class StorySectionSummaryDialog : MonoBehaviour
|
|
{
|
|
private const int FRAME_DEFAULT_HEIGHT = 87;
|
|
|
|
private const int FRAME_OFFSET_HEIGHT_PER_LINE_COUNT = 28;
|
|
|
|
private const int GRID_DEFAULT_CELL_HIEGHT = 28;
|
|
|
|
private const string SUMMARY_TITLE_KEY_FORMAT = "story_section_summary_title_{0:D2}";
|
|
|
|
private const string SUMMARY_TEXT_KEY_FORMAT = "story_section_summary_text_{0:D2}";
|
|
|
|
private const string SUMMARTY_BG_TEXTURE_FORMAT = "bg_story_section_summary_{0:D2}";
|
|
|
|
[SerializeField]
|
|
private UITexture _textureBackGround;
|
|
|
|
[SerializeField]
|
|
private UISprite _spriteSummaryFrame;
|
|
|
|
[SerializeField]
|
|
private UISprite _spriteSummaryFramePanel;
|
|
|
|
[SerializeField]
|
|
private UILabel _labelSectionSummary;
|
|
|
|
[SerializeField]
|
|
private UIGrid _gridSummaryDetailLines;
|
|
|
|
[SerializeField]
|
|
private UISprite _spriteSummaryDetailLine;
|
|
|
|
private string _bgTexturePath;
|
|
|
|
private int SummaryDefaultFontSize => _labelSectionSummary.fontSize;
|
|
|
|
public static void Create(int sectionId)
|
|
{
|
|
DialogBase dialogBase = UIManager.GetInstance().CreateDialogClose();
|
|
GameObject gameObject = UnityEngine.Object.Instantiate(Resources.Load("UI/layoutParts/Dialog/StorySectionSummaryDialog")) as GameObject;
|
|
dialogBase.SetObj(gameObject);
|
|
gameObject.GetComponent<StorySectionSummaryDialog>().Initialize(dialogBase, sectionId);
|
|
}
|
|
|
|
private void Initialize(DialogBase dialog, int sectionId)
|
|
{
|
|
string storySectionTitleText = Data.Master.GetStorySectionTitleText($"story_section_summary_title_{sectionId:D2}");
|
|
dialog.SetTitleLabel(storySectionTitleText);
|
|
dialog.SetSize(DialogBase.Size.XL);
|
|
string storySectionTitleText2 = Data.Master.GetStorySectionTitleText($"story_section_summary_text_{sectionId:D2}");
|
|
SetSummaryText(storySectionTitleText2);
|
|
SetFramePanelAtlas();
|
|
UIManager.GetInstance().createInSceneCenterLoading();
|
|
string bgTextureName = $"bg_story_section_summary_{sectionId:D2}";
|
|
StartCoroutine(LoadBgTexture(bgTextureName, delegate
|
|
{
|
|
SetBackGroundTexture(bgTextureName);
|
|
DialogBase dialogBase = dialog;
|
|
dialogBase.OnClose = (Action)Delegate.Combine(dialogBase.OnClose, (Action)delegate
|
|
{
|
|
UnloadTexture();
|
|
});
|
|
UIManager.GetInstance().closeInSceneCenterLoading();
|
|
}));
|
|
}
|
|
|
|
private IEnumerator LoadBgTexture(string bgTextureName, Action onFinish)
|
|
{
|
|
_bgTexturePath = Toolbox.ResourcesManager.GetAssetTypePath(bgTextureName, ResourcesManager.AssetLoadPathType.UiStorySectionSummary);
|
|
yield return StartCoroutine(Toolbox.ResourcesManager.LoadAssetAsync(_bgTexturePath, null));
|
|
onFinish.Call();
|
|
}
|
|
|
|
private void UnloadTexture()
|
|
{
|
|
Toolbox.ResourcesManager.RemoveAsset(_bgTexturePath);
|
|
_bgTexturePath = null;
|
|
}
|
|
|
|
private void SetBackGroundTexture(string bgTextureName)
|
|
{
|
|
Texture mainTexture = Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath(bgTextureName, ResourcesManager.AssetLoadPathType.UiStorySectionSummary, isfetch: true)) as Texture;
|
|
_textureBackGround.mainTexture = mainTexture;
|
|
}
|
|
|
|
private void SetFramePanelAtlas()
|
|
{
|
|
UIManager.GetInstance().AttachAtlas(_spriteSummaryFramePanel.gameObject, isTargetChildren: false);
|
|
}
|
|
|
|
private void SetSummaryText(string summaryText)
|
|
{
|
|
_labelSectionSummary.SetWrapText(summaryText);
|
|
int textLineCount = Global.GetTextLineCount(_labelSectionSummary.text);
|
|
int fontSizeDelta = SummaryDefaultFontSize - _labelSectionSummary.finalFontSize;
|
|
SetSummaryLayout(textLineCount, fontSizeDelta);
|
|
}
|
|
|
|
private void SetSummaryLayout(int lineCount, int fontSizeDelta)
|
|
{
|
|
ResizeSummaryFrame(lineCount, fontSizeDelta);
|
|
GenerateDetailLineGrid(lineCount, fontSizeDelta);
|
|
}
|
|
|
|
private void ResizeSummaryFrame(int lineCount, int fontSizeDelta)
|
|
{
|
|
int num = (28 - fontSizeDelta) * lineCount;
|
|
_spriteSummaryFrame.height = 87 + num;
|
|
}
|
|
|
|
private void GenerateDetailLineGrid(int lineCount, int fontSizeDelta)
|
|
{
|
|
for (int i = 1; i < lineCount; i++)
|
|
{
|
|
NGUITools.AddChild(_gridSummaryDetailLines.gameObject, _spriteSummaryDetailLine.gameObject);
|
|
}
|
|
_gridSummaryDetailLines.cellHeight = 28 - fontSizeDelta;
|
|
UIUtil.AddPositionY(_gridSummaryDetailLines.transform, fontSizeDelta);
|
|
_gridSummaryDetailLines.Reposition();
|
|
}
|
|
}
|