private void RenderActiveTemplateSection() { ScriptableCodeTemplate current = activeTemplate; UnityEngine.Object selectedObject = EditorGUILayout.ObjectField("Active Template:", activeTemplate, typeof(ScriptableCodeTemplate), false); ScriptableCodeTemplate selected = selectedObject as ScriptableCodeTemplate; if (selected != current) { ApplyTemplate(selected); } }
public void ApplyTemplate(ScriptableCodeTemplate template) { if (activeTemplate == template) { return; } activeTemplate = template; parameterValues.Clear(); replacedString = string.Empty; allParametersValid = false; codeParamList = new List <CodeGenerationParameter>(); if (template == null) { return; } codeParamList = ReflectionUtilities.GetFieldByName <IEnumerable <CodeGenerationParameter> >(activeTemplate, "parameters", BindingFlags.Instance | BindingFlags.NonPublic); }