private void UpdateReplaceList(bool isForce = false) { if (isForce == false && _statusList.Any(status => status.IsUpdateText) == false) { // 更新なし return; } var texts = new string[_statusList.Count * ReplaceProperty.Length]; for (int i = 0; i < _statusList.Count; ++i) { _statusList[i].IsUpdateText = false; var index = i * ReplaceProperty.Length; for (int j = 0; j < ReplaceProperty.Length; ++j) { texts[index + j] = _statusList[i].GetProperty(ReplaceProperty[j]).stringValue; } } var words = ReplaceProcessor.GetReplaceWords(texts); foreach (var status in _statusList) { TemplateSettingEditor.RemoveChainWords(words, status.TargetTemplateSetting.Chain); } _replaceList = TemplateSettingEditor.CreateReplaceList(_replaceList, words.ToArray()); TemplateSettingEditor.SetReplaceListFromConfigValue(_replaceList, _groupSetting.GetInstanceID().ToString()); }
public void CreateScript(List <ReplaceInfo> replaceList, bool isRefresh, ProcessDictionary result = null) { foreach (var status in _statusList) { TemplateSettingEditor.CreateScript(status, replaceList, result, isRefresh); } }
protected string ReplaceCode(ProcessDictionary result) { object obj; result.TryGetValue(result.GetLastConvertReplaceWord(TemplateSetting.ResultKey), out obj); var setting = obj as TemplateSetting; if (setting == null) { Debug.LogErrorFormat("Not {0} object", TemplateSetting.ResultKey); return(null); } var status = new TemplateSettingStatus(new SerializedObject(setting)); TemplateSettingEditor.ExecuteChain(status, result); var words = ReplaceProcessor.GetReplaceWords( status.GetProperty(TemplateSettingStatus.Property.Path).stringValue, status.GetProperty(TemplateSettingStatus.Property.ScriptName).stringValue, status.GetProperty(TemplateSettingStatus.Property.Code).stringValue ); var replaces = TemplateSettingEditor.CreateReplaceList(new List <ReplaceInfo>(0), words.ToArray()); foreach (var replace in replaces) { result.Add(replace.Key, replace.ReplaceWord); } return(TemplateSettingEditor.Replace( status.GetProperty(TemplateSettingStatus.Property.Code).stringValue, result )); }
private void DrawSetting(TemplateSettingStatus status) { EditorGUILayout.BeginVertical(EditorGUIHelper.GetScopeStyle()); { TemplateSettingEditor.DrawHeader(status); TemplateSettingEditor.DrawCode(status); TemplateSettingEditor.DrawChain(status); TemplateSettingEditor.DrawOverwrite(status); TemplateSettingEditor.DrawPrefab(status); } EditorGUILayout.EndVertical(); }
public override void OnInspectorGUI() { var isChanged = false; serializedObject.Update(); { isChanged = DrawSettingList(); EditorGUIHelper.DrawFoldouts(_foldoutList); TemplateSettingEditor.DrawReplace(_replaceList, _groupSetting.GetInstanceID().ToString()); DrawIsAssetsMenuItem(); DrawCreate(); EditorGUIHelper.DrawFoldout(_descriptionFoldout); UpdateReplaceList(); } serializedObject.ApplyModifiedProperties(); if (isChanged) { BuildSettingList(); } }