public static void LoadDefinedProviders() { if (DataProviderEd.getterProviders != null && DataProviderEd.setterProviders != null) { return; } DataProviderEd.getterProviders = new List <DataProvider>(); DataProviderEd.setterProviders = new List <DataProvider>(); plyEdUtil.CheckPath(BloxEdGlobal.ProvidersPath); List <DataProvider> list = plyEdUtil.LoadAssets <DataProvider>(BloxEdGlobal.ProvidersPath); for (int i = 0; i < list.Count; i++) { if (!string.IsNullOrEmpty(list[i].ident)) { if (list[i].isSetter) { DataProviderEd.setterProviders.Add(list[i]); } else { DataProviderEd.getterProviders.Add(list[i]); } } } DataProviderEd.getterProviders.Insert(0, null); DataProviderEd.setterProviders.Insert(0, null); DataProviderEd.UpdateProviderLabels(); }
public static DataProvider CreateDataprovider(Type t, string ident, bool isSetter) { plyEdUtil.CheckPath(BloxEdGlobal.ProvidersPath); string str = plyEdUtil.GenerateUniqueFileGUID("", BloxEdGlobal.ProvidersPath, ".asset"); DataProvider dataProvider = (DataProvider)plyEdUtil.LoadOrCreateAsset(t, BloxEdGlobal.ProvidersPath + str + ".asset", false); dataProvider.ident = ident; dataProvider.isSetter = isSetter; dataProvider.OnCreated(); EditorUtility.SetDirty(dataProvider); AssetDatabase.SaveAssets(); if (!string.IsNullOrEmpty(ident)) { DataProviderEd.LoadDefinedProviders(); if (isSetter) { DataProviderEd.setterProviders.Add(dataProvider); } else { DataProviderEd.getterProviders.Add(dataProvider); } DataProviderEd.UpdateProviderLabels(); } return(dataProvider); }
private void RenameDataProvider(plyTextInputWiz wiz) { string text = wiz.text; wiz.Close(); if (!string.IsNullOrEmpty(text) && !text.Equals(this.bind.dataprovider.ident)) { if (this.NameIsUniqueInDefined(text)) { this.bind.dataprovider.ident = text; plyEdUtil.SetDirty(this.bind.dataprovider); DataProviderEd.UpdateProviderLabels(); } else { EditorUtility.DisplayDialog("Rename", "The name must be unique.", "OK"); } base.Repaint(); } }
public static void DestroyDataprovider(DataProvider p) { if (!((UnityEngine.Object)p == (UnityEngine.Object)null)) { DataProviderEd.LoadDefinedProviders(); List <DataProvider> dataProvidersForDestruction = p.GetDataProvidersForDestruction(); dataProvidersForDestruction.Add(p); for (int i = 0; i < dataProvidersForDestruction.Count; i++) { if (dataProvidersForDestruction[i].isSetter) { DataProviderEd.setterProviders.Remove(dataProvidersForDestruction[i]); } else { DataProviderEd.getterProviders.Remove(dataProvidersForDestruction[i]); } plyEdUtil.DeleteAsset(dataProvidersForDestruction[i]); } DataProviderEd.UpdateProviderLabels(); } }