Пример #1
0
        void OnAddInitializationObject(Rect buttonRect, ReorderableList list)
        {
            var assetPath = EditorUtility.OpenFilePanelWithFilters("Initialization Object", "Assets", new[] { "Initialization Object", "asset" });

            if (string.IsNullOrEmpty(assetPath))
            {
                return;
            }
            var initObj = AssetDatabase.LoadAssetAtPath <ScriptableObject>(assetPath.Substring(assetPath.IndexOf("Assets/")));

            if (!typeof(IObjectInitializationDataProvider).IsAssignableFrom(initObj.GetType()))
            {
                Debug.LogWarningFormat("Asset at {0} does not implement the IObjectInitializationDataProvider interface.", assetPath);
                return;
            }
            m_AasTarget.AddInitializationObject(initObj as IObjectInitializationDataProvider);
        }