feat(ui): 添加 Terminal 风格主界面 UI 系统

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-01 12:06:11 +08:00
co-authored by Cursor
parent da436479db
commit a05d5d476c
63 changed files with 15763 additions and 3481 deletions
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 33e48b17003f9a340a079e8b5993c786
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,591 @@
using System.IO;
using AibisDream.UI.Terminal;
using TMPro;
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;
using UnityEngine.UI;
namespace AibisDream.EditorTools.TerminalUI
{
[InitializeOnLoad]
public static class TerminalMainUIPrefabBuilder
{
private const string PrefabRoot = "Assets/GameContent/Feature_MainUI/Prefabs";
private const string CommonRoot = PrefabRoot + "/Common";
private const string FontPath = "Assets/Font/Assets/WenQuanYi Bitmap Song 14px SDF.asset";
private static readonly Vector2 PanelSize = new Vector2(1920f, 1080f);
private static readonly Vector2 ReferenceSize = new Vector2(768f, 432f);
private const float UiScale = 2.5f;
private static TMP_FontAsset _font;
static TerminalMainUIPrefabBuilder()
{
EditorApplication.delayCall += BuildMissingPrefabsOnce;
}
[MenuItem("AIBIS/Terminal UI/Rebuild MainUI Prefabs")]
public static void BuildAll()
{
EnsureFolders();
_font = AssetDatabase.LoadAssetAtPath<TMP_FontAsset>(FontPath);
if (_font == null)
{
Debug.LogError($"[TerminalMainUIPrefabBuilder] Font not found: {FontPath}");
return;
}
BuildCommonPrefabs();
BuildStartPanel();
BuildSettingPanel();
BuildChapterPanel();
BuildRecordPanel();
BuildLoadingPanel();
AssetDatabase.SaveAssets();
AssetDatabase.Refresh();
Debug.Log("[TerminalMainUIPrefabBuilder] Terminal MainUI prefabs rebuilt.");
}
private static void BuildMissingPrefabsOnce()
{
if (SessionState.GetBool("AibisDream.TerminalMainUI.GeneratedPrefabsV4", false))
{
return;
}
SessionState.SetBool("AibisDream.TerminalMainUI.GeneratedPrefabsV4", true);
BuildAll();
}
public static void BuildAllAndInstallToPersistence()
{
BuildAll();
InstallToPersistenceScene();
}
[MenuItem("AIBIS/Terminal UI/Install MainUI Prefabs To Open Persistence")]
public static void InstallToPersistenceScene()
{
var uiCanvas = GameObject.Find("UI Canvas");
if (uiCanvas == null)
{
Debug.LogError("[TerminalMainUIPrefabBuilder] Open Persistence scene first. UI Canvas was not found.");
return;
}
InstantiateUnderCanvas("TerminalStartPanel.prefab", uiCanvas.transform, false);
InstantiateUnderCanvas("TerminalSettingPanel.prefab", uiCanvas.transform, false);
InstantiateUnderCanvas("TerminalChapterPanel.prefab", uiCanvas.transform, false);
InstantiateUnderCanvas("TerminalRecordPanel.prefab", uiCanvas.transform, false);
InstantiateUnderCanvas("TerminalLoadingPanel.prefab", uiCanvas.transform, false);
EditorSceneManager.MarkSceneDirty(uiCanvas.scene);
}
private static void BuildCommonPrefabs()
{
SavePrefab(CreateHeaderTemplate(), CommonRoot + "/TerminalHeader.prefab");
SavePrefab(CreateMenuItemTemplate(), CommonRoot + "/TerminalMenuItem.prefab");
SavePrefab(CreateSliderTemplate(), CommonRoot + "/TerminalSliderItem.prefab");
SavePrefab(CreateOptionTemplate(), CommonRoot + "/TerminalOptionItem.prefab");
SavePrefab(CreateChapterCardTemplate(), CommonRoot + "/TerminalChapterCard.prefab");
SavePrefab(CreateRecordItemTemplate(), CommonRoot + "/TerminalRecordItem.prefab");
AssetDatabase.Refresh();
}
private static void BuildStartPanel()
{
var root = CreatePanelRoot("TerminalStartPanel", typeof(TerminalStartPanel));
var panel = root.GetComponent<TerminalStartPanel>();
var animator = root.GetComponent<TerminalPanelAnimator>();
var header = AddHeader(root.transform, Point(384f, 21f), "<MENU>", "CHAPER xx/xxx - LOADING - DT");
AddText(root.transform, "SELECT OPERATION", 34f, TextAlignmentOptions.Left, Point(177f, 124f), Size(220f, 28f));
var newGame = AddMenuItem(root.transform, Point(384f, 173f), "NEW GAME.....", "pending", "Current date: 04/2020", false);
var chapter = AddMenuItem(root.transform, Point(384f, 197f), "CHAPTER......", "check ok", "Current date: 00/2020", false);
chapter.SetSelected(true);
var setting = AddMenuItem(root.transform, Point(384f, 221f), "SETTING......", "pending", "Current date: xx/xxxx", false);
var quit = AddMenuItem(root.transform, Point(384f, 245f), "QUIT.........", "-----", "-----: 00/0000", true);
AddSideMarks(root.transform, Point(384f, 209f).y);
AddFooter(root.transform);
SetObject(panel, "panelAnimator", animator);
SetObject(panel, "header", header);
SetObject(panel, "newGameItem", newGame);
SetObject(panel, "chapterItem", chapter);
SetObject(panel, "settingItem", setting);
SetObject(panel, "quitItem", quit);
SavePrefab(root, PrefabRoot + "/TerminalStartPanel.prefab");
}
private static void BuildSettingPanel()
{
var root = CreatePanelRoot("TerminalSettingPanel", typeof(TerminalSettingPanel));
var panel = root.GetComponent<TerminalSettingPanel>();
var animator = root.GetComponent<TerminalPanelAnimator>();
var header = AddHeader(root.transform, Point(384f, 21f), "<SETTING>", "MUSIC 50/100 - AUDIO INPUT 001");
AddText(root.transform, "SELECT OPERATION", 34f, TextAlignmentOptions.Left, Point(177f, 76f), Size(220f, 28f));
var volume = AddSlider(root.transform, Point(384f, 109f));
var windowMode = AddOption(root.transform, Point(360f, 133f));
var textSpeed = AddSlider(root.transform, Point(384f, 157f));
var language = AddOption(root.transform, Point(360f, 181f));
var continueButton = AddTextButton(root.transform, "CONTINUE", Point(228f, 365f), false);
var backButton = AddTextButton(root.transform, "MAIN MENU", Point(384f, 365f), false);
var quitButton = AddTextButton(root.transform, "QUIT", Point(540f, 365f), true);
AddSideMarks(root.transform, Point(384f, 209f).y);
AddFooter(root.transform);
SetObject(panel, "panelAnimator", animator);
SetObject(panel, "header", header);
SetObject(panel, "volumeSlider", volume);
SetObject(panel, "textSpeedSlider", textSpeed);
SetObject(panel, "windowModeOption", windowMode);
SetObject(panel, "languageOption", language);
SetObject(panel, "continueButton", continueButton);
SetObject(panel, "backToMainButton", backButton);
SetObject(panel, "quitButton", quitButton);
SavePrefab(root, PrefabRoot + "/TerminalSettingPanel.prefab");
}
private static void BuildChapterPanel()
{
var root = CreatePanelRoot("TerminalChapterPanel", typeof(TerminalChapterPanel));
var panel = root.GetComponent<TerminalChapterPanel>();
var animator = root.GetComponent<TerminalPanelAnimator>();
var header = AddHeader(root.transform, Point(384f, 21f), "<CHAPTER>", string.Empty);
var left = AddChapterCard(root.transform, Point(173f, 171f), Size(106f, 106f));
var current = AddChapterCard(root.transform, Point(384f, 176f), Size(235f, 235f));
var right = AddChapterCard(root.transform, Point(595f, 171f), Size(106f, 106f));
var empty = AddText(root.transform, "NO CHAPTER DATA", 34f, TextAlignmentOptions.Center, Vector2.zero, Size(240f, 32f));
var selectedTitle = AddText(root.transform, "CHAPTER TITLE", 32f, TextAlignmentOptions.Center, Point(384f, 320f), Size(210f, 28f));
var previousButton = AddTextButton(root.transform, "<", Point(312f, 320f), false);
var nextButton = AddTextButton(root.transform, ">", Point(456f, 320f), false);
var continueButton = AddTextButton(root.transform, "CONTINUE", Point(330f, 356f), false);
var restartButton = AddTextButton(root.transform, "RESTART", Point(438f, 356f), false);
var backButton = AddTextButton(root.transform, "BACK", Point(384f, 368f), true);
AddSideMarks(root.transform, Point(384f, 209f).y);
AddFooter(root.transform);
SetObject(panel, "panelAnimator", animator);
SetObject(panel, "header", header);
SetObject(panel, "leftPreview", left);
SetObject(panel, "currentView", current);
SetObject(panel, "rightPreview", right);
SetObject(panel, "emptyText", empty);
SetObject(panel, "selectedTitleText", selectedTitle);
SetObject(panel, "previousButton", previousButton);
SetObject(panel, "nextButton", nextButton);
SetObject(panel, "continueButton", continueButton);
SetObject(panel, "restartButton", restartButton);
SetObject(panel, "backButton", backButton);
SavePrefab(root, PrefabRoot + "/TerminalChapterPanel.prefab");
}
private static void BuildRecordPanel()
{
var root = CreatePanelRoot("TerminalRecordPanel", typeof(TerminalRecordPanel));
var panel = root.GetComponent<TerminalRecordPanel>();
var animator = root.GetComponent<TerminalPanelAnimator>();
var header = AddHeader(root.transform, Point(384f, 21f), "<CLINICAL RECORD>", "EMR 511/42 - Clinical Record");
var viewport = CreateUIObject("Record Scroll", root.transform, Point(384f, 188f), Size(410f, 245f));
var scrollRect = viewport.AddComponent<ScrollRect>();
var mask = viewport.AddComponent<Mask>();
mask.showMaskGraphic = false;
var viewportImage = viewport.AddComponent<Image>();
viewportImage.color = new Color(1f, 1f, 1f, 0.001f);
var content = CreateUIObject("Content", viewport.transform, Vector2.zero, Size(410f, 245f));
var layout = content.AddComponent<VerticalLayoutGroup>();
layout.spacing = 18f;
layout.childControlHeight = true;
layout.childControlWidth = true;
layout.childForceExpandHeight = false;
layout.childForceExpandWidth = true;
content.AddComponent<ContentSizeFitter>().verticalFit = ContentSizeFitter.FitMode.PreferredSize;
scrollRect.viewport = viewport.GetComponent<RectTransform>();
scrollRect.content = content.GetComponent<RectTransform>();
scrollRect.horizontal = false;
var emptyText = AddText(viewport.transform, "NO CLINICAL RECORD", 30f, TextAlignmentOptions.Center, Vector2.zero, Size(260f, 30f));
var backButton = AddTextButton(root.transform, "BACK", Point(384f, 368f), true);
var itemPrefabObject = AssetDatabase.LoadAssetAtPath<GameObject>(CommonRoot + "/TerminalRecordItem.prefab");
var itemPrefab = itemPrefabObject != null ? itemPrefabObject.GetComponent<TerminalRecordItemView>() : null;
AddSideMarks(root.transform, Point(384f, 209f).y);
SetObject(panel, "panelAnimator", animator);
SetObject(panel, "header", header);
SetObject(panel, "backButton", backButton);
SetObject(panel, "scrollRect", scrollRect);
SetObject(panel, "recordRoot", content.transform);
SetObject(panel, "recordItemPrefab", itemPrefab);
SetObject(panel, "emptyText", emptyText);
SavePrefab(root, PrefabRoot + "/TerminalRecordPanel.prefab");
}
private static void BuildLoadingPanel()
{
var root = CreatePanelRoot("TerminalLoadingPanel", typeof(TerminalLoadingPanel));
var panel = root.GetComponent<TerminalLoadingPanel>();
var animator = root.GetComponent<TerminalPanelAnimator>();
var avatar = CreateUIObject("Avatar", root.transform, Point(248f, 160f), Size(100f, 100f)).AddComponent<Image>();
avatar.color = new Color(1f, 1f, 1f, 0.08f);
var company = AddText(root.transform, "SATISFYING INC", 32f, TextAlignmentOptions.Left, Point(444f, 116f), Size(220f, 28f));
var device = AddText(root.transform, "Device Model: Dell P5999 DX130\nDevice Serial Number: SN46456546DAS", 24f, TextAlignmentOptions.Left, Point(472f, 145f), Size(330f, 42f));
var user = AddText(root.transform, "User Name: Luth\nUser Title: DOC.\nEmployee ID: D42", 24f, TextAlignmentOptions.Left, Point(444f, 192f), Size(260f, 58f));
var bar = CreateUIObject("Progress Bar", root.transform, Point(384f, 244f), Size(374f, 12f)).AddComponent<Image>();
bar.color = Color.white;
var fill = CreateUIObject("Fill", bar.transform, Vector2.zero, Size(374f, 12f)).AddComponent<Image>();
fill.color = Color.white;
var fillRect = fill.GetComponent<RectTransform>();
fillRect.anchorMin = new Vector2(0f, 0f);
fillRect.anchorMax = new Vector2(0f, 1f);
fillRect.offsetMin = Vector2.zero;
fillRect.offsetMax = Vector2.zero;
var loading = AddText(root.transform, "LOADING...", 28f, TextAlignmentOptions.Center, Point(384f, 266f), Size(120f, 24f));
AddText(root.transform, "AM **:**\nWE.92 2650", 24f, TextAlignmentOptions.Left, Point(390f, 352f), Size(120f, 45f));
AddSideMarks(root.transform, Point(384f, 209f).y);
SetObject(panel, "panelAnimator", animator);
SetObject(panel, "companyText", company);
SetObject(panel, "deviceText", device);
SetObject(panel, "userText", user);
SetObject(panel, "loadingText", loading);
SetObject(panel, "avatarImage", avatar);
SetObject(panel, "progressFill", fillRect);
SavePrefab(root, PrefabRoot + "/TerminalLoadingPanel.prefab");
}
private static GameObject CreatePanelRoot(string name, System.Type panelType)
{
var root = CreateUIObject(name, null, Vector2.zero, PanelSize);
var rect = root.GetComponent<RectTransform>();
rect.anchorMin = new Vector2(0.5f, 0.5f);
rect.anchorMax = new Vector2(0.5f, 0.5f);
rect.sizeDelta = PanelSize;
var canvasGroup = root.AddComponent<CanvasGroup>();
var animator = root.AddComponent<TerminalPanelAnimator>();
root.AddComponent(panelType);
SetObject(animator, "canvasGroup", canvasGroup);
root.SetActive(false);
return root;
}
private static TerminalHeaderView AddHeader(Transform parent, Vector2 pos, string title, string status)
{
var go = InstantiateCommon("TerminalHeader.prefab", parent);
SetRect(go, pos, Size(415f, 17f));
var header = go.GetComponent<TerminalHeaderView>();
header.SetText(title, status);
return header;
}
private static TerminalMenuItemView AddMenuItem(Transform parent, Vector2 pos, string label, string status, string detail, bool danger)
{
var go = InstantiateCommon("TerminalMenuItem.prefab", parent);
SetRect(go, pos, Size(415f, 18f));
var view = go.GetComponent<TerminalMenuItemView>();
view.SetContent(label, status, detail, danger);
return view;
}
private static TerminalSliderView AddSlider(Transform parent, Vector2 pos)
{
var go = InstantiateCommon("TerminalSliderItem.prefab", parent);
SetRect(go, pos, Size(410f, 18f));
return go.GetComponent<TerminalSliderView>();
}
private static TerminalOptionItemView AddOption(Transform parent, Vector2 pos)
{
var go = InstantiateCommon("TerminalOptionItem.prefab", parent);
SetRect(go, pos, Size(250f, 18f));
return go.GetComponent<TerminalOptionItemView>();
}
private static TerminalChapterItemView AddChapterCard(Transform parent, Vector2 pos, Vector2 size)
{
var go = InstantiateCommon("TerminalChapterCard.prefab", parent);
SetRect(go, pos, size);
return go.GetComponent<TerminalChapterItemView>();
}
private static Button AddTextButton(Transform parent, string text, Vector2 pos, bool danger)
{
var go = CreateUIObject(text + " Button", parent, pos, Size(100f, 22f));
var button = AddTransparentBaseButton(go);
CreateLine(go.transform, "Top Line", new Vector2(0f, 20f), Size(100f, 1f));
CreateLine(go.transform, "Bottom Line", new Vector2(0f, -20f), Size(100f, 1f));
AddText(go.transform, text, 28f, TextAlignmentOptions.Center, Vector2.zero, Size(100f, 18f), danger ? new Color(1f, 0.18f, 0.2f) : Color.white);
return button;
}
private static void AddFooter(Transform parent)
{
AddText(parent, "Please keep this device secure. Do not lose, transfer, or remove it from the premises without authorization.\nUnauthorized use of this device is strictly prohibited.", 13f, TextAlignmentOptions.Left, Point(384f, 385f), Size(325f, 24f));
}
private static void AddSideMarks(Transform parent, float y)
{
CreateLine(parent, "Left Mark", new Vector2(Point(68f, 216f).x, y), Size(96f, 1f));
CreateLine(parent, "Right Mark", new Vector2(Point(700f, 216f).x, y), Size(96f, 1f));
}
private static GameObject CreateHeaderTemplate()
{
var root = CreateUIObject("TerminalHeader", null, Vector2.zero, Size(415f, 17f));
var bg = root.AddComponent<Image>();
bg.color = Color.white;
var title = AddText(root.transform, "<TITLE>", 28f, TextAlignmentOptions.Left, new Vector2(-275f, 0f), Size(100f, 17f), Color.black);
var status = AddText(root.transform, "STATUS", 28f, TextAlignmentOptions.Left, new Vector2(75f, 0f), Size(270f, 17f), Color.black);
var header = root.AddComponent<TerminalHeaderView>();
SetObject(header, "titleText", title);
SetObject(header, "statusText", status);
return root;
}
private static GameObject CreateMenuItemTemplate()
{
var root = CreateUIObject("TerminalMenuItem", null, Vector2.zero, Size(415f, 18f));
AddTransparentBaseButton(root);
var bar = CreateUIObject("Selection Bar", root.transform, new Vector2(0f, 0f), Size(415f, 16f)).AddComponent<Image>();
bar.color = Color.white;
bar.raycastTarget = false;
var cursor = AddText(root.transform, ">", 28f, TextAlignmentOptions.Center, new Vector2(-497f, 0f), Size(16f, 16f));
var label = AddText(root.transform, "Label", 28f, TextAlignmentOptions.Left, new Vector2(-342f, 0f), Size(128f, 16f));
var status = AddText(root.transform, "Status", 28f, TextAlignmentOptions.Left, new Vector2(-95f, 0f), Size(95f, 16f));
var detail = AddText(root.transform, "Detail", 18f, TextAlignmentOptions.Left, new Vector2(245f, 0f), Size(200f, 16f));
var view = root.AddComponent<TerminalMenuItemView>();
SetObject(view, "labelText", label);
SetObject(view, "statusText", status);
SetObject(view, "detailText", detail);
SetObject(view, "cursor", cursor);
SetObject(view, "selectionBar", bar);
return root;
}
private static GameObject CreateSliderTemplate()
{
var root = CreateUIObject("TerminalSliderItem", null, Vector2.zero, Size(410f, 18f));
var label = AddText(root.transform, "Label", 28f, TextAlignmentOptions.Left, new Vector2(-330f, 0f), Size(100f, 16f));
var value = AddText(root.transform, "50/100", 28f, TextAlignmentOptions.Left, new Vector2(-130f, 0f), Size(70f, 16f));
var sliderObject = CreateUIObject("Slider", root.transform, new Vector2(165f, 0f), Size(200f, 12f));
var slider = sliderObject.AddComponent<Slider>();
slider.transition = Selectable.Transition.None;
var bg = CreateUIObject("Background", sliderObject.transform, Vector2.zero, Size(200f, 11f)).AddComponent<Image>();
bg.color = new Color(1f, 1f, 1f, 0.08f);
var fill = CreateUIObject("Fill", sliderObject.transform, Vector2.zero, Size(200f, 11f)).AddComponent<Image>();
fill.color = Color.white;
var handle = CreateUIObject("Handle", sliderObject.transform, Vector2.zero, Size(5f, 12f)).AddComponent<Image>();
handle.color = Color.white;
slider.fillRect = fill.GetComponent<RectTransform>();
slider.handleRect = handle.GetComponent<RectTransform>();
var view = root.AddComponent<TerminalSliderView>();
SetObject(view, "labelText", label);
SetObject(view, "valueText", value);
SetObject(view, "slider", slider);
SetObject(view, "fillRect", fill.GetComponent<RectTransform>());
return root;
}
private static GameObject CreateOptionTemplate()
{
var root = CreateUIObject("TerminalOptionItem", null, Vector2.zero, Size(250f, 18f));
var label = AddText(root.transform, "Label", 28f, TextAlignmentOptions.Left, new Vector2(-205f, 0f), Size(100f, 16f));
var value = AddText(root.transform, "<Value>", 28f, TextAlignmentOptions.Left, new Vector2(45f, 0f), Size(120f, 16f));
var prev = CreateTinyButton(root.transform, "<", new Vector2(-35f, 0f));
var next = CreateTinyButton(root.transform, ">", new Vector2(270f, 0f));
var view = root.AddComponent<TerminalOptionItemView>();
SetObject(view, "labelText", label);
SetObject(view, "valueText", value);
SetObject(view, "previousButton", prev);
SetObject(view, "nextButton", next);
return root;
}
private static GameObject CreateChapterCardTemplate()
{
var root = CreateUIObject("TerminalChapterCard", null, Vector2.zero, Size(140f, 120f));
AddTransparentBaseButton(root);
var cover = CreateUIObject("Cover", root.transform, new Vector2(0f, 25f), Size(120f, 80f)).AddComponent<Image>();
cover.color = new Color(1f, 1f, 1f, 0.2f);
cover.raycastTarget = false;
var frame = CreateUIObject("Selection Frame", root.transform, new Vector2(0f, 25f), Size(125f, 85f)).AddComponent<Image>();
frame.color = new Color(1f, 1f, 1f, 0.16f);
frame.raycastTarget = false;
var title = AddText(root.transform, "Title", 26f, TextAlignmentOptions.Center, new Vector2(0f, -95f), Size(120f, 18f));
var chapter = AddText(root.transform, "Chapter", 20f, TextAlignmentOptions.Center, new Vector2(0f, -125f), Size(120f, 16f));
var status = AddText(root.transform, "PENDING", 16f, TextAlignmentOptions.Center, new Vector2(0f, -150f), Size(120f, 14f));
var view = root.AddComponent<TerminalChapterItemView>();
SetObject(view, "coverImage", cover);
SetObject(view, "titleText", title);
SetObject(view, "chapterText", chapter);
SetObject(view, "statusText", status);
SetObject(view, "selectionFrame", frame);
return root;
}
private static GameObject CreateRecordItemTemplate()
{
var root = CreateUIObject("TerminalRecordItem", null, Vector2.zero, Size(410f, 32f));
var layout = root.AddComponent<HorizontalLayoutGroup>();
layout.spacing = 24f;
layout.childControlHeight = true;
layout.childControlWidth = false;
layout.childForceExpandHeight = false;
layout.childForceExpandWidth = false;
var actor = AddText(root.transform, "Actor", 24f, TextAlignmentOptions.TopLeft, Vector2.zero, Size(55f, 30f));
actor.gameObject.AddComponent<LayoutElement>().preferredWidth = Size(55f, 1f).x;
var line = AddText(root.transform, "Record line", 24f, TextAlignmentOptions.TopLeft, Vector2.zero, Size(330f, 30f));
line.gameObject.AddComponent<LayoutElement>().preferredWidth = Size(330f, 1f).x;
var view = root.AddComponent<TerminalRecordItemView>();
SetObject(view, "actorNameText", actor);
SetObject(view, "lineText", line);
return root;
}
private static Button CreateTinyButton(Transform parent, string text, Vector2 pos)
{
var go = CreateUIObject(text + " Button", parent, pos, Size(18f, 18f));
var button = AddTransparentBaseButton(go);
AddText(go.transform, text, 24f, TextAlignmentOptions.Center, Vector2.zero, Size(18f, 18f));
return button;
}
private static TMP_Text AddText(Transform parent, string text, float size, TextAlignmentOptions alignment, Vector2 pos, Vector2 rectSize)
{
return AddText(parent, text, size, alignment, pos, rectSize, Color.white);
}
private static TMP_Text AddText(Transform parent, string text, float size, TextAlignmentOptions alignment, Vector2 pos, Vector2 rectSize, Color color)
{
var go = CreateUIObject("Text", parent, pos, rectSize);
var tmp = go.AddComponent<TextMeshProUGUI>();
tmp.font = _font;
tmp.fontSize = size;
tmp.alignment = alignment;
tmp.color = color;
tmp.text = text;
tmp.raycastTarget = false;
return tmp;
}
private static Image CreateLine(Transform parent, string name, Vector2 pos, Vector2 size)
{
var line = CreateUIObject(name, parent, pos, size).AddComponent<Image>();
line.color = Color.white;
line.raycastTarget = false;
return line;
}
private static BaseButton AddTransparentBaseButton(GameObject go)
{
var hitArea = go.AddComponent<Image>();
hitArea.color = new Color(1f, 1f, 1f, 0.001f);
hitArea.raycastTarget = true;
var button = go.AddComponent<BaseButton>();
button.targetGraphic = hitArea;
button.transition = Selectable.Transition.None;
return button;
}
private static GameObject InstantiateCommon(string prefabName, Transform parent)
{
var prefab = AssetDatabase.LoadAssetAtPath<GameObject>($"{CommonRoot}/{prefabName}");
if (prefab == null)
{
Debug.LogError($"[TerminalMainUIPrefabBuilder] Missing common prefab: {prefabName}");
return CreateUIObject(prefabName, parent, Vector2.zero, Vector2.one);
}
var instance = (GameObject)PrefabUtility.InstantiatePrefab(prefab);
instance.transform.SetParent(parent, false);
return instance;
}
private static GameObject CreateUIObject(string name, Transform parent, Vector2 anchoredPosition, Vector2 size)
{
var go = new GameObject(name, typeof(RectTransform));
if (parent != null)
{
go.transform.SetParent(parent, false);
}
SetRect(go, anchoredPosition, size);
return go;
}
private static void SetRect(GameObject go, Vector2 anchoredPosition, Vector2 size)
{
var rect = go.GetComponent<RectTransform>();
rect.anchorMin = new Vector2(0.5f, 0.5f);
rect.anchorMax = new Vector2(0.5f, 0.5f);
rect.pivot = new Vector2(0.5f, 0.5f);
rect.anchoredPosition = anchoredPosition;
rect.sizeDelta = size;
}
private static Vector2 Point(float x, float y)
{
return new Vector2((x - ReferenceSize.x * 0.5f) * UiScale, (ReferenceSize.y * 0.5f - y) * UiScale);
}
private static Vector2 Size(float width, float height)
{
return new Vector2(width * UiScale, height * UiScale);
}
private static void SetObject(Object target, string propertyName, Object value)
{
var serializedObject = new SerializedObject(target);
var property = serializedObject.FindProperty(propertyName);
if (property == null)
{
Debug.LogError($"[TerminalMainUIPrefabBuilder] Missing property {propertyName} on {target.name}");
return;
}
property.objectReferenceValue = value;
serializedObject.ApplyModifiedPropertiesWithoutUndo();
}
private static void SavePrefab(GameObject go, string path)
{
PrefabUtility.SaveAsPrefabAsset(go, path);
Object.DestroyImmediate(go);
}
private static void InstantiateUnderCanvas(string prefabName, Transform canvas, bool active)
{
var prefab = AssetDatabase.LoadAssetAtPath<GameObject>($"{PrefabRoot}/{prefabName}");
if (prefab == null)
{
Debug.LogError($"[TerminalMainUIPrefabBuilder] Missing prefab {prefabName}");
return;
}
if (canvas.Find(prefab.name) != null)
{
return;
}
var instance = (GameObject)PrefabUtility.InstantiatePrefab(prefab, canvas);
var rect = instance.GetComponent<RectTransform>();
rect.anchorMin = Vector2.zero;
rect.anchorMax = Vector2.one;
rect.offsetMin = Vector2.zero;
rect.offsetMax = Vector2.zero;
instance.SetActive(active);
}
private static void EnsureFolders()
{
Directory.CreateDirectory(PrefabRoot);
Directory.CreateDirectory(CommonRoot);
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: cac1ea1e16d681c4ebdb096a3e667f8d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 87ee7a0a415189d449f7e88dc6653b5b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0fbd7f68d96609940912a8566037edfe
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,701 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &385240155736479671
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7111283681719892374}
- component: {fileID: 1280704430578899524}
- component: {fileID: 462211286215994725}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7111283681719892374
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 385240155736479671}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7868881907662875693}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -150}
m_SizeDelta: {x: 300, y: 35}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1280704430578899524
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 385240155736479671}
m_CullTransparentMesh: 1
--- !u!114 &462211286215994725
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 385240155736479671}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: PENDING
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 16
m_fontSizeBase: 16
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &2808611988586924236
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1891895188760759831}
- component: {fileID: 8168281352725758099}
- component: {fileID: 8547362103754475518}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1891895188760759831
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2808611988586924236}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7868881907662875693}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -95}
m_SizeDelta: {x: 300, y: 45}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8168281352725758099
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2808611988586924236}
m_CullTransparentMesh: 1
--- !u!114 &8547362103754475518
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2808611988586924236}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Title
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 26
m_fontSizeBase: 26
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &3794767254972571085
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5887316356359974993}
- component: {fileID: 6682075528618343653}
- component: {fileID: 848344598248634811}
m_Layer: 0
m_Name: Cover
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5887316356359974993
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3794767254972571085}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7868881907662875693}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 25}
m_SizeDelta: {x: 300, y: 200}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6682075528618343653
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3794767254972571085}
m_CullTransparentMesh: 1
--- !u!114 &848344598248634811
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3794767254972571085}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.2}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &4609133001196059602
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8886733599246688591}
- component: {fileID: 7831352274078738314}
- component: {fileID: 8993321792848645770}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8886733599246688591
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4609133001196059602}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7868881907662875693}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -125}
m_SizeDelta: {x: 300, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7831352274078738314
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4609133001196059602}
m_CullTransparentMesh: 1
--- !u!114 &8993321792848645770
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4609133001196059602}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Chapter
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 20
m_fontSizeBase: 20
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &6342103140936356651
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7868881907662875693}
- component: {fileID: 4413606556429641372}
- component: {fileID: 1812498487389041007}
- component: {fileID: 1226032213974330633}
- component: {fileID: 784966545828546719}
m_Layer: 0
m_Name: TerminalChapterCard
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7868881907662875693
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6342103140936356651}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5887316356359974993}
- {fileID: 4252891396479114763}
- {fileID: 1891895188760759831}
- {fileID: 8886733599246688591}
- {fileID: 7111283681719892374}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 350, y: 300}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4413606556429641372
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6342103140936356651}
m_CullTransparentMesh: 1
--- !u!114 &1812498487389041007
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6342103140936356651}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.001}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &1226032213974330633
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6342103140936356651}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f5702aa38bfd4746aecc799b153aab91, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1812498487389041007}
m_OnClick:
m_PersistentCalls:
m_Calls: []
onStateTransition:
m_PersistentCalls:
m_Calls: []
--- !u!114 &784966545828546719
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6342103140936356651}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4c187c1fc9d598941b35e2a0ca64f8f5, type: 3}
m_Name:
m_EditorClassIdentifier:
coverImage: {fileID: 848344598248634811}
titleText: {fileID: 8547362103754475518}
chapterText: {fileID: 8993321792848645770}
statusText: {fileID: 462211286215994725}
selectionFrame: {fileID: 7250160572790716350}
canvasGroup: {fileID: 0}
--- !u!1 &6449800174738035607
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4252891396479114763}
- component: {fileID: 8134337141962965736}
- component: {fileID: 7250160572790716350}
m_Layer: 0
m_Name: Selection Frame
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4252891396479114763
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6449800174738035607}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7868881907662875693}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 25}
m_SizeDelta: {x: 312.5, y: 212.5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8134337141962965736
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6449800174738035607}
m_CullTransparentMesh: 1
--- !u!114 &7250160572790716350
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6449800174738035607}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.16}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0cd2a5465a324934b94d942c359a0d54
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: da3e175300a98e54c826bebad3634726
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,362 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &6213909930991107778
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8245004429010542764}
- component: {fileID: 1569671238264988409}
- component: {fileID: 2958623748108572242}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8245004429010542764
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6213909930991107778}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2574484533750850000}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -275, y: 0}
m_SizeDelta: {x: 250, y: 42.5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1569671238264988409
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6213909930991107778}
m_CullTransparentMesh: 1
--- !u!114 &2958623748108572242
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6213909930991107778}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: <TITLE>
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 0, g: 0, b: 0, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 28
m_fontSizeBase: 28
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &6486490900672718768
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2574484533750850000}
- component: {fileID: 7937509168372306907}
- component: {fileID: 6824655648731073600}
- component: {fileID: 4294956463881748102}
m_Layer: 0
m_Name: TerminalHeader
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2574484533750850000
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6486490900672718768}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 8245004429010542764}
- {fileID: 5473565046282175336}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 1037.5, y: 42.5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7937509168372306907
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6486490900672718768}
m_CullTransparentMesh: 1
--- !u!114 &6824655648731073600
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6486490900672718768}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &4294956463881748102
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6486490900672718768}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2649f29bfa30a66438ee24fd9e089c7e, type: 3}
m_Name:
m_EditorClassIdentifier:
titleText: {fileID: 2958623748108572242}
statusText: {fileID: 8952738994608256962}
--- !u!1 &8866408557072494080
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5473565046282175336}
- component: {fileID: 7743581324759278448}
- component: {fileID: 8952738994608256962}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5473565046282175336
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8866408557072494080}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2574484533750850000}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 75, y: 0}
m_SizeDelta: {x: 675, y: 42.5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7743581324759278448
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8866408557072494080}
m_CullTransparentMesh: 1
--- !u!114 &8952738994608256962
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8866408557072494080}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: STATUS
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 0, g: 0, b: 0, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 28
m_fontSizeBase: 28
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: fb2302730744f9a4c9ba13f2016969e5
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,763 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1026579172205415468
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1892841443481971995}
- component: {fileID: 3838441148172731785}
- component: {fileID: 482899572253879710}
- component: {fileID: 7138365326131946891}
- component: {fileID: 5285713190700090785}
m_Layer: 0
m_Name: TerminalMenuItem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1892841443481971995
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1026579172205415468}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6705023338886920894}
- {fileID: 1362759892526719501}
- {fileID: 985172343528037619}
- {fileID: 8370235845411517916}
- {fileID: 2282945926131495912}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 1037.5, y: 45}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3838441148172731785
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1026579172205415468}
m_CullTransparentMesh: 1
--- !u!114 &482899572253879710
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1026579172205415468}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.001}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &7138365326131946891
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1026579172205415468}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f5702aa38bfd4746aecc799b153aab91, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 482899572253879710}
m_OnClick:
m_PersistentCalls:
m_Calls: []
onStateTransition:
m_PersistentCalls:
m_Calls: []
--- !u!114 &5285713190700090785
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1026579172205415468}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3a0e6ed6ad106344d89dba7dba31efba, type: 3}
m_Name:
m_EditorClassIdentifier:
labelText: {fileID: 4520098490234732032}
statusText: {fileID: 8497601663893471364}
detailText: {fileID: 2225674397482204757}
cursor: {fileID: 2673970151202812683}
selectionBar: {fileID: 7465867337594686350}
normalTextColor: {r: 1, g: 1, b: 1, a: 1}
selectedTextColor: {r: 0.02, g: 0.02, b: 0.04, a: 1}
dangerTextColor: {r: 1, g: 0.18, b: 0.2, a: 1}
disabledAlpha: 0.35
--- !u!1 &3742108334930405387
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 985172343528037619}
- component: {fileID: 2031958050720668393}
- component: {fileID: 4520098490234732032}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &985172343528037619
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3742108334930405387}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1892841443481971995}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -342, y: 0}
m_SizeDelta: {x: 320, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2031958050720668393
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3742108334930405387}
m_CullTransparentMesh: 1
--- !u!114 &4520098490234732032
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3742108334930405387}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Label
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 28
m_fontSizeBase: 28
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &4678218259546704962
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2282945926131495912}
- component: {fileID: 5351887974883576279}
- component: {fileID: 2225674397482204757}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2282945926131495912
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4678218259546704962}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1892841443481971995}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 245, y: 0}
m_SizeDelta: {x: 500, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5351887974883576279
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4678218259546704962}
m_CullTransparentMesh: 1
--- !u!114 &2225674397482204757
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4678218259546704962}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Detail
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 18
m_fontSizeBase: 18
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &5891684605736903228
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1362759892526719501}
- component: {fileID: 2774785141453391500}
- component: {fileID: 2673970151202812683}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1362759892526719501
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5891684605736903228}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1892841443481971995}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -497, y: 0}
m_SizeDelta: {x: 40, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2774785141453391500
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5891684605736903228}
m_CullTransparentMesh: 1
--- !u!114 &2673970151202812683
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5891684605736903228}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: '>'
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 28
m_fontSizeBase: 28
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &6321286706604856520
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8370235845411517916}
- component: {fileID: 8186242297731610512}
- component: {fileID: 8497601663893471364}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8370235845411517916
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6321286706604856520}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1892841443481971995}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -95, y: 0}
m_SizeDelta: {x: 237.5, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8186242297731610512
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6321286706604856520}
m_CullTransparentMesh: 1
--- !u!114 &8497601663893471364
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6321286706604856520}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Status
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 28
m_fontSizeBase: 28
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &7711115893422081214
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6705023338886920894}
- component: {fileID: 5036700111365580582}
- component: {fileID: 7465867337594686350}
m_Layer: 0
m_Name: Selection Bar
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6705023338886920894
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7711115893422081214}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1892841443481971995}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 1037.5, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5036700111365580582
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7711115893422081214}
m_CullTransparentMesh: 1
--- !u!114 &7465867337594686350
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7711115893422081214}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d3a721fac7be7fa4895e890f9be45e70
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,842 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4595242376868203061
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2076500218477291760}
- component: {fileID: 8767963631242506709}
- component: {fileID: 6785574415984462695}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2076500218477291760
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4595242376868203061}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1555458540051724927}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 45, y: 45}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8767963631242506709
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4595242376868203061}
m_CullTransparentMesh: 1
--- !u!114 &6785574415984462695
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4595242376868203061}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: '>'
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 24
m_fontSizeBase: 24
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &5474210401273534300
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8702953138693623627}
- component: {fileID: 915266406534943671}
- component: {fileID: 5760155617771354467}
- component: {fileID: 3915923618043022118}
m_Layer: 0
m_Name: < Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8702953138693623627
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5474210401273534300}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 7622510080469275676}
m_Father: {fileID: 4025840614030695081}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -35, y: 0}
m_SizeDelta: {x: 45, y: 45}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &915266406534943671
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5474210401273534300}
m_CullTransparentMesh: 1
--- !u!114 &5760155617771354467
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5474210401273534300}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.001}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &3915923618043022118
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5474210401273534300}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f5702aa38bfd4746aecc799b153aab91, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 5760155617771354467}
m_OnClick:
m_PersistentCalls:
m_Calls: []
onStateTransition:
m_PersistentCalls:
m_Calls: []
--- !u!1 &5540291796468794883
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1555458540051724927}
- component: {fileID: 3271793429659221296}
- component: {fileID: 6257220981731168459}
- component: {fileID: 7779283179886551250}
m_Layer: 0
m_Name: '> Button'
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1555458540051724927
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5540291796468794883}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2076500218477291760}
m_Father: {fileID: 4025840614030695081}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 270, y: 0}
m_SizeDelta: {x: 45, y: 45}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3271793429659221296
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5540291796468794883}
m_CullTransparentMesh: 1
--- !u!114 &6257220981731168459
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5540291796468794883}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.001}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &7779283179886551250
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5540291796468794883}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f5702aa38bfd4746aecc799b153aab91, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 6257220981731168459}
m_OnClick:
m_PersistentCalls:
m_Calls: []
onStateTransition:
m_PersistentCalls:
m_Calls: []
--- !u!1 &6560300211116752419
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7622510080469275676}
- component: {fileID: 5098632972337818865}
- component: {fileID: 1867848330177940861}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7622510080469275676
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6560300211116752419}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 8702953138693623627}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 45, y: 45}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5098632972337818865
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6560300211116752419}
m_CullTransparentMesh: 1
--- !u!114 &1867848330177940861
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6560300211116752419}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: <
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 24
m_fontSizeBase: 24
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &6682678022535500753
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4025840614030695081}
- component: {fileID: 6381007420088759275}
m_Layer: 0
m_Name: TerminalOptionItem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4025840614030695081
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6682678022535500753}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1691487468369265389}
- {fileID: 4842995113428537690}
- {fileID: 8702953138693623627}
- {fileID: 1555458540051724927}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 625, y: 45}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &6381007420088759275
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6682678022535500753}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b6a3eb13d6db6ec408dd221bd4dfd02f, type: 3}
m_Name:
m_EditorClassIdentifier:
labelText: {fileID: 5418142592956273626}
valueText: {fileID: 3633717106054356962}
previousButton: {fileID: 3915923618043022118}
nextButton: {fileID: 7779283179886551250}
--- !u!1 &7013806694970345381
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4842995113428537690}
- component: {fileID: 3007098824646098191}
- component: {fileID: 3633717106054356962}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4842995113428537690
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7013806694970345381}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4025840614030695081}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 45, y: 0}
m_SizeDelta: {x: 300, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3007098824646098191
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7013806694970345381}
m_CullTransparentMesh: 1
--- !u!114 &3633717106054356962
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7013806694970345381}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: <Value>
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 28
m_fontSizeBase: 28
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &7954398017817717102
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1691487468369265389}
- component: {fileID: 984681451245195666}
- component: {fileID: 5418142592956273626}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1691487468369265389
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7954398017817717102}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4025840614030695081}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -205, y: 0}
m_SizeDelta: {x: 250, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &984681451245195666
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7954398017817717102}
m_CullTransparentMesh: 1
--- !u!114 &5418142592956273626
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7954398017817717102}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Label
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 28
m_fontSizeBase: 28
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: f2d1a41d8cc22d64491605ae8d63ff7f
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,391 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &163466403704789408
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2402635134443494771}
- component: {fileID: 8574038588617103373}
- component: {fileID: 5959536634678084318}
- component: {fileID: 1863497158163847180}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2402635134443494771
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 163466403704789408}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4045740843833788064}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 825, y: 75}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8574038588617103373
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 163466403704789408}
m_CullTransparentMesh: 1
--- !u!114 &5959536634678084318
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 163466403704789408}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Record line
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 24
m_fontSizeBase: 24
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &1863497158163847180
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 163466403704789408}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreLayout: 0
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: 825
m_PreferredHeight: -1
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
--- !u!1 &3607536113810506344
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4045740843833788064}
- component: {fileID: 932672050703451517}
- component: {fileID: 8103129503062008945}
m_Layer: 0
m_Name: TerminalRecordItem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4045740843833788064
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3607536113810506344}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4031925321568414524}
- {fileID: 2402635134443494771}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 1025, y: 80}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &932672050703451517
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3607536113810506344}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 0
m_Spacing: 24
m_ChildForceExpandWidth: 0
m_ChildForceExpandHeight: 0
m_ChildControlWidth: 0
m_ChildControlHeight: 1
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!114 &8103129503062008945
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3607536113810506344}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc463fe32dc82df459a32831abf71737, type: 3}
m_Name:
m_EditorClassIdentifier:
actorNameText: {fileID: 3095089079394061431}
lineText: {fileID: 5959536634678084318}
--- !u!1 &4217840679710640193
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4031925321568414524}
- component: {fileID: 3762338730424651683}
- component: {fileID: 3095089079394061431}
- component: {fileID: 384723926851112321}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4031925321568414524
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4217840679710640193}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4045740843833788064}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 137.5, y: 75}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3762338730424651683
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4217840679710640193}
m_CullTransparentMesh: 1
--- !u!114 &3095089079394061431
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4217840679710640193}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Actor
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 24
m_fontSizeBase: 24
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &384723926851112321
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4217840679710640193}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreLayout: 0
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: 137.5
m_PreferredHeight: -1
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: b0de3cd51bbea194a992caa165b1d40a
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,640 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2643726869723836081
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2519623073028168500}
- component: {fileID: 8976671385767058645}
m_Layer: 0
m_Name: TerminalSliderItem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2519623073028168500
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2643726869723836081}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5975677420431099824}
- {fileID: 5143424641426196956}
- {fileID: 2806910293394908759}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 1025, y: 45}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &8976671385767058645
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2643726869723836081}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6ccf0e4cce3a71749a0c27ce6215dc64, type: 3}
m_Name:
m_EditorClassIdentifier:
labelText: {fileID: 1470715250766115136}
valueText: {fileID: 4348850345039281126}
slider: {fileID: 5103385474061684761}
fillRect: {fileID: 4605329453966958497}
--- !u!1 &3320365970533237285
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2806910293394908759}
- component: {fileID: 5103385474061684761}
m_Layer: 0
m_Name: Slider
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2806910293394908759
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3320365970533237285}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2822539588833994025}
- {fileID: 4605329453966958497}
- {fileID: 6026137041804113031}
m_Father: {fileID: 2519623073028168500}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 165, y: 0}
m_SizeDelta: {x: 500, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &5103385474061684761
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3320365970533237285}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 0}
m_FillRect: {fileID: 4605329453966958497}
m_HandleRect: {fileID: 6026137041804113031}
m_Direction: 0
m_MinValue: 0
m_MaxValue: 1
m_WholeNumbers: 0
m_Value: 0
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
--- !u!1 &4221691234627436180
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2822539588833994025}
- component: {fileID: 4457532798207484615}
- component: {fileID: 8789051439002619276}
m_Layer: 0
m_Name: Background
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2822539588833994025
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4221691234627436180}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2806910293394908759}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 500, y: 27.5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4457532798207484615
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4221691234627436180}
m_CullTransparentMesh: 1
--- !u!114 &8789051439002619276
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4221691234627436180}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.08}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &7374725052871927360
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6026137041804113031}
- component: {fileID: 1456924802803782978}
- component: {fileID: 5617511099518338848}
m_Layer: 0
m_Name: Handle
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6026137041804113031
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7374725052871927360}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2806910293394908759}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 12.5, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1456924802803782978
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7374725052871927360}
m_CullTransparentMesh: 1
--- !u!114 &5617511099518338848
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7374725052871927360}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &7972725153310150899
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5143424641426196956}
- component: {fileID: 1271505158443829755}
- component: {fileID: 4348850345039281126}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5143424641426196956
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7972725153310150899}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2519623073028168500}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -130, y: 0}
m_SizeDelta: {x: 175, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1271505158443829755
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7972725153310150899}
m_CullTransparentMesh: 1
--- !u!114 &4348850345039281126
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7972725153310150899}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: 50/100
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 28
m_fontSizeBase: 28
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &8778519323882953847
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4605329453966958497}
- component: {fileID: 7271160876389430020}
- component: {fileID: 117326166024806660}
m_Layer: 0
m_Name: Fill
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4605329453966958497
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8778519323882953847}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2806910293394908759}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 500, y: 27.5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7271160876389430020
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8778519323882953847}
m_CullTransparentMesh: 1
--- !u!114 &117326166024806660
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8778519323882953847}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &8832820602272182771
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5975677420431099824}
- component: {fileID: 5228439691414435385}
- component: {fileID: 1470715250766115136}
m_Layer: 0
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5975677420431099824
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8832820602272182771}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2519623073028168500}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -330, y: 0}
m_SizeDelta: {x: 250, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5228439691414435385
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8832820602272182771}
m_CullTransparentMesh: 1
--- !u!114 &1470715250766115136
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8832820602272182771}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Label
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 28
m_fontSizeBase: 28
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d1894dac129984b40a4e304153f82f25
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 11b6105177bac244497e9cf4e735c0bf
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 4aba9603626d1444eb3dc2bfde7b481e
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 6381a9ce27b06c74ca3b2b153851ca80
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: defcf06214bb516419f73f3598f22b2e
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -211,6 +211,14 @@ MonoBehaviour:
m_Key: info_saving
m_Metadata:
m_Items: []
- m_Id: 156636233226772480
m_Key: New Entry
m_Metadata:
m_Items: []
- m_Id: 156636246031982592
m_Key: start_pressAnyBtn
m_Metadata:
m_Items: []
m_Metadata:
m_Items: []
m_KeyGenerator:
+4
View File
@@ -225,6 +225,10 @@ MonoBehaviour:
m_Localized: Add to Wishlist
m_Metadata:
m_Items: []
- m_Id: 156636246031982592
m_Localized: Press any key to start
m_Metadata:
m_Items: []
references:
version: 2
RefIds:
@@ -214,6 +214,10 @@ MonoBehaviour:
m_Localized: "\u6BBA\u3057\u3066\u304F\u308C\uFF01\u6BBA\u3057\u3066\u304F\u308C\uFF01\r"
m_Metadata:
m_Items: []
- m_Id: 156636246031982592
m_Localized: "\u30AD\u30FC\u3092\u62BC\u3057\u3066\u958B\u59CB"
m_Metadata:
m_Items: []
references:
version: 2
RefIds: []
@@ -219,6 +219,10 @@ MonoBehaviour:
m_Localized: "\u52A0\u5165\u613F\u671B\u5355"
m_Metadata:
m_Items: []
- m_Id: 156636246031982592
m_Localized: "\u6309\u4EFB\u610F\u952E\u5F00\u59CB"
m_Metadata:
m_Items: []
references:
version: 2
RefIds:
File diff suppressed because it is too large Load Diff
+9 -4
View File
@@ -52,7 +52,7 @@ namespace AibisDream
{
// 场景转换参数
_isLoading = true;
UIManager.Instance.GetPanel<InfoPanel>().ShowLoading();
UIManager.Instance.ShowPreferredLoading();
_sceneToLoad = targetScene;
// 在卸载场景前清理所有系统
@@ -75,12 +75,17 @@ namespace AibisDream
ResourceSystem.CreateSceneLoader();
_loadHandle = Addressables.LoadSceneAsync(_sceneToLoad, LoadSceneMode.Additive);
yield return _loadHandle;
while (!_loadHandle.IsDone)
{
UIManager.Instance.SetPreferredLoadingProgress(_loadHandle.PercentComplete);
yield return null;
}
UIManager.Instance.SetPreferredLoadingProgress(1f);
// 场景加载完成,通知各系统
EnumEventSystem.Global.Send(EventEnum.SceneLoad, _sceneToLoad);
_currentSceneName = _sceneToLoad;
UIManager.Instance.GetPanel<InfoPanel>().HideLoading();
UIManager.Instance.HidePreferredLoading();
_isLoading = false;
}
}
@@ -108,4 +113,4 @@ namespace AibisDream
}
}
}
}
@@ -276,9 +276,9 @@ namespace AibisDream.SaveSystem
var ui = UIManager.Instance;
if (ui != null)
{
ui.HidePanel<StartPanel>();
ui.HidePreferredStartPanel();
ui.ShowPanel<MainPanel>();
ui.HidePanel<ChapterPanel>();
ui.HidePreferredChapterPanel();
ui.HidePanel<SavesPanel>();
ui.HidePanel<EndPanel>();
}
+14 -3
View File
@@ -1,6 +1,7 @@
using AibisDream.Framework;
using AibisDream.Kit;
using AibisDream.UI;
using AibisDream.UI.Terminal;
using TMPro;
using UnityEngine;
@@ -29,6 +30,14 @@ namespace AibisDream
}
private RecordPanel RecordPanel => UIManager.Instance.GetPanel<RecordPanel>();
private TerminalRecordPanel TerminalRecordPanel
{
get
{
UIManager.Instance.TryGetPanel<TerminalRecordPanel>(out var panel);
return panel;
}
}
/// <summary>
/// 记录对话
@@ -41,12 +50,14 @@ namespace AibisDream
return;
}
RecordPanel.AppendDialogLine(line);
RecordPanel?.AppendDialogLine(line);
TerminalRecordPanel?.AppendDialogLine(line);
}
private void CleanDialogHistory()
{
RecordPanel.ClearDialog();
RecordPanel?.ClearDialog();
TerminalRecordPanel?.ClearDialog();
}
public void CloseCanvas()
@@ -101,4 +112,4 @@ namespace AibisDream
Task,
Log
}
}
}
+2 -2
View File
@@ -91,12 +91,12 @@ namespace AibisDream.UI
private void OpenSettingPanel()
{
UIManager.Instance.ShowPanel<SettingPanel>();
UIManager.Instance.ShowPreferredSettingPanel();
}
private void OpenRecordPanel()
{
UIManager.Instance.ShowPanel<RecordPanel>();
UIManager.Instance.ShowPreferredRecordPanel();
}
}
}
+2 -2
View File
@@ -72,12 +72,12 @@ namespace AibisDream.UI
private void OpenSaveFilePanel()
{
UIManager.Instance.ShowPanel<ChapterPanel>();
UIManager.Instance.ShowPreferredChapterPanel();
}
private void OpenSetting()
{
UIManager.Instance.ShowPanel<SettingPanel>();
UIManager.Instance.ShowPreferredSettingPanel();
}
private void QuitApp()
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b7f02f6ab5edd49419d58100704623c1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,82 @@
using System;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace AibisDream.UI.Terminal
{
[RequireComponent(typeof(BaseButton))]
public class TerminalChapterItemView : MonoBehaviour
{
[SerializeField] private Image coverImage;
[SerializeField] private TMP_Text titleText;
[SerializeField] private TMP_Text chapterText;
[SerializeField] private TMP_Text statusText;
[SerializeField] private Image selectionFrame;
[SerializeField] private CanvasGroup canvasGroup;
private BaseButton _button;
private ChapterVo _chapterVo;
public event Action<ChapterVo> Clicked;
private void Awake()
{
_button = GetComponent<BaseButton>();
_button.onClick.AddListener(HandleClick);
if (canvasGroup == null)
{
canvasGroup = GetComponent<CanvasGroup>();
}
}
private void OnDestroy()
{
if (_button != null)
{
_button.onClick.RemoveListener(HandleClick);
}
}
private void HandleClick()
{
Clicked?.Invoke(_chapterVo);
}
public void Init(ChapterVo chapterVo, bool selected, bool preview)
{
_chapterVo = chapterVo;
if (coverImage != null)
{
coverImage.sprite = chapterVo.pic;
coverImage.enabled = chapterVo.pic != null;
}
if (titleText != null)
{
titleText.text = chapterVo.title;
}
if (chapterText != null)
{
chapterText.text = chapterVo.chapter;
}
if (statusText != null)
{
statusText.text = chapterVo.hasSaveFile ? "CHECK OK" : "PENDING";
}
if (selectionFrame != null)
{
selectionFrame.gameObject.SetActive(selected);
}
if (canvasGroup != null)
{
canvasGroup.alpha = preview ? 0.45f : 1f;
}
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4c187c1fc9d598941b35e2a0ca64f8f5
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,187 @@
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace AibisDream.UI.Terminal
{
public class TerminalChapterPanel : MonoBehaviour, IUIPanel
{
[SerializeField] private TerminalPanelAnimator panelAnimator;
[SerializeField] private TerminalHeaderView header;
[SerializeField] private TerminalChapterItemView leftPreview;
[SerializeField] private TerminalChapterItemView currentView;
[SerializeField] private TerminalChapterItemView rightPreview;
[SerializeField] private TMP_Text emptyText;
[SerializeField] private TMP_Text selectedTitleText;
[SerializeField] private Button previousButton;
[SerializeField] private Button nextButton;
[SerializeField] private Button continueButton;
[SerializeField] private Button restartButton;
[SerializeField] private Button backButton;
private readonly List<ChapterVo> _chapters = new List<ChapterVo>();
private int _currentIndex;
public bool IsOpen => gameObject.activeSelf;
public bool IsCloseable => true;
private void Awake()
{
previousButton?.onClick.AddListener(Previous);
nextButton?.onClick.AddListener(Next);
continueButton?.onClick.AddListener(Continue);
restartButton?.onClick.AddListener(Restart);
backButton?.onClick.AddListener(Close);
}
private void OnDestroy()
{
previousButton?.onClick.RemoveListener(Previous);
nextButton?.onClick.RemoveListener(Next);
continueButton?.onClick.RemoveListener(Continue);
restartButton?.onClick.RemoveListener(Restart);
backButton?.onClick.RemoveListener(Close);
}
public void Show()
{
header?.SetText("<选择章节>", string.Empty);
LoadChapters();
RefreshViews();
if (panelAnimator != null)
{
panelAnimator.Show();
}
else
{
gameObject.SetActive(true);
}
}
public void Hide()
{
if (panelAnimator != null)
{
panelAnimator.Hide();
}
else
{
gameObject.SetActive(false);
}
}
public void Close()
{
UIManager.Instance.HidePreferredChapterPanel();
}
private void LoadChapters()
{
_chapters.Clear();
var chapters = ChapterController.Instance.GetChapterList();
_chapters.AddRange(chapters);
_currentIndex = Mathf.Clamp(_currentIndex, 0, Mathf.Max(0, _chapters.Count - 1));
}
private void RefreshViews()
{
var hasChapters = _chapters.Count > 0;
if (emptyText != null)
{
emptyText.gameObject.SetActive(!hasChapters);
}
SetViewActive(leftPreview, hasChapters && _chapters.Count > 1);
SetViewActive(currentView, hasChapters);
SetViewActive(rightPreview, hasChapters && _chapters.Count > 1);
if (!hasChapters)
{
if (selectedTitleText != null)
{
selectedTitleText.text = "NO CHAPTER DATA";
}
continueButton?.gameObject.SetActive(false);
restartButton?.gameObject.SetActive(false);
return;
}
var current = _chapters[_currentIndex];
currentView?.Init(current, selected: true, preview: false);
leftPreview?.Init(_chapters[LoopIndex(_currentIndex - 1)], selected: false, preview: true);
rightPreview?.Init(_chapters[LoopIndex(_currentIndex + 1)], selected: false, preview: true);
if (selectedTitleText != null)
{
selectedTitleText.text = current.title;
}
continueButton?.gameObject.SetActive(current.hasSaveFile);
restartButton?.gameObject.SetActive(true);
}
private static void SetViewActive(TerminalChapterItemView view, bool active)
{
if (view != null)
{
view.gameObject.SetActive(active);
}
}
private int LoopIndex(int index)
{
if (_chapters.Count == 0)
{
return 0;
}
return (index + _chapters.Count) % _chapters.Count;
}
private void Previous()
{
if (_chapters.Count == 0)
{
return;
}
_currentIndex = LoopIndex(_currentIndex - 1);
RefreshViews();
}
private void Next()
{
if (_chapters.Count == 0)
{
return;
}
_currentIndex = LoopIndex(_currentIndex + 1);
RefreshViews();
}
private void Continue()
{
if (_chapters.Count == 0 || !_chapters[_currentIndex].hasSaveFile)
{
return;
}
ChapterController.Instance.StartWithSaveFile();
Close();
}
private void Restart()
{
if (_chapters.Count == 0)
{
return;
}
ChapterController.Instance.StartWithChapter(_chapters[_currentIndex]);
Close();
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7fa2efded2fe6124ba041d7c5e88f61e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,24 @@
using TMPro;
using UnityEngine;
namespace AibisDream.UI.Terminal
{
public class TerminalHeaderView : MonoBehaviour
{
[SerializeField] private TMP_Text titleText;
[SerializeField] private TMP_Text statusText;
public void SetText(string title, string status = "")
{
if (titleText != null)
{
titleText.text = title;
}
if (statusText != null)
{
statusText.text = status;
}
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2649f29bfa30a66438ee24fd9e089c7e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,72 @@
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace AibisDream.UI.Terminal
{
public class TerminalLoadingPanel : MonoBehaviour, IUIPanel
{
[SerializeField] private TerminalPanelAnimator panelAnimator;
[SerializeField] private TMP_Text companyText;
[SerializeField] private TMP_Text deviceText;
[SerializeField] private TMP_Text userText;
[SerializeField] private TMP_Text loadingText;
[SerializeField] private Image avatarImage;
[SerializeField] private RectTransform progressFill;
public bool IsOpen => gameObject.activeSelf;
public bool IsCloseable => false;
public void Show()
{
SetText(companyText, "SATISFYING INC");
SetText(deviceText, "Device Model: Dell P5999 DX130\nDevice Serial Number: SN46456546DAS");
SetText(userText, "User Name: Luth\nUser Title: DOC.\nEmployee ID: D42");
SetText(loadingText, "LOADING...");
SetProgress(0f);
if (avatarImage != null)
{
avatarImage.gameObject.SetActive(avatarImage.sprite != null);
}
if (panelAnimator != null)
{
panelAnimator.Show();
}
else
{
gameObject.SetActive(true);
}
}
public void Hide()
{
if (panelAnimator != null)
{
panelAnimator.Hide();
}
else
{
gameObject.SetActive(false);
}
}
public void SetProgress(float progress)
{
var clamped = Mathf.Clamp01(progress);
if (progressFill != null)
{
progressFill.anchorMax = new Vector2(clamped, progressFill.anchorMax.y);
}
}
private static void SetText(TMP_Text text, string value)
{
if (text != null)
{
text.text = value;
}
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 80904525f295e0c4baf9b06df393cc86
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,139 @@
using System;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace AibisDream.UI.Terminal
{
[RequireComponent(typeof(BaseButton))]
public class TerminalMenuItemView : MonoBehaviour
{
[SerializeField] private TMP_Text labelText;
[SerializeField] private TMP_Text statusText;
[SerializeField] private TMP_Text detailText;
[SerializeField] private TMP_Text cursor;
[SerializeField] private Image selectionBar;
[SerializeField] private Color normalTextColor = Color.white;
[SerializeField] private Color selectedTextColor = new Color(0.02f, 0.02f, 0.04f);
[SerializeField] private Color dangerTextColor = new Color(1f, 0.18f, 0.2f);
[SerializeField] private float disabledAlpha = 0.35f;
private BaseButton _button;
private CanvasGroup _canvasGroup;
private bool _isDanger;
private bool _isSelected;
public event Action<TerminalMenuItemView> Clicked;
public event Action<TerminalMenuItemView> Hovered;
private void Awake()
{
_button = GetComponent<BaseButton>();
_canvasGroup = GetComponent<CanvasGroup>();
if (_canvasGroup == null)
{
_canvasGroup = gameObject.AddComponent<CanvasGroup>();
}
_button.onClick.AddListener(HandleClick);
_button.onStateTransition.AddListener(OnButtonStateTransition);
SetSelected(false);
}
private void OnDestroy()
{
if (_button != null)
{
_button.onClick.RemoveListener(HandleClick);
_button.onStateTransition.RemoveListener(OnButtonStateTransition);
}
}
public void SetContent(string label, string status = "", string detail = "", bool isDanger = false)
{
_isDanger = isDanger;
if (labelText != null)
{
labelText.text = label;
}
if (statusText != null)
{
statusText.text = status;
}
if (detailText != null)
{
detailText.text = detail;
}
RefreshVisual();
}
public void SetInteractable(bool interactable)
{
if (_button != null)
{
_button.interactable = interactable;
}
if (_canvasGroup != null)
{
_canvasGroup.alpha = interactable ? 1f : disabledAlpha;
}
}
public void SetSelected(bool selected)
{
_isSelected = selected;
RefreshVisual();
}
private void HandleClick()
{
Clicked?.Invoke(this);
}
private void OnButtonStateTransition(SelectionType state, bool instant)
{
if (state is SelectionType.Highlighted or SelectionType.Selected or SelectionType.Pressed)
{
Hovered?.Invoke(this);
}
RefreshVisual();
}
private void RefreshVisual()
{
if (cursor != null)
{
cursor.gameObject.SetActive(_isSelected);
}
if (selectionBar != null)
{
selectionBar.gameObject.SetActive(_isSelected);
}
var color = _isDanger ? dangerTextColor : normalTextColor;
if (_isSelected && !_isDanger)
{
color = selectedTextColor;
}
SetColor(labelText, color);
SetColor(statusText, color);
SetColor(detailText, color);
SetColor(cursor, color);
}
private static void SetColor(TMP_Text text, Color color)
{
if (text != null)
{
text.color = color;
}
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3a0e6ed6ad106344d89dba7dba31efba
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,81 @@
using System;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace AibisDream.UI.Terminal
{
public class TerminalOptionItemView : MonoBehaviour
{
[SerializeField] private TMP_Text labelText;
[SerializeField] private TMP_Text valueText;
[SerializeField] private Button previousButton;
[SerializeField] private Button nextButton;
private string _propName;
private UIFormOption[] _options = Array.Empty<UIFormOption>();
private int _currentIndex;
private Action<string, string> _onValueChanged;
private void Awake()
{
previousButton?.onClick.AddListener(Previous);
nextButton?.onClick.AddListener(Next);
}
private void OnDestroy()
{
previousButton?.onClick.RemoveListener(Previous);
nextButton?.onClick.RemoveListener(Next);
}
public void Init(string propName, string label, UIFormOption[] options, Action<string, string> onValueChanged)
{
_propName = propName;
_options = options ?? Array.Empty<UIFormOption>();
_onValueChanged = onValueChanged;
if (labelText != null)
{
labelText.text = label;
}
}
public void SetValue(string value)
{
var index = Array.FindIndex(_options, option => option.prop == value);
_currentIndex = Mathf.Clamp(index < 0 ? 0 : index, 0, Mathf.Max(0, _options.Length - 1));
RefreshValue();
}
private void Previous()
{
Step(-1);
}
private void Next()
{
Step(1);
}
private void Step(int offset)
{
if (_options.Length == 0)
{
return;
}
_currentIndex = (_currentIndex + offset + _options.Length) % _options.Length;
RefreshValue();
_onValueChanged?.Invoke(_propName, _options[_currentIndex].prop);
}
private void RefreshValue()
{
if (valueText != null)
{
valueText.text = _options.Length == 0 ? string.Empty : $"<{_options[_currentIndex].label}>";
}
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: b6a3eb13d6db6ec408dd221bd4dfd02f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,91 @@
using System;
using DG.Tweening;
using UnityEngine;
namespace AibisDream.UI.Terminal
{
public class TerminalPanelAnimator : MonoBehaviour
{
[SerializeField] private CanvasGroup canvasGroup;
[SerializeField] private RectTransform sweep;
[SerializeField] private float fadeDuration = 0.18f;
[SerializeField] private float sweepDuration = 0.24f;
private Tween _activeTween;
private void Awake()
{
if (canvasGroup == null)
{
canvasGroup = GetComponent<CanvasGroup>();
}
}
public void Show(Action onComplete = null)
{
gameObject.SetActive(true);
_activeTween?.Kill();
if (canvasGroup == null)
{
onComplete?.Invoke();
return;
}
canvasGroup.alpha = 0f;
canvasGroup.interactable = false;
canvasGroup.blocksRaycasts = false;
PrepareSweep();
var sequence = DOTween.Sequence().SetUpdate(true);
sequence.Join(canvasGroup.DOFade(1f, fadeDuration));
if (sweep != null)
{
sequence.Join(sweep.DOAnchorPosX(0f, sweepDuration).SetEase(Ease.OutQuad));
}
sequence.OnComplete(() =>
{
canvasGroup.interactable = true;
canvasGroup.blocksRaycasts = true;
onComplete?.Invoke();
});
_activeTween = sequence;
}
public void Hide(Action onComplete = null)
{
_activeTween?.Kill();
if (canvasGroup == null)
{
gameObject.SetActive(false);
onComplete?.Invoke();
return;
}
canvasGroup.interactable = false;
canvasGroup.blocksRaycasts = false;
_activeTween = canvasGroup
.DOFade(0f, fadeDuration)
.SetUpdate(true)
.OnComplete(() =>
{
gameObject.SetActive(false);
onComplete?.Invoke();
});
}
private void PrepareSweep()
{
if (sweep == null)
{
return;
}
var width = ((RectTransform)transform).rect.width;
sweep.anchoredPosition = new Vector2(-width * 0.08f, sweep.anchoredPosition.y);
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7096d912f30ffab4c93485d43ccfe542
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,26 @@
using TMPro;
using UnityEngine;
namespace AibisDream.UI.Terminal
{
public class TerminalRecordItemView : MonoBehaviour
{
[SerializeField] private TMP_Text actorNameText;
[SerializeField] private TMP_Text lineText;
public void Init(LineInfo lineInfo)
{
if (actorNameText != null)
{
actorNameText.text = lineInfo.character.GetActorName();
}
if (lineText != null)
{
lineText.text = lineInfo.GetRecordLine();
}
gameObject.SetActive(true);
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: dc463fe32dc82df459a32831abf71737
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,108 @@
using System.Collections.Generic;
using AibisDream.Utility;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace AibisDream.UI.Terminal
{
public class TerminalRecordPanel : MonoBehaviour, IUIPanel
{
[SerializeField] private TerminalPanelAnimator panelAnimator;
[SerializeField] private TerminalHeaderView header;
[SerializeField] private Button backButton;
[SerializeField] private ScrollRect scrollRect;
[SerializeField] private Transform recordRoot;
[SerializeField] private TerminalRecordItemView recordItemPrefab;
[SerializeField] private TMP_Text emptyText;
private readonly List<LineInfo> _recordDataList = new List<LineInfo>();
public bool IsOpen => gameObject.activeSelf;
public bool IsCloseable => true;
private void Awake()
{
backButton?.onClick.AddListener(ReturnGame);
}
private void OnDestroy()
{
backButton?.onClick.RemoveListener(ReturnGame);
}
public void Show()
{
GameManager.Instance.PauseGame();
header?.SetText("<诊疗记录>", "EMR 511/42 - Clinical Record");
DrawRecords();
if (panelAnimator != null)
{
panelAnimator.Show();
}
else
{
gameObject.SetActive(true);
}
}
public void Hide()
{
ClearRecordItems();
if (panelAnimator != null)
{
panelAnimator.Hide();
}
else
{
gameObject.SetActive(false);
}
GameManager.Instance.ContinueGame();
}
public void AppendDialogLine(LineInfo lineInfo)
{
_recordDataList.Add(lineInfo);
}
public void ClearDialog()
{
_recordDataList.Clear();
}
private void DrawRecords()
{
ClearRecordItems();
var hasRecords = _recordDataList.Count > 0;
if (emptyText != null)
{
emptyText.gameObject.SetActive(!hasRecords);
}
foreach (var recordData in _recordDataList)
{
var item = Instantiate(recordItemPrefab, recordRoot);
item.Init(recordData);
}
if (scrollRect != null)
{
scrollRect.verticalNormalizedPosition = 0f;
}
}
private void ClearRecordItems()
{
if (recordRoot != null)
{
recordRoot.DestroyAllChildren();
}
}
private static void ReturnGame()
{
UIManager.Instance.HidePreferredRecordPanel();
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2c9847b4d254a5e4bba40d833ed2dff7
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,132 @@
using UnityEngine;
using UnityEngine.UI;
namespace AibisDream.UI.Terminal
{
public class TerminalSettingPanel : MonoBehaviour, IUIPanel
{
[SerializeField] private TerminalPanelAnimator panelAnimator;
[SerializeField] private TerminalHeaderView header;
[SerializeField] private TerminalSliderView volumeSlider;
[SerializeField] private TerminalSliderView textSpeedSlider;
[SerializeField] private TerminalOptionItemView windowModeOption;
[SerializeField] private TerminalOptionItemView languageOption;
[SerializeField] private Button continueButton;
[SerializeField] private Button backToMainButton;
[SerializeField] private Button quitButton;
public bool IsOpen => gameObject.activeSelf;
public bool IsCloseable => true;
private static readonly UIFormOption[] WindowModeOptions =
{
new UIFormOption { prop = "FullScreen", label = "全屏" },
new UIFormOption { prop = "Windowed", label = "窗口" },
new UIFormOption { prop = "MaximizedWindow", label = "无边框" },
};
private static readonly UIFormOption[] LanguageOptions =
{
new UIFormOption { prop = "zh-Hans", label = "中文" },
new UIFormOption { prop = "en", label = "English" },
new UIFormOption { prop = "ja-JP", label = "日本語" },
};
private void Awake()
{
continueButton?.onClick.AddListener(BackToGame);
backToMainButton?.onClick.AddListener(BackToMain);
quitButton?.onClick.AddListener(QuitApp);
}
private void OnDestroy()
{
continueButton?.onClick.RemoveListener(BackToGame);
backToMainButton?.onClick.RemoveListener(BackToMain);
quitButton?.onClick.RemoveListener(QuitApp);
}
public void Show()
{
GameManager.Instance.PauseGame();
header?.SetText("<设置>", "MUSIC 50/100 - AUDIO INPUT 001");
InitControls();
RefreshControls();
if (panelAnimator != null)
{
panelAnimator.Show();
}
else
{
gameObject.SetActive(true);
}
}
public void Hide()
{
if (panelAnimator != null)
{
panelAnimator.Hide();
}
else
{
gameObject.SetActive(false);
}
GameManager.Instance.ContinueGame();
}
private void InitControls()
{
volumeSlider?.Init("Volume", "音量.....", 0f, 1f, OnSettingChanged);
textSpeedSlider?.Init("TextSpeed", "文字速度", 0.5f, 8f, OnSettingChanged);
windowModeOption?.Init("WindowMode", "屏幕模式", WindowModeOptions, OnSettingChanged);
languageOption?.Init("Language", "语言.....", LanguageOptions, OnSettingChanged);
}
private void RefreshControls()
{
var settings = SettingLoader.Instance.ReadAll();
if (settings.TryGetValue("Volume", out var volume))
{
volumeSlider?.SetValue(volume);
}
if (settings.TryGetValue("TextSpeed", out var textSpeed))
{
textSpeedSlider?.SetValue(textSpeed);
}
if (settings.TryGetValue("WindowMode", out var windowMode))
{
windowModeOption?.SetValue(windowMode);
}
if (settings.TryGetValue("Language", out var language))
{
languageOption?.SetValue(language);
}
}
private static void OnSettingChanged(string propName, string value)
{
SettingLoader.Instance.Write(propName, value);
}
private static void BackToGame()
{
UIManager.Instance.HidePreferredSettingPanel();
}
private static void BackToMain()
{
UIManager.Instance.HidePreferredSettingPanel();
GameManager.Instance.QuitGame();
}
private static void QuitApp()
{
Application.Quit();
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 20e0c562a41a49d4499b6104ccc21f0f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,93 @@
using System;
using System.Globalization;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace AibisDream.UI.Terminal
{
public class TerminalSliderView : MonoBehaviour
{
[SerializeField] private TMP_Text labelText;
[SerializeField] private TMP_Text valueText;
[SerializeField] private Slider slider;
[SerializeField] private RectTransform fillRect;
private string _propName;
private Action<string, string> _onValueChanged;
private void Awake()
{
if (slider != null)
{
slider.onValueChanged.AddListener(OnSliderChanged);
}
}
private void OnDestroy()
{
if (slider != null)
{
slider.onValueChanged.RemoveListener(OnSliderChanged);
}
}
public void Init(string propName, string label, float minValue, float maxValue, Action<string, string> onValueChanged)
{
_propName = propName;
_onValueChanged = onValueChanged;
if (labelText != null)
{
labelText.text = label;
}
if (slider != null)
{
slider.minValue = minValue;
slider.maxValue = maxValue;
}
}
public void SetValue(string value)
{
if (!float.TryParse(value, NumberStyles.Float, CultureInfo.InvariantCulture, out var parsed))
{
parsed = slider != null ? slider.minValue : 0f;
}
if (slider != null)
{
slider.SetValueWithoutNotify(parsed);
}
RefreshValue(parsed);
}
private void OnSliderChanged(float value)
{
RefreshValue(value);
_onValueChanged?.Invoke(_propName, value.ToString("0.##", CultureInfo.InvariantCulture));
}
private void RefreshValue(float value)
{
if (valueText != null)
{
if (_propName == "Volume")
{
valueText.text = $"{Mathf.RoundToInt(value * 100)}/100";
}
else
{
valueText.text = value.ToString("0.##", CultureInfo.InvariantCulture);
}
}
if (fillRect != null && slider != null)
{
fillRect.anchorMax = new Vector2(slider.normalizedValue, fillRect.anchorMax.y);
}
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6ccf0e4cce3a71749a0c27ce6215dc64
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,118 @@
using System;
using UnityEngine;
namespace AibisDream.UI.Terminal
{
public class TerminalStartPanel : MonoBehaviour, IUIPanel
{
[SerializeField] private TerminalPanelAnimator panelAnimator;
[SerializeField] private TerminalHeaderView header;
[SerializeField] private TerminalMenuItemView newGameItem;
[SerializeField] private TerminalMenuItemView chapterItem;
[SerializeField] private TerminalMenuItemView settingItem;
[SerializeField] private TerminalMenuItemView quitItem;
public bool IsOpen => gameObject.activeSelf;
public bool IsCloseable => false;
private TerminalMenuItemView _selectedItem;
private void Awake()
{
RegisterItem(newGameItem, StartNewGame);
RegisterItem(chapterItem, OpenChapter);
RegisterItem(settingItem, OpenSetting);
RegisterItem(quitItem, QuitApp);
}
private void OnDestroy()
{
UnregisterItem(newGameItem);
UnregisterItem(chapterItem);
UnregisterItem(settingItem);
UnregisterItem(quitItem);
}
public void Show()
{
// header?.SetText("<选择章节>", "CHAPER xx/xxx - LOADING - DT");
// newGameItem?.SetContent("新游戏.....", "pending", "Current date: 04/2020");
// chapterItem?.SetContent("选择章节....", "check ok", "Current date: 00/2020");
// settingItem?.SetContent("设置.......", "pending", "Current date: xx/xxxx");
// quitItem?.SetContent("退出.......", "-----", "-----: 00/0000", isDanger: true);
// SelectItem(chapterItem != null ? chapterItem : newGameItem);
if (panelAnimator != null)
{
panelAnimator.Show();
}
else
{
gameObject.SetActive(true);
}
}
public void Hide()
{
if (panelAnimator != null)
{
panelAnimator.Hide();
}
else
{
gameObject.SetActive(false);
}
}
private void RegisterItem(TerminalMenuItemView item, Action action)
{
if (item == null)
{
return;
}
item.Hovered += SelectItem;
item.Clicked += _ => action?.Invoke();
}
private void UnregisterItem(TerminalMenuItemView item)
{
if (item == null)
{
return;
}
item.Hovered -= SelectItem;
}
private void SelectItem(TerminalMenuItemView item)
{
if (_selectedItem != null)
{
_selectedItem.SetSelected(false);
}
_selectedItem = item;
_selectedItem?.SetSelected(true);
}
private static void StartNewGame()
{
GameManager.Instance.StartNewGame();
}
private static void OpenChapter()
{
UIManager.Instance.ShowPreferredChapterPanel();
}
private static void OpenSetting()
{
UIManager.Instance.ShowPreferredSettingPanel();
}
private static void QuitApp()
{
GameManager.Instance.QuitApp();
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4369544ae8b89ac48ae7c3e623cbbf77
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+161 -10
View File
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using AibisDream.Framework;
using AibisDream.UI;
using AibisDream.UI.Terminal;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
@@ -35,14 +36,17 @@ namespace AibisDream
{
if (Input.GetKeyDown(KeyCode.Escape))
{
if (_panelStack.Count > 0)
if (IsPreferredSettingOpen())
{
var lastPanel = _panelStack.Peek();
HidePanel(lastPanel);
HidePreferredSettingPanel();
}
else
else if (IsPreferredRecordOpen())
{
ShowPanel<SettingPanel>();
HidePreferredRecordPanel();
}
else if (GameManager.Instance != null && GameManager.Instance.state.isInGame)
{
ShowPreferredSettingPanel();
}
}
@@ -83,26 +87,26 @@ namespace AibisDream
private void OnAppStart()
{
// 游戏打开
ShowPanel<StartPanel>();
ShowPreferredStartPanel();
ShowPanel<PlayToolPanel>();
HidePanel<MainPanel>();
HidePanel<SettingPanel>();
HidePanel<RecordPanel>();
HidePreferredSettingPanel();
HidePreferredRecordPanel();
HidePanel<EndPanel>();
}
private void OnGameStart()
{
// 开始游戏
HidePanel<StartPanel>();
HidePreferredStartPanel();
ShowPanel<MainPanel>();
}
private void OnGameQuit()
{
HidePanel<MainPanel>();
ShowPanel<StartPanel>();
ShowPreferredStartPanel();
}
public void ShowPanel<T>(Action<T> call = null) where T : class, IUIPanel
@@ -163,6 +167,153 @@ namespace AibisDream
return null;
}
public bool TryGetPanel<T>(out T panel) where T : class, IUIPanel
{
panel = null;
if (_panelPool == null)
{
return false;
}
if (_panelPool.TryGetValue(typeof(T), out var rawPanel))
{
panel = rawPanel as T;
}
return panel != null;
}
public void ShowPreferredStartPanel()
{
if (TryGetPanel<TerminalStartPanel>(out _))
{
ShowPanel<TerminalStartPanel>();
}
else
{
ShowPanel<StartPanel>();
}
}
public void HidePreferredStartPanel()
{
if (TryGetPanel<TerminalStartPanel>(out _))
{
HidePanel<TerminalStartPanel>();
}
HidePanel<StartPanel>();
}
public void ShowPreferredSettingPanel()
{
if (TryGetPanel<TerminalSettingPanel>(out _))
{
ShowPanel<TerminalSettingPanel>();
}
else
{
ShowPanel<SettingPanel>();
}
}
public void HidePreferredSettingPanel()
{
if (TryGetPanel<TerminalSettingPanel>(out _))
{
HidePanel<TerminalSettingPanel>();
}
HidePanel<SettingPanel>();
}
public void ShowPreferredChapterPanel()
{
if (TryGetPanel<TerminalChapterPanel>(out _))
{
ShowPanel<TerminalChapterPanel>();
}
else
{
ShowPanel<ChapterPanel>();
}
}
public void HidePreferredChapterPanel()
{
if (TryGetPanel<TerminalChapterPanel>(out _))
{
HidePanel<TerminalChapterPanel>();
}
HidePanel<ChapterPanel>();
}
public void ShowPreferredRecordPanel()
{
if (TryGetPanel<TerminalRecordPanel>(out _))
{
ShowPanel<TerminalRecordPanel>();
}
else
{
ShowPanel<RecordPanel>();
}
}
public void HidePreferredRecordPanel()
{
if (TryGetPanel<TerminalRecordPanel>(out _))
{
HidePanel<TerminalRecordPanel>();
}
HidePanel<RecordPanel>();
}
public void ShowPreferredLoading()
{
if (TryGetPanel<TerminalLoadingPanel>(out var terminalLoading))
{
ShowPanel<TerminalLoadingPanel>();
terminalLoading.SetProgress(0f);
}
else
{
GetPanel<InfoPanel>()?.ShowLoading();
}
}
public void SetPreferredLoadingProgress(float progress)
{
if (TryGetPanel<TerminalLoadingPanel>(out var terminalLoading))
{
terminalLoading.SetProgress(progress);
}
}
public void HidePreferredLoading()
{
if (TryGetPanel<TerminalLoadingPanel>(out _))
{
HidePanel<TerminalLoadingPanel>();
}
GetPanel<InfoPanel>()?.HideLoading();
}
private bool IsPreferredSettingOpen()
{
return (TryGetPanel<TerminalSettingPanel>(out var terminalSetting) && terminalSetting.IsOpen)
|| (TryGetPanel<SettingPanel>(out var setting) && setting.IsOpen);
}
private bool IsPreferredRecordOpen()
{
return (TryGetPanel<TerminalRecordPanel>(out var terminalRecord) && terminalRecord.IsOpen)
|| (TryGetPanel<RecordPanel>(out var record) && record.IsOpen);
}
public static Vector3 GetDialogUIPos(Vector3 screenPos)
{
// 转换为UI坐标