diff --git a/Runtime/Core/Vessel/ObjectVessel.cs b/Runtime/Core/Vessel/ObjectVessel.cs
index 9c9aa93..ee695d6 100644
--- a/Runtime/Core/Vessel/ObjectVessel.cs
+++ b/Runtime/Core/Vessel/ObjectVessel.cs
@@ -10,7 +10,7 @@ namespace XericUI.Core.Vessel
///
///
[Serializable]
- public class ObjectVessel : VesselBase
+ public sealed class ObjectVessel : VesselBase
where T0 : Object
{
[SerializeField]
diff --git a/Runtime/Core/Vessel/ObjectVessel2.cs b/Runtime/Core/Vessel/ObjectVessel2.cs
index 68844f8..9157b18 100644
--- a/Runtime/Core/Vessel/ObjectVessel2.cs
+++ b/Runtime/Core/Vessel/ObjectVessel2.cs
@@ -6,7 +6,7 @@ using Object = UnityEngine.Object;
namespace XericUI.Core.Vessel
{
[Serializable]
- public class ObjectVessel : VesselBase
+ public sealed class ObjectVessel : VesselBase
where T0 : Object
where T1 : Object
{
diff --git a/Runtime/Core/Vessel/ObjectVessel3.cs b/Runtime/Core/Vessel/ObjectVessel3.cs
index 677eb33..13ee54c 100644
--- a/Runtime/Core/Vessel/ObjectVessel3.cs
+++ b/Runtime/Core/Vessel/ObjectVessel3.cs
@@ -6,7 +6,7 @@ using Object = UnityEngine.Object;
namespace XericUI.Core.Vessel
{
[Serializable]
- public class ObjectVessel : VesselBase
+ public sealed class ObjectVessel : VesselBase
where T0 : Object
where T1 : Object
where T2 : Object
diff --git a/Runtime/DynamicActivitiesImpact.meta b/Runtime/DynamicActivitiesImpact.meta
new file mode 100644
index 0000000..ef0553a
--- /dev/null
+++ b/Runtime/DynamicActivitiesImpact.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 73eb6a65472648ddafa15ed1a6f525a2
+timeCreated: 1757990443
\ No newline at end of file
diff --git a/Runtime/DynamicActivitiesImpact/UIDynamicActiveImpact.cs b/Runtime/DynamicActivitiesImpact/UIDynamicActiveImpact.cs
new file mode 100644
index 0000000..5d51513
--- /dev/null
+++ b/Runtime/DynamicActivitiesImpact/UIDynamicActiveImpact.cs
@@ -0,0 +1,322 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using UnityEngine;
+using UnityEngine.Pool;
+using UnityEngine.Serialization;
+using UnityEngine.UI;
+using XericLibrary.Runtime.MacroLibrary;
+using XericLibrary.Runtime.Type.SpatialAlgorithm;
+using XericLibraryEditor.Debug;
+using XericUI.Core.Base;
+using XericUI.OverrideLayout;
+#if ODIN_INSPECTOR
+using Sirenix.OdinInspector;
+#endif
+
+namespace XericUI.DynamicActivitiesImpact
+{
+ ///
+ /// 导入动�激活组件(需�外部控制部分检查与生命周期事件)
+ ///
+ [Obsolete("直接用XericScrollRect")]
+ public class UIDynamicActiveImpact : XericUIBehaciour
+ {
+ #region å—æ®µå±žæ€§
+
+#if ODIN_INSPECTOR
+ [LabelText("主�容器")]
+ [BoxGroup("基本容器", centerLabel: true)]
+#endif
+ [Tooltip("容器å�é›†åº”å‘ˆçŽ°å¹³æ‘Šçš„æ ·å¼�")]
+ public RectTransform containerTransform = null;
+
+#if ODIN_INSPECTOR
+ [BoxGroup("基本容器")]
+ [LabelText("�罩容器")]
+#endif
+ [Tooltip("用作�罩计算的组件")]
+ public RectTransform maskRectTransform = null;
+
+#if ODIN_INSPECTOR
+ [BoxGroup("基本容器")]
+ [LabelText("容器排版控制")]
+#endif
+ public LayoutGroup layoutGroup;
+
+
+#if ODIN_INSPECTOR
+ [BoxGroup("容器性能")]
+ [LabelText("é¢„åŠ è½½åƒ�ç´ èŒƒå›´")]
+#endif
+ public float preloadMargin = 200f;
+
+#if ODIN_INSPECTOR
+ [BoxGroup("容器性能")]
+ [LabelText("�被察觉的�应�化长度")]
+#endif
+ public float discernibleDistance = 10f;
+
+#if ODIN_INSPECTOR
+ [BoxGroup("容器性能")]
+ [LabelText("�秒检查更新的次数")]
+#endif
+ [Range(0.1f, 50)]
+ public float updateRateLimit = 2;
+
+ #endregion
+
+ #region 容器�员
+
+ internal bool _layoutDirty;
+ internal bool _transformDirty;
+ internal int _lastChildrenCount;
+ internal Vector2 _lastPosition;
+ internal HashSet _activeSet = null;
+ internal HashSet _allObjsSet = null;
+
+ private HashSetPool _tempQuadUIHashSetPool = new HashSetPool();
+
+ ///
+ /// ä¿�å˜æ‰€æœ‰ui对象的四å�‰æ ‘
+ ///
+ protected QuadTree QuadUITargetTree;
+
+
+ public virtual IEnumerable ContainerChildren => containerTransform.GetChildren().Select(a => a.RectTransform());
+ public virtual int ContainerChildrenCount => containerTransform.childCount;
+ public virtual Rect ContainerTransformRectRange => containerTransform.ToQuadTreeRect();
+ public virtual Rect MaskRectTransformRectRange => maskRectTransform.ToQuadTreeRect();
+ public bool IsLayoutDirty => _layoutDirty;
+ public bool IsTransformDirty => _transformDirty;
+ public float SaftyDiscernibleUpdateTime => Mathf.Max(1f / 60, 1f / updateRateLimit);
+
+ public LayoutGroup MainLayoutGroup => transform.GetComponent();
+
+ #endregion
+
+ #region 生命周期
+
+#if UNITY_EDITOR
+ private Vector3[] vertex1 = new Vector3[4];
+ private Vector3[] vertex2 = new Vector3[4];
+ private Vector3[] vertex3 = new Vector3[4];
+ private void OnDrawGizmosSelected()
+ {
+ var lossyScale = rectTransform.lossyScale;
+ var scale = lossyScale * preloadMargin;
+ var dis2 = lossyScale * discernibleDistance;
+
+ containerTransform.GetWorldCorners(vertex1);
+
+ vertex2[0] = new Vector3(vertex1[0].x - scale.x, vertex1[0].y - scale.y, vertex1[0].z);
+ vertex2[1] = new Vector3(vertex1[1].x - scale.x, vertex1[1].y + scale.y, vertex1[1].z);
+ vertex2[2] = new Vector3(vertex1[2].x + scale.x, vertex1[2].y + scale.y, vertex1[2].z);
+ vertex2[3] = new Vector3(vertex1[3].x + scale.x, vertex1[3].y - scale.y, vertex1[3].z);
+
+ vertex3[0] = new Vector3(vertex1[0].x - dis2.x, vertex1[0].y - dis2.y, vertex1[0].z);
+ vertex3[1] = new Vector3(vertex1[1].x - dis2.x, vertex1[1].y + dis2.y, vertex1[1].z);
+ vertex3[2] = new Vector3(vertex1[2].x + dis2.x, vertex1[2].y + dis2.y, vertex1[2].z);
+ vertex3[3] = new Vector3(vertex1[3].x + dis2.x, vertex1[3].y - dis2.y, vertex1[3].z);
+
+ Gizmos.color = Color.yellow;
+ MacroGizmosDraw.DrawPolygonLineByPointArray(vertex3);
+ MacroGizmosDraw.DrawGizmosRectLinkLine(vertex1, vertex2, Color.grey, Color.cyan, true);
+
+ }
+#endif
+
+ protected override void Awake()
+ {
+ base.Awake();
+ // 容器
+ if (containerTransform == null)
+ containerTransform = rectTransform;
+ // �罩
+ if (maskRectTransform == null)
+ {
+ var mask = transform.GetComponentInParent();
+ maskRectTransform = mask.RectTransform();
+ }
+ // 布局
+ if (layoutGroup == null)
+ layoutGroup = transform.GetComponentInParent();
+ if (layoutGroup is XericHorizontalOrVerticalLayoutGroup xericLayoutGroup)
+ {
+ xericLayoutGroup.layoutIgnoreInactive = false;
+ }
+
+ CheckIsDirty();
+ }
+
+ protected override void OnEnable()
+ {
+ base.OnEnable();
+ }
+
+ protected override void OnDisable()
+ {
+ base.OnDisable();
+ }
+
+ private float accTime = 0;
+
+ protected virtual void Update()
+ {
+ if (accTime < SaftyDiscernibleUpdateTime)
+ {
+ accTime += Time.unscaledDeltaTime;
+ return;
+ }
+ // 毕竟这里ä¸�是粒å�计算器
+ accTime = accTime % SaftyDiscernibleUpdateTime;
+
+ if (IsLayoutDirty)
+ {
+ ResetDirtyFlag();
+ RebuildQurdTree();
+ }
+ else if (IsTransformDirty)
+ {
+ ResetDirtyFlag();
+ }
+ }
+
+ protected override void OnRectTransformDimensionsChange()
+ {
+ base.OnRectTransformDimensionsChange();
+ CheckIsDirty();
+ }
+
+ private void OnDestroy()
+ {
+ // æ�¢å¤�æ‰€æœ‰å…ƒç´ çš„åŽŸå§‹çŠ¶æ€�
+ foreach (var element in _allObjsSet)
+ {
+ if (element != null && _activeSet.Contains(element))
+ {
+ element.gameObject.SetActive(true);
+ }
+ }
+ }
+
+ #endregion
+
+ #region 刷新框架
+
+ ///
+ /// 设置布局�
+ ///
+ public void LayoutDirty()
+ => _layoutDirty = true;
+
+ ///
+ /// 设置���
+ ///
+ public void TransformDirty()
+ => _transformDirty = true;
+
+ ///
+ /// é‡�ç½®è„�æ ‡è®°
+ ///
+ private void ResetDirtyFlag()
+ {
+ _layoutDirty = false;
+ _transformDirty = false;
+ }
+
+ ///
+ /// 检查容器�
+ ///
+ public virtual void CheckIsDirty()
+ {
+ if (QuadUITargetTree == null || // å››å�‰æ ‘ä¸�å˜åœ¨ï¼Ÿ
+ _lastChildrenCount != ContainerChildrenCount // �员数�明显�对
+ )
+ {
+ LayoutDirty();
+ BackupQuadRectValue();
+ return;
+ }
+
+ // todo 这里暂时�简�考虑直�直去的移动方�,如果有其他��移动,需�修改判别�件
+ var deltaPosIsDirty = Mathf.Abs(QuadUITargetTree.RootRect.position.sqrMagnitude - _lastPosition.sqrMagnitude) < discernibleDistance;
+
+ if (deltaPosIsDirty // �生��忽视的��?
+ )
+ {
+ TransformDirty();
+ BackupQuadRectValue();
+ return;
+ }
+ }
+
+ ///
+ /// é‡�建四å�‰æ ‘
+ ///
+ public void RebuildQurdTree()
+ {
+ // é‡�建四å�‰æ ‘
+ QuadUITargetTree = new QuadTree(ContainerTransformRectRange, a => a.rect);
+ // 记录�数
+ BackupQuadRectValue();
+ }
+
+ ///
+ /// ä¿�å˜è‡ªåЍé‡�建四å�‰æ ‘所需的å�‚æ•°
+ ///
+ ///
+ protected virtual void BackupQuadRectValue()
+ {
+ _lastPosition = ContainerTransformRectRange.position;
+ _lastChildrenCount = ContainerChildrenCount;
+ }
+
+
+#if ODIN_INSPECTOR
+ [Button("更新所有��性")]
+#endif
+ ///
+ /// 更新所有�员的��性
+ ///
+ public virtual void UpdateAllObjectVisible()
+ {
+ if (QuadUITargetTree == null)
+ {
+ Debug.LogError($"在更新æˆ�员å�¯è§�性之å‰�,需è¦�ç¡®ä¿�å››å�‰æ ‘å˜åœ¨ï¼�");
+ return;
+ }
+
+ var visibalSet = QuadUITargetTree.Retrieve(MaskRectTransformRectRange);
+ ContainerChildren.ForEachDo(obj =>
+ {
+ obj.gameObject.SetActive(visibalSet.Contains(obj));
+ });
+ }
+
+ ///
+ /// è¦�求控制布局组的激活一次,æ��供为何激活的原å›
+ ///
+ /// 由于新增�员导致布局更新
+ /// 由于销��员导致布局更新
+ public virtual void UpdateLayoutGroupOnce(bool hasIncreased, bool hasDecreased)
+ {
+ MainLayoutGroup.enabled = true;
+ StartCoroutine(WaitForLayoutDisable());
+ return;
+ IEnumerator WaitForLayoutDisable()
+ {
+ if (CanvasUpdateRegistry.IsRebuildingLayout())
+ yield return new WaitForEndOfFrame();
+ else
+ yield return new WaitForFixedUpdate();
+ MainLayoutGroup.enabled = false;
+ }
+ }
+
+ #endregion
+ }
+}
+
+
diff --git a/Runtime/DynamicActivitiesImpact/UIDynamicActiveImpact.cs.meta b/Runtime/DynamicActivitiesImpact/UIDynamicActiveImpact.cs.meta
new file mode 100644
index 0000000..1dbfbf5
--- /dev/null
+++ b/Runtime/DynamicActivitiesImpact/UIDynamicActiveImpact.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 48016863e20f4c61a91245c593d575da
+timeCreated: 1757990480
\ No newline at end of file
diff --git a/Runtime/FlipPage/FlipPageComponentManager.cs b/Runtime/FlipPage/FlipPageComponentManager.cs
index abf85ef..e79b342 100644
--- a/Runtime/FlipPage/FlipPageComponentManager.cs
+++ b/Runtime/FlipPage/FlipPageComponentManager.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
+using System.Linq;
using Deconstruction.Runtime.UI;
using JetBrains.Annotations;
using Sirenix.OdinInspector;
@@ -164,6 +165,8 @@ namespace XericUI.FlipPage
#endif
[CanBeNull]
internal ObjectVessel pageSelectableVessel;
+
+
protected internal override void OnPageVisible(bool quickVisit)
{
@@ -184,7 +187,7 @@ namespace XericUI.FlipPage
protected internal override void OnPageInvisible(bool quickVisit)
{
}
-
+
}
///
@@ -303,6 +306,8 @@ namespace XericUI.FlipPage
return result;
}
+
+
public override void RemovePage(int pageIndex)
{
base.RemovePage(pageIndex);
@@ -316,11 +321,10 @@ namespace XericUI.FlipPage
public override void ClearPages()
{
- foreach (var pageInfo in PageInfos)
- {
- var page = pageInfo as PageComponentInfo;
- pageButtonPool.DirectlyRelease(page.pageSelectableVessel.Target0.gameObject);
- }
+ PageInfos
+ .OfType()
+ .Where(a => a.pageSelectableVessel.IsValidVessel())
+ .ForEachDo(a => pageButtonPool.DirectlyRelease(a.pageSelectableVessel!.Target0.gameObject));
pageSelectButton.Clear();
base.ClearPages();
RefreshLabelTextTotalPageCount();
diff --git a/Runtime/FlipPage/GeneralDataFlipPage.cs b/Runtime/FlipPage/GeneralDataFlipPage.cs
new file mode 100644
index 0000000..f56139f
--- /dev/null
+++ b/Runtime/FlipPage/GeneralDataFlipPage.cs
@@ -0,0 +1,46 @@
+using System;
+using UnityEngine;
+using UnityEngine.Pool;
+
+namespace XericUI.FlipPage
+{
+ ///
+ /// 翻页组件管�器(通用数�层)
+ ///
+ [AddComponentMenu("Xeric UI Vessel/FlipPage/General FilpPage Manager")]
+ public class GeneralDataFlipPage : FlipPageComponentManager
+ {
+ #region 生命周期
+
+ protected override void Awake()
+ {
+ base.Awake();
+ }
+
+ #endregion
+
+ #region 容器控制
+
+ ///
+ /// æ·»åŠ ä¸€ä¸ªæ•°æ�®é¡¹ç›®
+ ///
+ /// 数�项目
+ ///
+ public void AddItem(T item)
+ where T : ItemComponentInfo
+ {
+ base.AddItem(item, () => AddPageLast(new PageComponentInfo()));
+ }
+
+ ///
+ /// æ·»åŠ ä¸€ä¸ªæ•°æ�®é¡¹ç›®
+ ///
+ /// 数�项目
+ public override void AddItem(ItemInfo item)
+ {
+ base.AddItem(item, () => AddPageLast(new PageComponentInfo()));
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/Runtime/FlipPage/GeneralDataFlipPage.cs.meta b/Runtime/FlipPage/GeneralDataFlipPage.cs.meta
new file mode 100644
index 0000000..e388cff
--- /dev/null
+++ b/Runtime/FlipPage/GeneralDataFlipPage.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: b51ce3649dd74e438a0d79a2935a866f
+timeCreated: 1758195174
\ No newline at end of file
diff --git a/Runtime/FlipPage/XericFlipPageIndexVesselBase.cs b/Runtime/FlipPage/XericFlipPageIndexVesselBase.cs
index e762199..70ce847 100644
--- a/Runtime/FlipPage/XericFlipPageIndexVesselBase.cs
+++ b/Runtime/FlipPage/XericFlipPageIndexVesselBase.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using Sirenix.OdinInspector;
using UnityEngine;
+using UnityEngine.Pool;
using UnityEngine.Serialization;
using UnityEngine.UI;
using XericLibrary.Runtime.MacroLibrary;
@@ -67,136 +68,6 @@ namespace XericUI.FlipPage
#endregion
- #region ÀàÄÚÀàÐÍ
-
- ///
- /// Ò³ÃæÐÅÏ¢
- ///
- [Serializable]
- public abstract class PageInfo
- {
- #region ×Ö¶ÎÊôÐÔ
-
- ///
- /// Ò³ÃæÃû³Æ
- ///
-#if ODIN_INSPECTOR
- [LabelText("Ò³ÃæÃû³Æ")]
-#endif
- public string name = DateTime.Now.Ticks.ToString();
-
- ///
- /// Ò³ÃæÄÚÏîÄ¿Áбí
- ///
-#if ODIN_INSPECTOR
- [LabelText("Ò³ÃæÏîÄ¿ÐÅÏ¢")]
-#endif
- public List itemInfos = new List();
-
- ///
- /// ´ÓÁ㿪ʼ¼ÆÊýµÄÒ³ÃæÏ±ê
- ///
-#if ODIN_INSPECTOR
- [LabelText("Ò³ÃæË÷Òý[0, n]")]
-#endif
- public int pageNumber { get; internal set; }
-
- #endregion
-
- #region ÉúÃüÖÜÆÚ
-
- ///
- /// Ò³Ãæ´´½¨Ê±
- ///
- protected internal virtual void OnPageCreated(XericFlipPageIndexVesselBase parent)
- {
-
- }
-
- ///
- /// Ò³ÃæÏú»Ùʱ
- ///
- protected internal virtual void OnPageDestroy(XericFlipPageIndexVesselBase parent)
- {
-
- }
-
- ///
- /// Ò³ÃæÏÔʾʱ
- ///
- /// ¿ìËÙä¯ÀÀ(ÓÃÓÚÇø·Ö¶¯»ºÍÂß¼£¬ÎªÕæÊ±£¬²»Ó¦µ±ÔÚ¶¯»Ê¼þºó¼ÌÐø¼ÓÔØÊý¾Ý)
- protected internal abstract void OnPageVisible(bool quickVisit);
-
- ///
- /// Ò³ÃæÒþ²ØÊ±
- ///
- /// ¿ìËÙä¯ÀÀ(ÓÃÓÚÇø·Ö¶¯»ºÍÂß¼£¬ÎªÕæÊ±£¬²»Ó¦µ±ÔÚ¶¯»Ê¼þºó¼ÌÐø¼ÓÔØÊý¾Ý)
- protected internal abstract void OnPageInvisible(bool quickVisit);
-
- #endregion
-
- public override string ToString()
- {
- return $"[{nameof(PageInfo)}] ({name})";
- }
- }
-
- ///
- /// ÏîÄ¿ÐÅÏ¢
- ///
- [Serializable]
- public abstract class ItemInfo
- {
- #region ×Ö¶ÎÊôÐÔ
-
-#if ODIN_INSPECTOR
- [LabelText("ÏîÄ¿Ãû³Æ")]
-#endif
- public string name = DateTime.Now.Ticks.ToString();
-
- ///
- /// ´ÓÁ㿪ʼ¼ÆÊýµÄÏîĿϱê
- ///
-#if ODIN_INSPECTOR
- [LabelText("ÏîÄ¿Ë÷Òý[0, n]")]
-#endif
- public int itemNumber { get; internal set; }
-
- #endregion
-
- #region ÉúÃüÖÜÆÚ
-
- ///
- /// µ±ÏîÄ¿ÏÔʾʱ
- ///
- protected internal abstract void OnItemVisible();
-
- ///
- /// µ±ÏîÄ¿Òþ²ØÊ±
- ///
- protected internal abstract void OnItemInvisible();
-
- #endregion
-
-
- ///
- /// ÊÇ·ñͨ¹ý¹ýÂËÆ÷
- ///
- /// ´«Èë¹ÜÀíÆ÷£¬½¨Ò齫¹ýÂËÆ÷·ÅÔÚ¹ÜÀíÆ÷ÖУ¬È»ºó¾ßÌåµÄͨ¹ý¹æÔòдÔÚÕâÀ¸ù¾Ý¶ÔÏóµÄ²»Í¬£¬Í¨¹ýµÄ¹æÔò¶¼²»Ò»Ñù¡£
- ///
- public virtual bool PassFilter(XericFlipPageIndexVesselBase manager)
- {
- return true;
- }
-
- public override string ToString()
- {
- return $"[{nameof(ItemInfo)}] ({name})";
- }
- }
-
- #endregion
-
#region ×Ö¶ÎÊôÐÔ
///
@@ -219,12 +90,12 @@ namespace XericUI.FlipPage
/// ËùÓÐÒ³Ãæ
///
- private LinkedList _pageInfos = new LinkedList();
+ private readonly LinkedList _pageInfos = new LinkedList();
///
/// ËùÓÐÁбíÏîÄ¿
///
- private HashSet _itemInfos = new HashSet();
+ private readonly HashSet _itemInfos = HashSetPool.Get();
///
@@ -272,18 +143,18 @@ namespace XericUI.FlipPage
#region ÉúÃüÖÜÆÚ
- protected override void Awake()
- {
- base.Awake();
- }
-
protected override void Start()
{
base.Start();
-
FlipPage(currentPageIndex);
}
+ protected override void OnDestroy()
+ {
+ base.OnDestroy();
+ HashSetPool.Release(_itemInfos);
+ }
+
#endregion
#region ·Ò³¹ÜÀí
@@ -335,6 +206,8 @@ namespace XericUI.FlipPage
// Èç¹ûË÷ÒýÆ«ÒÆ£¬Öð¸öÒÆ¶¯
else if (pageIndexOffset > 0)
{
+ // ÏȹرÕÒ³ÃæÔªËØ
+ CurrentPageNode.Value.CallChildItemInvisible();
for (var i = 0; i < pageIndexOffset; i++)
{
var next = CurrentPageNode!.Next;
@@ -343,16 +216,22 @@ namespace XericUI.FlipPage
}
else if (pageIndexOffset < 0)
{
+ // ÏȹرÕÒ³ÃæÔªËØ
+ CurrentPageNode.Value.CallChildItemInvisible();
for (var i = 0; i > pageIndexOffset; i--)
{
var previa = CurrentPageNode!.Previous;
SwitchPage(previa, _pageInfos.First, i - 1 > pageIndexOffset);
}
}
- // ûÓз¶¯ÓÐЧҳ£¬Í˳ö
+ // ûÓз¶¯ÓÐЧҳ£¬Ö±½ÓÍ˳ö
else
return;
-
+ // ¿ÉÄÜʱµ±Ç°²»´æÔÚÈκÎÒ³Ãæ
+ if (CurrentPageNode == null)
+ return;
+ // Ò³ÃæÔªËØ¼¤»î
+ CurrentPageNode.Value.CallChildItemVisible();
currentPageIndex = pageIndex;
OnFlipPage();
@@ -411,6 +290,8 @@ namespace XericUI.FlipPage
public void FlipPageToEnd()
=> FlipPage(_pageInfos.Count - 1);
+
+
///
/// Ìí¼ÓÒ³ÃæÔÚ¿ªÍ·
///
@@ -449,12 +330,34 @@ namespace XericUI.FlipPage
// Ìí¼ÓÒ³Ãæ
_pageInfos.AddLast(pageInfo);
// Ö´ÐÐÒ³ÃæÉúÃüÖÜÆÚ
- pageInfo.OnPageDestroy(this);
+ pageInfo.OnPageCreated(this);
// Ë¢ÐÂÒ³Ãæ
FlipPage(currentPageIndex, true);
return pageInfo;
}
+ ///
+ /// °´¶ÔÏóÒýÓÃɾ³ýÒ³Ãæ
+ ///
+ ///
+ public virtual void RemovePage(PageInfo pageInfo)
+ {
+ // Èç¹ûÒÆ³ýµÄÊǵ±Ç°Ò³Ã棬ִÐйرղÙ×÷
+ if (CurrentPageNode.Value == pageInfo)
+ {
+ pageInfo.OnPageInvisible(true);
+ CurrentPageNode = null;
+ }
+ // Ö´ÐÐÒ³ÃæÉúÃüÖÜÆÚ
+ pageInfo.OnPageDestroy(this);
+ // Ò³ÃæË÷ÒýÒÆ³ý
+ _pageInfos.Remove(pageInfo);
+ // Ë¢ÐÂÒ³Ãæ
+ FlipPage(currentPageIndex, true);
+ var index = PageInfos.IndexOf(a => a == pageInfo);
+ RemovePage(index);
+ }
+
///
/// ÒÆ³ýÒ³Ãæ£¨Ò³ÃæÉϵÄÊý¾ÝÄÚÈÝÒ²»áÒ»Í¬ÒÆ³ý£©
///
@@ -508,7 +411,16 @@ namespace XericUI.FlipPage
///
public T IndexOfPageInfo(int pageIndex)
where T : PageInfo
- => _pageInfos.LandedIndex(pageIndex) as T;
+ => IndexOfPageInfo(pageIndex) as T;
+
+ ///
+ /// »ñÈ¡Ë÷ÒýϵÄÒ³Ãæ
+ ///
+ ///
+ ///
+ ///
+ public PageInfo IndexOfPageInfo(int pageIndex)
+ => _pageInfos.LandedIndex(pageIndex);
///
/// Çå³ýËùÓÐÒ³Ãæ (ËùÓÐÒ³ÃæÊý¾ÝÒ²»áÒ»Í¬ÒÆ³ý)
@@ -567,7 +479,7 @@ namespace XericUI.FlipPage
///
/// Ìí¼ÓÊý¾ÝÏîÄ¿
///
- public void AddItem(ItemInfo item, Func addPage)
+ public virtual void AddItem(ItemInfo item, Func addPage)
{
// ÏòǰѰÕÒ¿Õȱ£¨ÕâÔÚÒ³Ãæ¶¼±»×¼È·Ìî³äµÄÇé¿öÏÂ×îÓÇ£©
var firstVacancy = _pageInfos
@@ -577,22 +489,24 @@ namespace XericUI.FlipPage
if (firstVacancy != null)
{
firstVacancy.Value.itemInfos.Add(item);
+ _itemInfos.Add(item);
return;
}
if (addPage == null)
{
- Debug.LogError("µ±Ç°Ò³ÃæÒÑÂú£¬Êý¾ÝÏîĿ˳λÌí¼Óµ½ÐÂÒ³ÃæÖУ¬µ«Î´Ö¸¶¨Ò³Ãæ´´½¨º¯Êý£¬Ìí¼Ó¹ý³ÌÒÑÍ˳ö", this);
+ Debug.LogError("µ±Ç°Ò³ÃæÒÑÂú£¬Êý¾ÝÏîÄ¿ÆÚÍû˳λÌí¼Óµ½ÐÂÒ³ÃæÖУ¬µ«Î´Ö¸¶¨Ò³Ãæ´´½¨º¯Êý£¬Ìí¼Ó¹ý³ÌÒÑÍ˳ö", this);
return;
}
// н¨Ò»¸öÒ³Ãæ´æ·ÅÊý¾Ý
addPage.Invoke().itemInfos.Add(item);
+ _itemInfos.Add(item);
}
///
/// ÒÆ³ýËùÓаüº¬¸ø¶¨ÏîÄ¿µÄλÖã¨Õâ»áÔÚÒ³ÃæÉÏÁôÏ¿Õȱ£©
///
///
- public void RemoveItem(ItemInfo item)
+ public virtual void RemoveItem(ItemInfo item)
{
foreach (var a in AllItemInfos
.Adjoint()
@@ -600,10 +514,11 @@ namespace XericUI.FlipPage
.Reverse())
{
ItemIndex2PageIndex(a.index);
+
}
}
- public void RemoveItem(int indexItem)
+ public virtual void RemoveItem(int indexItem)
{
}
@@ -641,6 +556,15 @@ namespace XericUI.FlipPage
{
return itemIndex / DefaultItemCountPerPage;
}
+
+ ///
+ /// µ±Ç°·Ò³¹ÜÀíÆ÷Öаüº¬¸ø¶¨Êý¾ÝÏîÄ¿
+ ///
+ ///
+ ///
+ public bool Contains(ItemInfo item)
+ => _itemInfos.Contains(item);
+
///
/// »ñÈ¡±¸·ÝËùÓÐÊý¾ÝÏîÄ¿
@@ -723,5 +647,174 @@ namespace XericUI.FlipPage
#endregion
+ #region ÀàÄÚÀàÐÍ
+
+ ///
+ /// Ò³ÃæÐÅÏ¢
+ ///
+ [Serializable]
+ public abstract class PageInfo
+ {
+ #region ×Ö¶ÎÊôÐÔ
+
+ ///
+ /// Ò³ÃæÃû³Æ
+ ///
+#if ODIN_INSPECTOR
+ [LabelText("Ò³ÃæÃû³Æ")]
+#endif
+ public string name = DateTime.Now.Ticks.ToString();
+
+ ///
+ /// Ò³ÃæÄÚÏîÄ¿Áбí
+ ///
+#if ODIN_INSPECTOR
+ [LabelText("Ò³ÃæÏîÄ¿ÐÅÏ¢")]
+#endif
+ public List itemInfos;
+
+ ///
+ /// ´ÓÁ㿪ʼ¼ÆÊýµÄÒ³ÃæÏ±ê
+ ///
+#if ODIN_INSPECTOR
+ [LabelText("Ò³ÃæË÷Òý[0, n]")]
+#endif
+ public int pageNumber { get; internal set; }
+
+ #endregion
+
+ #region ÉúÃüÖÜÆÚ
+
+ ///
+ /// Ò³Ãæ´´½¨Ê±
+ ///
+ protected internal virtual void OnPageCreated(XericFlipPageIndexVesselBase parent)
+ {
+ // »ñÈ¡Áбí
+ itemInfos = ListPool.Get();
+ }
+
+ ///
+ /// Ò³ÃæÏú»Ùʱ
+ ///
+ protected internal virtual void OnPageDestroy(XericFlipPageIndexVesselBase parent)
+ {
+ // ´Ó¹þÏ£±íÖÐÒÆ³ý
+ foreach (var itemInfo in itemInfos)
+ parent._itemInfos.Remove(itemInfo);
+ // ÊÍ·ÅÁбí
+ if (itemInfos != null)
+ ListPool.Release(itemInfos);
+
+ }
+
+ ///
+ /// Ò³ÃæÏÔʾʱ
+ ///
+ /// ¿ìËÙä¯ÀÀ(ÓÃÓÚÇø·Ö¶¯»ºÍÂß¼£¬ÎªÕæÊ±£¬²»Ó¦µ±ÔÚ¶¯»Ê¼þºó¼ÌÐø¼ÓÔØÊý¾Ý)
+ ///
+ /// Ò³ÃæÖеijÉÔ±»á×Ô¶¯ÔÚ·Ç¿ìËÙä¯ÀÀģʽÏÂ×Ô¶¯Ö´ÐÐÏàÓ¦µÄ¼¤»îº¯Êý
+ ///
+ protected internal abstract void OnPageVisible(bool quickVisit);
+
+ ///
+ /// Ò³ÃæÒþ²ØÊ±
+ ///
+ /// ¿ìËÙä¯ÀÀ(ÓÃÓÚÇø·Ö¶¯»ºÍÂß¼£¬ÎªÕæÊ±£¬²»Ó¦µ±ÔÚ¶¯»Ê¼þºó¼ÌÐø¼ÓÔØÊý¾Ý)
+ ///
+ /// Ò³ÃæÖеijÉÔ±»á×Ô¶¯ÔÚ·Ç¿ìËÙä¯ÀÀģʽÏÂ×Ô¶¯Ö´ÐÐÏàÓ¦µÄ¼¤»îº¯Êý
+ ///
+ protected internal abstract void OnPageInvisible(bool quickVisit);
+
+ #endregion
+
+ ///
+ /// ´«µÝ×ÓÏ»î»Øµ÷ʼþ
+ ///
+ protected internal virtual void CallChildItemVisible()
+ {
+ itemInfos
+ .Where(a => a != null)
+ .ForEachDo(itemInfo => itemInfo.OnItemVisible());
+ }
+
+ ///
+ /// ´«µÝ×ÓÏî·Ç¼¤»î»Øµ÷ʼþ
+ ///
+ protected internal virtual void CallChildItemInvisible()
+ {
+ itemInfos
+ .Where(a => a != null)
+ .ForEachDo(itemInfo => itemInfo.OnItemInvisible());
+ }
+
+ public override string ToString()
+ {
+ return $"[{nameof(PageInfo)}] ({name})";
+ }
+ }
+
+ ///
+ /// ÏîÄ¿ÐÅÏ¢
+ ///
+ [Serializable]
+ public abstract class ItemInfo
+ {
+ #region ×Ö¶ÎÊôÐÔ
+
+#if ODIN_INSPECTOR
+ [LabelText("ÏîÄ¿Ãû³Æ")]
+#endif
+ public string name = DateTime.Now.Ticks.ToString();
+
+ ///
+ /// ´ÓÁ㿪ʼ¼ÆÊýµÄÏîĿϱê
+ ///
+#if ODIN_INSPECTOR
+ [LabelText("ÏîÄ¿Ë÷Òý[0, n]")]
+#endif
+ public int itemNumber { get; internal set; }
+
+ #endregion
+
+ #region ÉúÃüÖÜÆÚ
+
+ ///
+ /// µ±ÏîÄ¿ÏÔʾʱ
+ ///
+ ///
+ /// Õâ»áÔÚÒ³ÃæÏÔʾ֮ºóÖ´ÐÐ
+ ///
+ protected internal abstract void OnItemVisible();
+
+ ///
+ /// µ±ÏîÄ¿Òþ²ØÊ±
+ ///
+ ///
+ /// Õâ»áÔÚÒ³Ãæ¹Ø±Õ֮ǰִÐÐ
+ ///
+ protected internal abstract void OnItemInvisible();
+
+ #endregion
+
+
+ ///
+ /// ÊÇ·ñͨ¹ý¹ýÂËÆ÷
+ ///
+ /// ´«Èë¹ÜÀíÆ÷£¬½¨Ò齫¹ýÂËÆ÷·ÅÔÚ¹ÜÀíÆ÷ÖУ¬È»ºó¾ßÌåµÄͨ¹ý¹æÔòдÔÚÕâÀ¸ù¾Ý¶ÔÏóµÄ²»Í¬£¬Í¨¹ýµÄ¹æÔò¶¼²»Ò»Ñù¡£
+ ///
+ public virtual bool PassFilter(XericFlipPageIndexVesselBase manager)
+ {
+ return true;
+ }
+
+ public override string ToString()
+ {
+ return $"[{nameof(ItemInfo)}] ({name})";
+ }
+ }
+
+ #endregion
+
}
}
\ No newline at end of file
diff --git a/Runtime/FlipPage/翻页.prefab b/Runtime/FlipPage/翻页.prefab
new file mode 100644
index 0000000..5d3eb43
--- /dev/null
+++ b/Runtime/FlipPage/翻页.prefab
@@ -0,0 +1,1734 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1209793828667724322
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7803728723482469378}
+ - component: {fileID: 493161845038096055}
+ - component: {fileID: 1251108820634571731}
+ - component: {fileID: 7765258621724067875}
+ m_Layer: 5
+ m_Name: Down Page
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &7803728723482469378
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1209793828667724322}
+ m_LocalRotation: {x: -0, y: -0, z: 1, w: 0}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 2621537553907313402}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180}
+ m_AnchorMin: {x: 1, y: 0.5}
+ m_AnchorMax: {x: 1, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0.000579834}
+ m_SizeDelta: {x: 32, y: 32}
+ m_Pivot: {x: 1, y: 0.5}
+--- !u!222 &493161845038096055
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1209793828667724322}
+ m_CullTransparentMesh: 1
+--- !u!114 &1251108820634571731
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1209793828667724322}
+ 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: 21300000, guid: e4f3bb5241dbaad4db4c4c2123c3dc7f, type: 3}
+ 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 &7765258621724067875
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1209793828667724322}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 2
+ 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: 21300000, guid: 40024c9e22bc58546af022bb1516b373, type: 3}
+ m_PressedSprite: {fileID: 21300000, guid: 1f3ef61bd6d42c8409d7bf16c656276a, type: 3}
+ m_SelectedSprite: {fileID: 21300000, guid: e4f3bb5241dbaad4db4c4c2123c3dc7f, type: 3}
+ m_DisabledSprite: {fileID: 21300000, guid: 0dbb3dd59e83e7b4abdb31724b78b5f8, type: 3}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1251108820634571731}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!1 &1768253749262987325
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8320169383697131573}
+ - component: {fileID: 8234106350278285165}
+ - component: {fileID: 7631276280526804616}
+ - component: {fileID: 4774887646849473799}
+ m_Layer: 5
+ m_Name: InputField (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8320169383697131573
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1768253749262987325}
+ 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: 2490712815460671538}
+ - {fileID: 1761491286324561013}
+ - {fileID: 3119345715479511668}
+ m_Father: {fileID: 2621537553907313402}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 0.5}
+ m_AnchorMax: {x: 1, y: 0.5}
+ m_AnchoredPosition: {x: 85, y: 0.000579834}
+ m_SizeDelta: {x: 50, y: 30}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &8234106350278285165
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1768253749262987325}
+ m_CullTransparentMesh: 1
+--- !u!114 &7631276280526804616
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1768253749262987325}
+ 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.8784314}
+ 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: 21300000, guid: f83f04ce4c189934e927946f277e0d55, type: 3}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 3
+--- !u!114 &4774887646849473799
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1768253749262987325}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, 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: 1
+ 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: 7631276280526804616}
+ m_TextViewport: {fileID: 1761491286324561013}
+ m_TextComponent: {fileID: 3455313715146643028}
+ m_Placeholder: {fileID: 915856553847742378}
+ m_VerticalScrollbar: {fileID: 0}
+ m_VerticalScrollbarEventHandler: {fileID: 0}
+ m_LayoutGroup: {fileID: 0}
+ m_ScrollSensitivity: 1
+ m_ContentType: 0
+ m_InputType: 0
+ m_AsteriskChar: 42
+ m_KeyboardType: 0
+ m_LineType: 0
+ m_HideMobileInput: 0
+ m_HideSoftKeyboard: 0
+ m_CharacterValidation: 0
+ m_RegexValue:
+ m_GlobalPointSize: 14
+ m_CharacterLimit: 0
+ m_OnEndEdit:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnSubmit:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnSelect:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnDeselect:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnTextSelection:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnEndTextSelection:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_OnTouchScreenKeyboardStatusChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_CustomCaretColor: 0
+ m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
+ m_Text:
+ m_CaretBlinkRate: 0.85
+ m_CaretWidth: 1
+ m_ReadOnly: 0
+ m_RichText: 1
+ m_GlobalFontAsset: {fileID: 11400000, guid: ac8924ea1ea2ba7489bd53e5f02592da, type: 2}
+ m_OnFocusSelectAll: 1
+ m_ResetOnDeActivation: 1
+ m_RestoreOriginalTextOnEscape: 1
+ m_isRichTextEditingAllowed: 0
+ m_LineLimit: 0
+ m_InputValidator: {fileID: 0}
+--- !u!1 &2424472191782084273
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6923205496500461185}
+ - component: {fileID: 1415465211690416570}
+ m_Layer: 5
+ m_Name: "\u7FFB\u9875\u7D22\u5F15\u9879\u76EE"
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &6923205496500461185
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2424472191782084273}
+ 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: 4111830033538904869}
+ - {fileID: 2519692151064848829}
+ m_Father: {fileID: 3824897263716428784}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 16, y: -16}
+ m_SizeDelta: {x: 32, y: 32}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1415465211690416570
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2424472191782084273}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, 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: 1
+ m_Colors:
+ m_NormalColor: {r: 0.031372547, g: 0.29999995, b: 0.5, a: 1}
+ m_HighlightedColor: {r: 0.060235288, g: 0.5759999, b: 0.96, a: 1}
+ m_PressedColor: {r: 0.048941173, g: 0.46799994, b: 0.78, a: 1}
+ m_SelectedColor: {r: 0.0627451, g: 0.6, b: 1, a: 1}
+ m_DisabledColor: {r: 0.5, g: 0.5, b: 0.5, 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: 6405618758504439301}
+ toggleTransition: 1
+ graphic: {fileID: 4413023985490663009}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_IsOn: 1
+--- !u!1 &3297188182606269442
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3824897263716428784}
+ - component: {fileID: 5336793842697934167}
+ m_Layer: 5
+ m_Name: PageContext
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &3824897263716428784
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3297188182606269442}
+ 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: 6923205496500461185}
+ m_Father: {fileID: 2621537553907313402}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &5336793842697934167
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3297188182606269442}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3e670ed839c14690b0def247bb026b7f, 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: 0
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+ m_ChildControlWidth: 0
+ m_ChildControlHeight: 0
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+ layoutIgnoreInactive: 1
+ enableListScreening: 0
+ blackListMode: 0
+ m_whiteList_list: []
+ m_blackList_list: []
+--- !u!1 &3542596588011649313
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1761491286324561013}
+ - component: {fileID: 5996482587860411595}
+ m_Layer: 5
+ m_Name: Text Area
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1761491286324561013
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3542596588011649313}
+ 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: 2101792116944489344}
+ - {fileID: 1041055584715298967}
+ m_Father: {fileID: 8320169383697131573}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: -0.5}
+ m_SizeDelta: {x: -20, y: -13}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &5996482587860411595
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3542596588011649313}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding: {x: -8, y: -5, z: -8, w: -5}
+ m_Softness: {x: 0, y: 0}
+--- !u!1 &3681948604628247255
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2621537553907313402}
+ m_Layer: 5
+ m_Name: FlipArea
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2621537553907313402
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3681948604628247255}
+ 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: 6571605906153027814}
+ - {fileID: 7037780673386208652}
+ - {fileID: 3824897263716428784}
+ - {fileID: 7803728723482469378}
+ - {fileID: 8320169383697131573}
+ m_Father: {fileID: 2268756897276388555}
+ m_RootOrder: 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: 100, y: 32}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &3751844273899850360
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2490712815460671538}
+ - component: {fileID: 1648808636809099727}
+ - component: {fileID: 6875800299977826311}
+ m_Layer: 5
+ m_Name: "\u8DF3\u81F3"
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2490712815460671538
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3751844273899850360}
+ 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: 8320169383697131573}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.5}
+ m_AnchorMax: {x: 0, y: 0.5}
+ m_AnchoredPosition: {x: -10, y: 0}
+ m_SizeDelta: {x: 50, y: 32}
+ m_Pivot: {x: 1, y: 0.5}
+--- !u!222 &1648808636809099727
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3751844273899850360}
+ m_CullTransparentMesh: 1
+--- !u!114 &6875800299977826311
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3751844273899850360}
+ 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: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: "\u8DF3\u81F3"
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: ac8924ea1ea2ba7489bd53e5f02592da, type: 2}
+ m_sharedMaterial: {fileID: -8421469107013168242, guid: ac8924ea1ea2ba7489bd53e5f02592da, 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: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 14
+ m_fontSizeBase: 14
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 4
+ 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: 0
+ 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 &3959054241061132334
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4222252253032858648}
+ - component: {fileID: 9194564358554857425}
+ - component: {fileID: 4413023985490663009}
+ m_Layer: 5
+ m_Name: Checkmark
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &4222252253032858648
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3959054241061132334}
+ 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: 4111830033538904869}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &9194564358554857425
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3959054241061132334}
+ m_CullTransparentMesh: 1
+--- !u!114 &4413023985490663009
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3959054241061132334}
+ 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: 0.0627451, g: 0.6, b: 1, a: 0.9019608}
+ 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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ 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 &4207560638290609963
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1041055584715298967}
+ - component: {fileID: 1629736399565147168}
+ - component: {fileID: 3455313715146643028}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1041055584715298967
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4207560638290609963}
+ 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: 1761491286324561013}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1629736399565147168
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4207560638290609963}
+ m_CullTransparentMesh: 1
+--- !u!114 &3455313715146643028
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4207560638290609963}
+ 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: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: "\u200B"
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: ac8924ea1ea2ba7489bd53e5f02592da, type: 2}
+ m_sharedMaterial: {fileID: -8421469107013168242, guid: ac8924ea1ea2ba7489bd53e5f02592da, 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: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 14
+ m_fontSizeBase: 14
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ 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: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 1
+ 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 &5139169286594706621
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6571605906153027814}
+ - component: {fileID: 6947296666981024191}
+ - component: {fileID: 3714336260026733280}
+ m_Layer: 5
+ m_Name: "\u603B\u6570"
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &6571605906153027814
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5139169286594706621}
+ 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: 2621537553907313402}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.5}
+ m_AnchorMax: {x: 0, y: 0.5}
+ m_AnchoredPosition: {x: -40, y: 0}
+ m_SizeDelta: {x: 50, y: 32}
+ m_Pivot: {x: 1, y: 0.5}
+--- !u!222 &6947296666981024191
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5139169286594706621}
+ m_CullTransparentMesh: 1
+--- !u!114 &3714336260026733280
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5139169286594706621}
+ 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: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: "\u517110\u6761"
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: ac8924ea1ea2ba7489bd53e5f02592da, type: 2}
+ m_sharedMaterial: {fileID: -8421469107013168242, guid: ac8924ea1ea2ba7489bd53e5f02592da, 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: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 14
+ m_fontSizeBase: 14
+ 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: 0
+ 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 &5637017971419535742
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2519692151064848829}
+ - component: {fileID: 3521739009786132225}
+ - component: {fileID: 1059445199907694612}
+ m_Layer: 5
+ m_Name: Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2519692151064848829
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5637017971419535742}
+ 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: 6923205496500461185}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3521739009786132225
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5637017971419535742}
+ m_CullTransparentMesh: 1
+--- !u!114 &1059445199907694612
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5637017971419535742}
+ 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: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: '0
+
+'
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: ac8924ea1ea2ba7489bd53e5f02592da, type: 2}
+ m_sharedMaterial: {fileID: -8421469107013168242, guid: ac8924ea1ea2ba7489bd53e5f02592da, 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: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 14
+ m_fontSizeBase: 14
+ 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 &5747851443116560983
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2101792116944489344}
+ - component: {fileID: 6255237017966768464}
+ - component: {fileID: 915856553847742378}
+ - component: {fileID: 1422473183026691165}
+ m_Layer: 5
+ m_Name: Placeholder
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2101792116944489344
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5747851443116560983}
+ 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: 1761491286324561013}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6255237017966768464
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5747851443116560983}
+ m_CullTransparentMesh: 1
+--- !u!114 &915856553847742378
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5747851443116560983}
+ 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: 1
+ 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: ac8924ea1ea2ba7489bd53e5f02592da, type: 2}
+ m_sharedMaterial: {fileID: -8421469107013168242, guid: ac8924ea1ea2ba7489bd53e5f02592da, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 2150773298
+ m_fontColor: {r: 1, g: 1, b: 1, a: 0.5}
+ 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: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 14
+ m_fontSizeBase: 14
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 2
+ 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: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 1
+ 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 &1422473183026691165
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5747851443116560983}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 1
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!1 &7252616489063906768
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7037780673386208652}
+ - component: {fileID: 1435867989117754973}
+ - component: {fileID: 8354246078655071261}
+ - component: {fileID: 1639142151594522879}
+ m_Layer: 5
+ m_Name: Up Page
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &7037780673386208652
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7252616489063906768}
+ 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: 2621537553907313402}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.5}
+ m_AnchorMax: {x: 0, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0.000579834}
+ m_SizeDelta: {x: 32, y: 32}
+ m_Pivot: {x: 1, y: 0.5}
+--- !u!222 &1435867989117754973
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7252616489063906768}
+ m_CullTransparentMesh: 1
+--- !u!114 &8354246078655071261
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7252616489063906768}
+ 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: 21300000, guid: e4f3bb5241dbaad4db4c4c2123c3dc7f, type: 3}
+ 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 &1639142151594522879
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7252616489063906768}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 2
+ 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: 21300000, guid: 40024c9e22bc58546af022bb1516b373, type: 3}
+ m_PressedSprite: {fileID: 21300000, guid: 1f3ef61bd6d42c8409d7bf16c656276a, type: 3}
+ m_SelectedSprite: {fileID: 21300000, guid: e4f3bb5241dbaad4db4c4c2123c3dc7f, type: 3}
+ m_DisabledSprite: {fileID: 21300000, guid: 0dbb3dd59e83e7b4abdb31724b78b5f8, type: 3}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 8354246078655071261}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!1 &8169002526629318782
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2268756897276388555}
+ - component: {fileID: 6652959776083122156}
+ m_Layer: 5
+ m_Name: "\u7FFB\u9875"
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2268756897276388555
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8169002526629318782}
+ 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: 2621537553907313402}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 20}
+ m_SizeDelta: {x: 1820, y: 40}
+ m_Pivot: {x: 0.5, y: 0}
+--- !u!114 &6652959776083122156
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8169002526629318782}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b51ce3649dd74e438a0d79a2935a866f, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ candidatesNumber: 1
+ canPassIndexBoundary: 0
+ defaultItemCountPerPage: -1
+ currentPageIndex: 0
+ inMaximumCandidatesNumber: 0
+ buttonStartPage:
+ target: {fileID: 0}
+ buttonPreviousPage:
+ target: {fileID: 1639142151594522879}
+ buttonNextPage:
+ target: {fileID: 7765258621724067875}
+ buttoneEndPage:
+ target: {fileID: 0}
+ labelTextTotalPageCount:
+ target: {fileID: 3714336260026733280}
+ totalPageCountFormat: "\u5171$1\u9875"
+ pageIndexFormat: $1
+ pageSelectButton: []
+ inputFieldFlipPageIndex:
+ target: {fileID: 4774887646849473799}
+ pageButtonPool:
+ prefab: {fileID: 2424472191782084273}
+ parent: {fileID: 3824897263716428784}
+ setOrder: 1
+ setAcitve: 1
+ autoHide: 1
+--- !u!1 &8314782234283084461
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4111830033538904869}
+ - component: {fileID: 7125951097221311586}
+ - component: {fileID: 6405618758504439301}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &4111830033538904869
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8314782234283084461}
+ 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: 4222252253032858648}
+ m_Father: {fileID: 6923205496500461185}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7125951097221311586
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8314782234283084461}
+ m_CullTransparentMesh: 1
+--- !u!114 &6405618758504439301
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8314782234283084461}
+ 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: 0.031372547, g: 0.29999995, b: 0.5, a: 0.9019608}
+ 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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ 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 &8884749777027399173
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3119345715479511668}
+ - component: {fileID: 8847601844061604563}
+ - component: {fileID: 1145077905955776314}
+ m_Layer: 5
+ m_Name: "\u9875"
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &3119345715479511668
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8884749777027399173}
+ 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: 8320169383697131573}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 0.5}
+ m_AnchorMax: {x: 1, y: 0.5}
+ m_AnchoredPosition: {x: 10, y: 0}
+ m_SizeDelta: {x: 50, y: 32}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &8847601844061604563
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8884749777027399173}
+ m_CullTransparentMesh: 1
+--- !u!114 &1145077905955776314
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8884749777027399173}
+ 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: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: "\u9875"
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: ac8924ea1ea2ba7489bd53e5f02592da, type: 2}
+ m_sharedMaterial: {fileID: -8421469107013168242, guid: ac8924ea1ea2ba7489bd53e5f02592da, 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: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 14
+ m_fontSizeBase: 14
+ 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: 0
+ 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}
diff --git a/Runtime/FlipPage/翻页.prefab.meta b/Runtime/FlipPage/翻页.prefab.meta
new file mode 100644
index 0000000..48853a4
--- /dev/null
+++ b/Runtime/FlipPage/翻页.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 5ba86d0ef2e4efd4290b2b4b7697aa85
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant: