// Init //-------------------------------------------------------------------- public void Init(apEditor editor, object loadKey, apMeshGroup srcMeshGroup, apTransform_Mesh srcMeshTransform, FUNC_SELECT_MESH_TF_COPY funcResult) { _editor = editor; _loadKey = loadKey; _meshGroup = srcMeshGroup; _funcResult = funcResult; _srcMeshTransform = srcMeshTransform; //타겟을 검색하자 _meshTransforms.Clear(); _img_Mesh = _editor.ImageSet.Get(apImageSet.PRESET.Hierarchy_Mesh); _img_FoldDown = _editor.ImageSet.Get(apImageSet.PRESET.Hierarchy_FoldDown); //대상이 되는 데이터를 가져온다. for (int i = 0; i < _meshGroup._renderUnits_All.Count; i++) { apRenderUnit renderUnit = _meshGroup._renderUnits_All[i]; if (renderUnit._meshTransform == null || renderUnit._meshTransform == _srcMeshTransform) { continue; } if (!_meshTransforms.Contains(renderUnit._meshTransform)) { _meshTransforms.Add(renderUnit._meshTransform); } } _meshTransforms.Reverse(); if (_copiedProperties == null) { _copiedProperties = new Dictionary <COPIED_PROPERTIES, bool>(); } _copiedProperties.Clear(); _copiedProperties.Add(COPIED_PROPERTIES.DefaultColor, false); _copiedProperties.Add(COPIED_PROPERTIES.ShaderType, false); _copiedProperties.Add(COPIED_PROPERTIES.CustomShader, false); _copiedProperties.Add(COPIED_PROPERTIES.RenderTextureSize, false); _copiedProperties.Add(COPIED_PROPERTIES.TwoSides, false); _copiedProperties.Add(COPIED_PROPERTIES.ShadowSettings, false); _copiedProperties.Add(COPIED_PROPERTIES.MaterialSet, false); _copiedProperties.Add(COPIED_PROPERTIES.MaterialProperties, false); }
// Show Window //-------------------------------------------------------------- public static object ShowDialog(apEditor editor, apMeshGroup srcMeshGroup, apTransform_Mesh srcMeshTransform, FUNC_SELECT_MESH_TF_COPY funcResult) { CloseDialog(); if (editor == null || editor._portrait == null) { return(null); } EditorWindow curWindow = EditorWindow.GetWindow(typeof(apDialog_SelectMeshTransformsToCopy), true, "Select Child Meshes", true); apDialog_SelectMeshTransformsToCopy curTool = curWindow as apDialog_SelectMeshTransformsToCopy; object loadKey = new object(); if (curTool != null && curTool != s_window) { int width = 500; int height = 600; s_window = curTool; s_window.position = new Rect((editor.position.xMin + editor.position.xMax) / 2 - (width / 2), (editor.position.yMin + editor.position.yMax) / 2 - (height / 2), width, height); s_window.Init(editor, loadKey, srcMeshGroup, srcMeshTransform, funcResult); return(loadKey); } else { return(null); } }