/// <inheritdoc /> public override void OnDestroy() { if (IsDisposing) { return; } if (_scriptType != null) { Editor.Instance.CodeEditing.ClearTypes(); _scriptType.Dispose(); _scriptType = null; } VisualScripts.Remove(this); base.OnDestroy(); }
internal VisualScriptMethodInfo(VisualScriptType type, int index) { _type = type; _index = index; type.Asset.GetMethodSignature(index, out _name, out _flags, out var returnTypeName, out var paramNames, out var paramTypeNames, out var paramOuts); _returnType = TypeUtils.GetType(returnTypeName); if (paramNames.Length != 0) { _parameters = new ScriptMemberInfo.Parameter[paramNames.Length]; for (int i = 0; i < _parameters.Length; i++) { _parameters[i] = new ScriptMemberInfo.Parameter { Name = paramNames[i], Type = TypeUtils.GetType(paramTypeNames[i]), IsOut = paramOuts[i], }; } } else { _parameters = Utils.GetEmptyArray <ScriptMemberInfo.Parameter>(); } }
internal VisualScriptParameterInfo(VisualScriptType type, VisjectGraphParameter parameter) { _type = type; _parameter = parameter; }