Files
Magical-Jumping-Bean/Library/metadata/78/7883cd788d83a71478342eef943e8150
T

124 lines
9.8 KiB
Plaintext
Raw Normal View History

2019-09-29 19:40:54 -04:00
í'T2019.2.3f1þÿÿÿÿÿ’3$øÌuñ옲e+ Í=^7€ÿÿÿÿ€¦€²€Ѐ¦€¦€¦€#¦€+H€3ÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€ Q€j€
H€<ÿÿÿÿ €1€1€ÿÿÿÿ @Þ€€
Q€j€Õ€Iÿÿÿÿ€1€1€ÿÿÿÿÀÞ€€H€j€ÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€™€PAssetMetaDataguiddata[0]data[1]data[2]data[3]pathNameoriginalNamelabelsassetStoreRef ÿÿfš†!ë5˜9Ý4QÁóBí7€ÿÿÿÿ€¦€²€
E€ Þ€#€.€,€5a€ Þ€#€.€,€†€r€ Þ€# €.€,
€H€«€ÿÿÿÿ €1€1€ÿÿÿÿ @Þ€€
Q€j€ñ€JÿÿÿÿÀ1€1€ÿÿÿÿ€Þ€€€j€ÿÿÿÿ€\›€ÿÿÿÿ€H€rÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€H€wÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€H€€ÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€y€
€ Þ€#!€.€,"€€…ÿÿÿÿ#@1€1€ÿÿÿÿ$Þ€€%.€j€&Õ€“ÿÿÿÿ'€1€1€ÿÿÿÿ(ÀÞ€€)€j€ÿÿÿÿ*€H€›€ÿÿÿÿ+€1€1€ÿÿÿÿ,@Þ€€-Q€j€.y€
€ /Þ€#0€.€,1€ €§2@¾€¶ 3@Þ€#4€.€,5€H€»ÿÿÿÿ6€1€1€ÿÿÿÿ7@Þ€€8Q€j€9H€Æÿÿÿÿ:€1€1€ÿÿÿÿ;@Þ€€<Q€j€=H€Øÿÿÿÿ>€1€1€ÿÿÿÿ?@Þ€€@Q€j€AMonoImporterPPtr<EditorExtension>m_FileIDm_PathIDPPtr<PrefabInstance>m_ExternalObjectsSourceAssetIdentifiertypeassemblynamem_UsedFileIDsm_DefaultReferencesexecutionOrdericonm_UserDatam_AssetBundleNamem_AssetBundleVariantsÿÿ£Gñ×Ü�Z56 :!@iÁJ*�€7€ÿÿÿÿ€¦€²€E€ Þ€€.€€(a€ Þ€€.€€†€r€ Þ€ €.€
€H€«€ÿÿÿÿ €1€1€ÿÿÿÿ @Þ€€
Q€j€H€ê€ÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€ñ€=ÿÿÿÿ€1€1€ÿÿÿÿ€Þ€€€j€ÿÿÿÿ€H€›€ÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€y€
€ Þ€€.€€y€Q Þ€€.€ €Þ€X!H€iÿÿÿÿ"€1€1€ÿÿÿÿ#@Þ€€$Q€j€%H€uÿÿÿÿ&€1€1€ÿÿÿÿ'@Þ€€(Q€j€)PPtr<EditorExtension>m_FileIDm_PathIDPPtr<PrefabInstance>m_DefaultReferencesm_Iconm_ExecutionOrderm_ClassNamem_Namespacetx\ày¯Øl‡8܇Ø8zA‡CâþIãJPackages/com.unity.ugui/Tests/Runtime/ScrollRect/ScrollRectStableLayout.csày¯ScrollRectStableLayoutíusing System.IO;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.TestTools;
using NUnit.Framework;
using System.Collections;
/*
This test checks if a clamped scrollRect with a content rect that has the same width and a canvas with scaling will stay stable for 5 frames.
Test for case (1010178-Clamped ScrollRect with scalling cause a large spike in performance)
*/
public class ScrollRectStableLayout : IPrebuildSetup
{
GameObject m_PrefabRoot;
const string kPrefabPath = "Assets/Resources/ScrollRectStableLayoutPrefab.prefab";
public void Setup()
{
#if UNITY_EDITOR
var rootGO = new GameObject("RootGO");
var rootCanvasGO = new GameObject("Canvas", typeof(Canvas), typeof(CanvasScaler));
rootCanvasGO.transform.SetParent(rootGO.transform);
var canvas = rootCanvasGO.GetComponent<Canvas>();
canvas.renderMode = RenderMode.ScreenSpaceOverlay;
var canvasScaler = rootCanvasGO.GetComponent<CanvasScaler>();
canvasScaler.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize;
canvasScaler.referenceResolution = new Vector2(3840, 2160);
canvasScaler.referencePixelsPerUnit = 128;
var scrollRectGo = new GameObject("Scroll View", typeof(ScrollRect));
var scrollRectTransform = scrollRectGo.GetComponent<RectTransform>();
scrollRectTransform.SetParent(rootCanvasGO.transform);
scrollRectTransform.localPosition = Vector3.zero;
scrollRectTransform.sizeDelta = new Vector2(1000, 1000);
scrollRectTransform.localScale = Vector3.one * 1.000005f;
var scrollRect = scrollRectGo.GetComponent<ScrollRect>();
scrollRect.horizontal = true;
scrollRect.vertical = true;
scrollRect.movementType = ScrollRect.MovementType.Clamped;
scrollRect.inertia = true;
var viewportTransform = new GameObject("Viewport", typeof(RectTransform)).GetComponent<RectTransform>();
viewportTransform.SetParent(scrollRectTransform);
viewportTransform.localPosition = Vector3.zero;
viewportTransform.localScale = Vector3.one;
viewportTransform.sizeDelta = new Vector2(-17, 0);
viewportTransform.anchorMin = new Vector2(0, 0);
viewportTransform.anchorMax = new Vector2(1, 1);
viewportTransform.pivot = new Vector2(0, 1);
scrollRect.viewport = viewportTransform;
var contentGo = new GameObject("Content", typeof(GridLayoutGroup));
var contentTransform = contentGo.GetComponent<RectTransform>();
contentTransform.SetParent(viewportTransform);
contentTransform.localPosition = Vector3.zero;
contentTransform.localScale = Vector3.one;
contentTransform.sizeDelta = new Vector2(0, 300);
contentTransform.anchorMin = new Vector2(0, 1);
contentTransform.anchorMax = new Vector2(1, 1);
contentTransform.pivot = new Vector2(0, 1);
var gridLayout = contentGo.GetComponent<GridLayoutGroup>();
gridLayout.cellSize = new Vector2(100, 100);
gridLayout.startCorner = GridLayoutGroup.Corner.UpperLeft;
gridLayout.startAxis = GridLayoutGroup.Axis.Horizontal;
gridLayout.childAlignment = TextAnchor.UpperLeft;
gridLayout.constraint = GridLayoutGroup.Constraint.Flexible;
scrollRect.content = contentTransform;
for (int i = 0; i < 20; i++)
{
var go = new GameObject("GameObject (" + i + ")", typeof(RectTransform));
var t = go.GetComponent<RectTransform>();
t.SetParent(contentTransform);
t.localScale = Vector3.one;
t.pivot = new Vector2(0.5f, 0.5f);
}
if (!Directory.Exists("Assets/Resources/"))
Directory.CreateDirectory("Assets/Resources/");
UnityEditor.PrefabUtility.SaveAsPrefabAsset(rootGO, kPrefabPath);
GameObject.DestroyImmediate(rootGO);
#endif
}
[SetUp]
public void TestSetup()
{
m_PrefabRoot = Object.Instantiate(Resources.Load("ScrollRectStableLayoutPrefab")) as GameObject;
new GameObject("Camera", typeof(Camera));
}
[UnityTest]
public IEnumerator ScrollRect_StableWhenStatic()
{
//root->canvas->scroll view->viewport->content
RectTransform t = m_PrefabRoot.transform.GetChild(0).GetChild(0).GetChild(0).GetChild(0) as RectTransform;
float[] values = new float[5];
for (int i = 0; i < values.Length; i++)
{
values[i] = t.localPosition.y;
yield return null;
}
Assert.AreEqual(values[0], values[1]);
Assert.AreEqual(values[1], values[2]);
Assert.AreEqual(values[2], values[3]);
Assert.AreEqual(values[3], values[4]);
}
[TearDown]
public void TearDown()
{