namespace Unity.VisualScripting { public struct ScriptReferenceReplacement { public ScriptReference previousReference; public ScriptReference newReference; public ScriptReferenceReplacement(ScriptReference previousReference, ScriptReference newReference) { this.previousReference = previousReference; this.newReference = newReference; } public static ScriptReferenceReplacement From(ScriptReference previous) { return new ScriptReferenceReplacement(previous, ScriptReference.Existing(typeof(T))); } public static ScriptReferenceReplacement FromDll(string dllGuid) { return new ScriptReferenceReplacement(ScriptReference.Dll(dllGuid, typeof(T)), ScriptReference.Existing(typeof(T))); } public static ScriptReferenceReplacement FromCs(string csGuid) { return new ScriptReferenceReplacement(ScriptReference.Cs(csGuid), ScriptReference.Existing(typeof(T))); } public override string ToString() { return previousReference + " => " + newReference; } } }