public void OnAssetAddedToCollection(Object asset) { #if UNITY_EDITOR SmartReferenceBase addedVariable = asset as SmartReferenceBase; if (addedVariable != null) { variables.Add(addedVariable); if (variableSaver != null) { addedVariable.VariableSaver = variableSaver; } return; } SmartVariableSaverBase addedVariableSaver = asset as SmartVariableSaverBase; if (addedVariableSaver != null) { if (variableSaver != null) { } else { variableSaver = addedVariableSaver; foreach (SmartReferenceBase variable in variables) { variable.VariableSaver = addedVariableSaver; } } return; } #endif }
public void OnAssetRemovedFromCollection(Object asset) { #if UNITY_EDITOR SmartVariableSaverBase removedVariableSaver = asset as SmartVariableSaverBase; if (removedVariableSaver != null) { foreach (SmartReferenceBase variable in variables) { variable.VariableSaver = null; } variableSaver = null; return; } SmartReferenceBase removedVariable = asset as SmartReferenceBase; if (removedVariable != null) { removedVariable.VariableSaver = null; variables.Remove(removedVariable); return; } #endif }