public void AssetReferenceDrawer_SetSubAssets_CanSetSubAssets(int numAtlasObjects, int selectedId, int numReferences) { // Setup var subAssets = new List <Object>(); var atlas = SetUpSpriteAtlas(numAtlasObjects, out subAssets); var property = SetupForSetSubAssets(atlas, numReferences, true); m_AssetReferenceDrawer.m_label = new GUIContent("testSpriteReference"); FieldInfo propertyFieldInfo = typeof(TestSubObjectsSpriteAtlas).GetField("testSpriteReference", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance); // Test m_AssetReferenceDrawer.SetSubAssets(property, subAssets[selectedId], propertyFieldInfo); foreach (var obj in property.serializedObject.targetObjects) { Assert.AreEqual(((TestSubObjectsSpriteAtlas)obj).testSpriteReference.SubObjectName, subAssets[selectedId].name); } // Cleanup if (Directory.Exists("Assets/AddressableAssetsData")) { AssetDatabase.DeleteAsset("Assets/AddressableAssetsData"); } EditorBuildSettings.RemoveConfigObject("Assets/AddressableAssetsData"); }
public void SetUpForSubassetPerformanceTests(int numAtlasObjects, int numReferences, int selectedId) { // Drawer Setup m_AssetReferenceDrawer = new AssetReferenceDrawer(); _subAssets = new List <Object>(); var atlas = SetUpSpriteAtlas(numAtlasObjects, out _subAssets); _property = SetupForSetSubAssets(atlas, numReferences, true); m_AssetReferenceDrawer.m_label = new GUIContent("testSpriteReference"); m_AssetReferenceDrawer.m_AssetRefObject = m_AssetReferenceDrawer.m_AssetRefObject; FieldInfo propertyFieldInfo = typeof(TestSubObjectsSpriteAtlas).GetField("testSpriteReference", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance); m_AssetReferenceDrawer.SetSubAssets(_property, _subAssets[selectedId], propertyFieldInfo); m_AssetReferenceDrawer.GatherFilters(_property); }