// ---------------------------------------------------------------------------------------------------------- protected override void SetActiveObject(int nObjectIndex) { if (nObjectIndex < 0 || m_nObjectCount <= nObjectIndex) { return; } GameObject selCurveAniObj = m_CurveAniObjects[nObjectIndex]; // right button, image Ping and not select if (Input.GetMouseButtonUp(1)) { FXMakerAsset.SetPingObject(selCurveAniObj); return; } // 같은것 재클릭 if (m_nObjectIndex == nObjectIndex) { FXMakerAsset.SetPingObject(m_CurrentCurveAnimation); FXMakerMain.inst.CreateCurrentInstanceEffect(true); return; } SetCurveAni(selCurveAniObj); FXMakerMain.inst.CreateCurrentInstanceEffect(true); m_nObjectIndex = nObjectIndex; m_nSelObjectProjectIndex = m_nProjectIndex; m_nSelObjectGroupIndex = (m_bOptionRecursively ? -1 : m_nGroupIndex); m_SelObjectContent = new GUIContent(m_ObjectContents[nObjectIndex].text, m_ObjectContents[nObjectIndex].image, m_ObjectContents[nObjectIndex].tooltip); }
public string PasteClipboardPrefab(string tarPath) { string rePath = FXMakerAsset.CopyEffectPrefab(m_PrefabObject, tarPath, m_bPrefabCutCopy); ClearClipboard(); return(rePath); }
public void SetCloneObject(int nCloneIndex, GameObject prefab) { // 扁粮 巴 昏力 if (m_ChildObjects[nCloneIndex] != null) { Object.DestroyImmediate(m_ChildObjects[nCloneIndex]); m_ChildObjects[nCloneIndex] = null; m_CloneThumbFilenames[nCloneIndex] = ""; } // 货肺款 瞒老靛 殿废 if (prefab != null) { m_ChildObjects[nCloneIndex] = NgAsset.LoadPrefab(prefab, gameObject); NgObject.SetActiveRecursively(m_ChildObjects[nCloneIndex], true); m_ChildObjects[nCloneIndex].name = m_ChildObjects[nCloneIndex].name.Replace("(Clone)", ""); // 荤侩等 prefab苞 GameObject甫 急琶茄促. FXMakerAsset.SetPingObject(prefab, m_ChildObjects[nCloneIndex]); // thumb 免仿阑 困秦辑 盔夯prefab狼 guid甫 历厘秦 敌促. m_CloneThumbFilenames[nCloneIndex] = NgAsset.GetPrefabThumbFilename(prefab); } FXMakerBackground.inst.SaveBackgroundPrefab(); }
public static void EndSpriteCapture(int nSpriteCaptureCount) { FxmSpritePopup spritePopup = FxmPopupManager.inst.GetSpritePopup(); // Save Capture FXMakerEffect.inst.SaveProject(); string path = spritePopup.EndCapture(m_SpriteTextures); // Restore gui Camera.main.backgroundColor = m_SpriteOldBackColor; FXMakerMain.inst.GetComponent <FXMakerEffect>().enabled = true; FXMakerMain.inst.GetComponentInChildren <FXMakerGizmo>().SetSpriteCaptureState(false); FXMakerMain.inst.GetFXMakerControls().SetTimeScale(m_fOldTime); // select if (spritePopup.m_bCreatePrefab) { FXMakerEffect.inst.LoadProject(path); } else { FXMakerEffect.inst.LoadProject(); if (path != "") { Object obj = AssetDatabase.LoadAssetAtPath(path, typeof(Texture)); FXMakerAsset.SetPingObject(obj); } } }
public bool SaveProject() { if (m_bChangePrefab == false) { return(false); } if (FXMakerMain.inst.GetOriginalEffectObject() == null || FXMakerMain.inst.GetOriginalEffectPrefab() == null) { return(false); } if (0 < IsReadOnlyFolder()) { NgUtil.LogMessage(FXMakerTooltip.GetHsToolMessage("READONLY_NOTSAVE", "")); } else { if (0 <= m_nEffectIndex && m_nEffectIndex < m_nEffectCount) { NgUtil.LogDevelop("SaveProject - FXMaker prefab"); m_EffectPrefabs[m_nEffectIndex] = FXMakerAsset.SaveEffectPrefab(FXMakerMain.inst.GetOriginalEffectObject(), FXMakerMain.inst.GetOriginalEffectPrefab()); // clear current FXMakerMain.inst.ClearCurrentEffectObject(m_CurrentEffectRoot, true); SetCurrentEffectPrefab(m_EffectPrefabs[m_nEffectIndex]); // Baground Reload FXMakerBackground.inst.UpdateBackground(); return(true); } } return(false); }
void CreateNewShaderMaterials(Material currentMat) { if (m_NewShaderMaterials != null && FXMakerOption.inst.m_bUpdateNewMaterial == false) { return; } // Load m_DefaultShaderMaterialsDir int nMaterialCount; m_NewShaderMaterials = NgAsset.GetMaterialList(FXMakerMain.inst.GetResourceDir(FXMakerMain.TOOLDIR_TYPE.DEFAULTSHADERMATERIALS), true, 0, out nMaterialCount); m_NewShaderMaterialContents = null; // Change Texture if (m_NewShaderMaterials != null) { foreach (Material mat in m_NewShaderMaterials) { NgMaterial.CopyMaterialArgument(currentMat, mat); } FXMakerAsset.AssetDatabaseSaveAssets(); m_nTempSaveFrameIndex = FXMakerMain.inst.GetUnityFrameCount(); m_NewShaderMaterialContents = new GUIContent[m_NewShaderMaterials.Length]; // build content BuildNewShaderContents(); } }
public void SetCurrentEffectPrefab(GameObject setPrefab, GameObject effectRoot, bool bUpdateOnlyPrefab) { if (m_bApplicationQuit) return; if (IsStartTooMain() || setPrefab == null) return; m_OriginalEffectPrefab = setPrefab; if (bUpdateOnlyPrefab) return; NcEffectBehaviour.PreloadTexture(setPrefab); m_OriginalEffectObject = NgAsset.LoadPrefab(setPrefab, effectRoot); m_OriginalEffectObject.name = m_OriginalEffectObject.name.Replace("(Clone)", "(Original)"); NgObject.SetActiveRecursively(m_OriginalEffectObject, false); if (IsLoadingProject() == false) FXMakerAsset.SetPingObject(m_OriginalEffectObject); // EffectHierarchy if (GetFXMakerHierarchy() != null) GetFXMakerHierarchy().ShowHierarchy(m_OriginalEffectObject); // Create ShowObject CreateCurrentInstanceEffect(true); }
void ClonePrefab() { SaveProject(); string createPath = FXMakerAsset.CloneEffectPrefab(FXMakerMain.inst.GetOriginalEffectPrefab()); SelectToolbar(m_nProjectIndex, GetGroupIndex(), createPath); }
public void SetCloneObject(int nCloneIndex, GameObject prefab) { // 기존 것 삭제 if (m_ChildObjects[nCloneIndex] != null) { Object.DestroyImmediate(m_ChildObjects[nCloneIndex]); m_ChildObjects[nCloneIndex] = null; m_CloneThumbFilenames[nCloneIndex] = ""; } // 새로운 차일드 등록 if (prefab != null) { m_ChildObjects[nCloneIndex] = NgAsset.LoadPrefab(prefab, gameObject); NgObject.SetActiveRecursively(m_ChildObjects[nCloneIndex], true); m_ChildObjects[nCloneIndex].name = m_ChildObjects[nCloneIndex].name.Replace("(Clone)", ""); // 사용된 prefab과 GameObject를 선택한다. FXMakerAsset.SetPingObject(prefab, m_ChildObjects[nCloneIndex]); // thumb 출력을 위해서 원본prefab의 guid를 저장해 둔다. m_CloneThumbFilenames[nCloneIndex] = NgAsset.GetPrefabThumbFilename(prefab); } FXMakerBackground.inst.SaveBackgroundPrefab(); }
void ClonePrefab() { SaveProject(); string createPath = FXMakerAsset.CloneEffectPrefab(m_BackgroundPrefabs[m_nBackgroundIndex]); SelectToolbar(m_nGroupIndex, createPath); }
void SaveAddCurvePrefab(bool bOverwrite) { if (m_nProjectIndex < 0) { return; } GameObject saveObj = (GameObject)PrefabUtility.InstantiatePrefab(m_CurveAniObjects[m_nProjectIndex]); NcCurveAnimation saveCom; int nSaveIndex; // add component if (m_bOnlyCurve) { saveCom = saveObj.GetComponent <NcCurveAnimation>(); if (saveCom == null) { saveCom = saveObj.AddComponent <NcCurveAnimation>(); } } else { NcCurveAnimation[] curveAnis = saveObj.GetComponents <NcCurveAnimation>(); if (curveAnis.Length < NcCurveAnimation.NcInfoCurve.m_TypeName.Length) { for (int n = curveAnis.Length; n < NcCurveAnimation.NcInfoCurve.m_TypeName.Length; n++) { saveObj.AddComponent <NcCurveAnimation>(); } curveAnis = saveObj.GetComponents <NcCurveAnimation>(); } saveCom = curveAnis[(int)m_OriCurveInfo.m_ApplyType]; } if (bOverwrite) { // update curve nSaveIndex = m_CurveInfos[m_nObjectIndex].m_nTag; saveCom.SetCurveInfo(nSaveIndex, m_OriCurveInfo); nSaveIndex = m_nObjectIndex; } else { // add curve nSaveIndex = saveCom.AddCurveInfo(m_OriCurveInfo); } saveCom.SortCurveInfo(); // change Enabled saveCom.GetCurveInfo(nSaveIndex).m_bEnabled = true; PrefabUtility.ReplacePrefab(saveObj, m_CurveAniObjects[m_nProjectIndex]); FXMakerAsset.AssetDatabaseSaveAssets(); DestroyImmediate(saveObj); }
void SetSelectedTransformMaterial(Material selMaterial) { Material[] mats = m_SelectedTransform.GetComponent <Renderer>().sharedMaterials; m_SelectedMaterial = selMaterial; mats[m_nSelRendererMatIndex] = selMaterial; m_SelectedTransform.GetComponent <Renderer>().sharedMaterials = mats; // m_SelectedTransform.renderer.sharedMaterial = selMaterial; FXMakerHierarchy.inst.SetActiveComponent(m_SelectedTransform.gameObject, m_SelectedMaterial, false); FXMakerAsset.SetPingObject(m_SelectedMaterial); }
public void SetPingObject(int nChildIndex) { if (nChildIndex < FXMakerBackground.m_CloneTypeCount) { FXMakerAsset.SetPingObject(m_ChildObjects[nChildIndex]); } else { FXMakerAsset.SetPingObject(m_ReferenceObjects[nChildIndex - FXMakerBackground.m_CloneTypeCount]); } }
void DeleteCurveInfo(int nIndex) { GameObject saveObj = (GameObject)PrefabUtility.InstantiatePrefab(m_CurveAniObjects[m_nProjectIndex]); if (m_bOnlyCurve) { NcCurveAnimation saveCom = saveObj.GetComponent <NcCurveAnimation>(); if (saveCom != null) { saveCom.DeleteCurveInfo(m_CurveInfos[nIndex].m_nTag); } } else { NcCurveAnimation[] curveAnis = saveObj.GetComponents <NcCurveAnimation>(); NcCurveAnimation.NcInfoCurve delCurveInfo = m_CurveInfos[nIndex]; foreach (NcCurveAnimation curveAni in curveAnis) { List <NcCurveAnimation.NcInfoCurve> curveInfoList = curveAni.m_CurveInfoList; for (int n = 0; n < curveInfoList.Count; n++) { NcCurveAnimation.NcInfoCurve curveInfo = curveInfoList[n]; if (curveInfo.m_ApplyType == delCurveInfo.m_ApplyType && curveInfo.m_nTag == delCurveInfo.m_nTag) { curveInfoList.Remove(curveInfo); break; } } } } PrefabUtility.ReplacePrefab(saveObj, m_CurveAniObjects[m_nProjectIndex]); FXMakerAsset.AssetDatabaseSaveAssets(); DestroyImmediate(saveObj); // update scrolllist int nObjectIndex = m_nObjectIndex; if (nIndex < m_nObjectIndex) { nObjectIndex = m_nObjectIndex - 1; } if (nIndex == m_nObjectIndex) { nObjectIndex = -1; } LoadObjects(); m_nObjectIndex = nObjectIndex; }
void RenameCurrentPrefab(string newName) { if (newName != m_BackgroundContents[m_nBackgroundIndex].text) { newName = newName.Trim(); if (newName != "") { SaveProject(); m_BackgroundContents[m_nBackgroundIndex].text = newName; m_BackgroundPrefabs[m_nBackgroundIndex].name = newName; m_CurrentBackgroundInfo.gameObject.name = newName; FXMakerAsset.RenameEffectPrefab(m_CurrentBackgroundInfo.gameObject, m_BackgroundPrefabs[m_nBackgroundIndex], newName); } } }
// ---------------------------------------------------------------------------------------------------------- protected override void SetActiveObject(int nObjectIndex) { if (nObjectIndex < 0 || m_nObjectCount <= nObjectIndex) { return; } Texture selTexture = GetObjectNodeTexture(nObjectIndex); bool bMaskTex = false; // right button, image Ping and not select if (Input.GetMouseButtonUp(1)) { if (m_SelectedMaterial != null && NgMaterial.IsMaskTexture(m_SelectedMaterial)) { m_nSelMaskTextureIndex = nObjectIndex; bMaskTex = true; } else { FXMakerAsset.SetPingObject(selTexture); return; } } else { m_nSelMainTextureIndex = nObjectIndex; } // // ������ ��Ŭ�� // if (m_nObjectIndex == nObjectIndex) // { // FXMakerAsset.SetPingObject(m_SelectedMaterial); // FXMakerMain.inst.CreateCurrentInstanceEffect(true); // return; // } SetActiveObject(selTexture, bMaskTex); // GUI Update m_nObjectIndex = nObjectIndex; m_nSelObjectProjectIndex = m_nProjectIndex; m_nSelObjectGroupIndex = (m_bOptionRecursively ? -1 : m_nGroupIndex); m_SelObjectContent = new GUIContent(m_ObjectContents[nObjectIndex].text, m_ObjectContents[nObjectIndex].image, m_ObjectContents[nObjectIndex].tooltip); }
public void RenameCurrentPrefab(string newName) { if (FXMakerMain.inst.IsCurrentEffectObject() && 0 <= m_nEffectIndex && m_nEffectIndex < m_nEffectCount) { if (newName != m_EffectContents[m_nEffectIndex].text) { newName = newName.Trim(); if (newName != "") { SaveProject(); m_EffectContents[m_nEffectIndex].text = newName; m_EffectPrefabs[m_nEffectIndex].name = newName; FXMakerMain.inst.GetOriginalEffectObject().name = newName; FXMakerAsset.RenameEffectPrefab(FXMakerMain.inst.GetOriginalEffectObject(), FXMakerMain.inst.GetOriginalEffectPrefab(), newName); } } } }
void SaveCurrentObjectToPrefabFile() { if (m_nProjectIndex < 0) return; if (FXMakerEffect.inst.m_DefaultEmptyPrefab == null) { Debug.LogError("FXMakerMain.m_DefaultEmptyPrefab is null"); return; } string dstPath = NgFile.CombinePath(m_LoadDirectory, m_SaveFilename + ".prefab"); dstPath = NgAsset.CreateDefaultUniquePrefab(FXMakerEffect.inst.m_DefaultEmptyPrefab, dstPath); GameObject newPrefab = NgAsset.LoadPrefab(dstPath); PrefabUtility.ReplacePrefab(m_SelectedTransform.gameObject, newPrefab); FXMakerAsset.AssetDatabaseSaveAssets(); }
void SetCurrentBackgroundInfo(GameObject setPrefab) { // clear current NgObject.RemoveAllChildObject(m_CurrentBackgroundRoot, true); if (m_CurrentBackgroundInfo != null) { DestroyImmediate(m_CurrentBackgroundInfo.gameObject); } if (setPrefab != null) { GameObject obj = NgAsset.LoadPrefab(setPrefab, m_CurrentBackgroundRoot); obj.name = obj.name.Replace("(Clone)", "(Original)"); m_CurrentBackgroundInfo = obj.GetComponent <FxmInfoBackground>(); m_CurrentBackgroundInfo.SetActive(); if (FXMakerMain.inst.IsLoadingProject() == false) { FXMakerAsset.SetPingObject(setPrefab, m_CurrentBackgroundInfo); } FXMakerMain.inst.GetFXMakerMouse().UpdateCamera(); } }
void SaveCurveAniToPrefabFile() { if (m_nProjectIndex < 0) { return; } if (m_DefaultSavePrefab == null) { Debug.LogError("FxmFolderPopup_NcCurveAnimation.m_DefaultSavePrefab is null"); return; } string dstPath = NgFile.CombinePath(m_LoadDirectory, m_NcCurveAni_FileKeyword + m_SaveFilename + ".prefab"); dstPath = NgAsset.CreateDefaultUniquePrefab(m_DefaultSavePrefab, dstPath); GameObject newPrefab = NgAsset.LoadPrefab(dstPath); NcCurveAnimation newCom = newPrefab.AddComponent <NcCurveAnimation>(); m_CurrentCurveAnimation.CopyTo(newCom, false); FXMakerAsset.AssetDatabaseSaveAssets(); }
// ---------------------------------------------------------------------------------------------------------- protected override void SetActiveObject(int nObjectIndex) { if (nObjectIndex < 0 || m_nObjectCount <= nObjectIndex) { return; } bool bAppend = false; GameObject selPrefab = GetObjectNodePrefab(nObjectIndex); // right button, image Ping and not select if (Input.GetMouseButtonUp(1)) { if (m_bDialogType == DIALOG_TYPE.ADD && FXMakerOption.inst.m_PrefabDlg_RightClick == FXMakerOption.DLG_RIGHTCLICK.APPEND) { bAppend = true; } else { // if (m_bDialogType == DIALOG_TYPE.SELECT == false) FXMakerAsset.SetPingObject(selPrefab); return; } } // 같은것 재클릭 if (m_nObjectIndex == nObjectIndex) { // if (m_bDialogType != DIALOG_TYPE.SELECT) FXMakerAsset.SetPingObject(m_AddGameObject); FXMakerMain.inst.CreateCurrentInstanceEffect(true); return; } if (m_bDialogType == DIALOG_TYPE.SELECT) { m_AddPrefabObject = selPrefab; m_AddGameObject = selPrefab; if (m_bSelectMeshDialog) { MeshFilter meshFilter = m_AddPrefabObject.GetComponent <MeshFilter>(); if (meshFilter != null && meshFilter.sharedMesh != null) { NgSerialized.SetMesh(m_SelectMeshComponent, meshFilter.sharedMesh, true); FXMakerHierarchy.inst.UpdateMeshList(); } } else { SetAttachPrefab(selPrefab); } FXMakerMain.inst.CreateCurrentInstanceEffect(true); } else { if (bAppend == false) { // 기존것 삭제 if (m_AddGameObject != null) { m_AddGameObjectList.Remove(m_AddGameObject); DestroyImmediate(m_AddGameObject); m_AddGameObject = null; } } // create m_AddPrefabObject = selPrefab; m_AddGameObject = FXMakerHierarchy.inst.AddGameObject(m_SelectedTransform.gameObject, selPrefab); m_AddGameObjectList.Insert(0, m_AddGameObject); if (FXMakerHierarchy.inst.SetActiveGameObject(m_AddGameObject) == false) { FXMakerMain.inst.CreateCurrentInstanceEffect(true); } } m_nObjectIndex = nObjectIndex; m_nSelObjectProjectIndex = m_nProjectIndex; m_nSelObjectGroupIndex = (m_bOptionRecursively ? -1 : m_nGroupIndex); m_SelObjectContent = new GUIContent(m_ObjectContents[nObjectIndex].text, m_ObjectContents[nObjectIndex].image, m_ObjectContents[nObjectIndex].tooltip); }
void DrawBottomMaterialRect(Rect baseRect) { int nVMargin = 4; GUIStyle styleBox = GUI.skin.GetStyle("MaterialList_Box"); GUIStyle styleButton = GUI.skin.GetStyle("ImageOnly_Button"); // Draw line NgGUIDraw.DrawHorizontalLine(new Vector2(baseRect.x + nVMargin, baseRect.y + nVMargin), (int)baseRect.width, new Color(0.1f, 0.1f, 0.1f, 0.7f), 2, false); baseRect = FXMakerLayout.GetOffsetRect(baseRect, 0, nVMargin * 2, 0, -nVMargin); int nObjectCount; Rect listRect; int nColumn; Rect scrollRect; Rect gridRect; int nSelectIndex; bool bShowList = true; // (0 <= m_nObjectIndex && m_nSelObjectProjectIndex == m_nProjectIndex && m_nGroupIndex == m_nSelObjectGroupIndex); // New Shader Material List ------------------------------------------------------ listRect = FXMakerLayout.GetInnerHorizontalRect(baseRect, 2, 0, 1); GUI.Box(listRect, GetHelpContent("New Shader Material"), styleBox); if (bShowList && m_NewShaderMaterials != null && 0 < m_NewShaderMaterials.Length) { listRect = FXMakerLayout.GetOffsetRect(listRect, 5, 15, -5, -3); nColumn = (int)((listRect.width - 5) / listRect.height * 2.3f); nObjectCount = m_NewShaderMaterials.Length; scrollRect = FXMakerLayout.GetAspectScrollViewRect((int)listRect.width, m_fButtonAspect, nObjectCount, nColumn, true); gridRect = FXMakerLayout.GetAspectScrollGridRect((int)listRect.width, m_fButtonAspect, nObjectCount, nColumn, true); m_NewShaderMaterialListScrollPos = GUI.BeginScrollView(listRect, m_NewShaderMaterialListScrollPos, scrollRect); // nSelectIndex = GUI.SelectionGrid(gridRect, m_nNewShaderMaterialIndex, m_NewShaderMaterialContents, nColumn, styleButton); nSelectIndex = FXMakerLayout.TooltipSelectionGrid(FXMakerLayout.GetOffsetRect(GetPopupRect(), 0, -m_NewShaderMaterialListScrollPos.y), listRect, gridRect, m_nNewShaderMaterialIndex, m_NewShaderMaterialContents, nColumn, styleButton); if (m_nNewShaderMaterialIndex != nSelectIndex) { if (Input.GetMouseButtonUp(1)) { FXMakerAsset.SetPingObject(m_NewShaderMaterials[nSelectIndex]); } else { m_nNewShaderMaterialIndex = nSelectIndex; if (m_SelectedMaterial != null) { NgMaterial.CopyMaterialArgument(m_SelectedMaterial, m_NewShaderMaterials[nSelectIndex]); } SetActiveMaterial(m_NewShaderMaterials[nSelectIndex], null, true, false); } } GUI.EndScrollView(); } // Found Material List ------------------------------------------------------ listRect = FXMakerLayout.GetInnerHorizontalRect(baseRect, 2, 1, 1); GUI.Box(listRect, GetHelpContent("Found Material"), styleBox); if (bShowList && m_CurrentTextureMaterials != null && 0 < m_CurrentTextureMaterials.Length) { listRect = FXMakerLayout.GetOffsetRect(listRect, 5, 15, -5, -3); nColumn = (int)((listRect.width - 5) / listRect.height * 2.3f); nObjectCount = m_CurrentTextureMaterials.Length; scrollRect = FXMakerLayout.GetAspectScrollViewRect((int)listRect.width, m_fButtonAspect, nObjectCount, nColumn, true); gridRect = FXMakerLayout.GetAspectScrollGridRect((int)listRect.width, m_fButtonAspect, nObjectCount, nColumn, true); m_CurrentTextureMaterialListScrollPos = GUI.BeginScrollView(listRect, m_CurrentTextureMaterialListScrollPos, scrollRect); // nSelectIndex = GUI.SelectionGrid(gridRect, m_nCurrentTextureMaterialIndex, m_CurrentTextureMaterialContents, nColumn, styleButton); nSelectIndex = FXMakerLayout.TooltipSelectionGrid(FXMakerLayout.GetOffsetRect(GetPopupRect(), 0, -m_CurrentTextureMaterialListScrollPos.y), listRect, gridRect, m_nCurrentTextureMaterialIndex, m_CurrentTextureMaterialContents, nColumn, styleButton); if (m_nCurrentTextureMaterialIndex != nSelectIndex) { if (Input.GetMouseButtonUp(1)) { FXMakerAsset.SetPingObject(m_NewShaderMaterials[nSelectIndex]); } else { m_nCurrentTextureMaterialIndex = nSelectIndex; SetActiveMaterial(m_CurrentTextureMaterials[nSelectIndex], null, false, false); } } GUI.EndScrollView(); } }
void SaveMaterial(Material addMat) { string path = ""; string newPath = ""; string uniquePath; Object existsObj; int nUniqueCount = 0; // Find Same Material if (m_bUniqueSave == false && m_SelectedTextureMaterials != null) { foreach (Material mat in m_SelectedTextureMaterials) { if (NgMaterial.IsSameMaterial(mat, addMat, false)) { NgUtil.LogMessage(FXMakerTooltip.GetHsToolMessage("MATERIAL_EXISTSAVED", "")); SetSelectedTransformMaterial(mat); return; } } } // Create Path bool bUseDefaultFolder = false; string devMatDir = "_MaterialsTool"; string userMatDir = "_MaterialsUser"; string matDir; if (FXMakerLayout.m_bDevelopState) { matDir = devMatDir; } else { matDir = userMatDir; } if ((addMat.mainTexture != null)) { path = AssetDatabase.GetAssetPath(addMat.mainTexture); if (path == "") { bUseDefaultFolder = true; } else { newPath = NgFile.CombinePath(NgFile.TrimFilenameExt(path), matDir); // Default SubDirectory if (NgAsset.ExistsDirectory(newPath) == false) { AssetDatabase.CreateFolder(NgFile.TrimFilenameExt(path), matDir); } } } else { newPath = NgFile.TrimFilenameExt(AssetDatabase.GetAssetPath(m_OriMaterial)); if (newPath == "") { bUseDefaultFolder = true; } else { string tmpPath = NgFile.TrimLastFolder(newPath); string tmpLast = NgFile.GetLastFolder(newPath); if (FXMakerLayout.m_bDevelopState) { if (tmpLast != devMatDir) { newPath = NgFile.CombinePath(tmpPath, devMatDir); if (NgAsset.ExistsDirectory(newPath) == false) { AssetDatabase.CreateFolder(tmpPath, matDir); } } } else { if (tmpLast != userMatDir) { newPath = NgFile.CombinePath(tmpPath, userMatDir); if (NgAsset.ExistsDirectory(newPath) == false) { AssetDatabase.CreateFolder(tmpPath, matDir); } } } } } if (bUseDefaultFolder) { path = FXMakerMain.inst.GetResourceDir(FXMakerMain.TOOLDIR_TYPE.BACKGROUNDRESOURCES); newPath = NgFile.CombinePath(path, matDir); // Default SubDirectory if (NgAsset.ExistsDirectory(newPath) == false) { AssetDatabase.CreateFolder(path, matDir); } } // Unique Name string texname = addMat.name; if (addMat.mainTexture != null) { texname = addMat.mainTexture.name; } int nLoopCount = 0; while (true) { string matName = texname + (0 < nUniqueCount ? "_" + nUniqueCount.ToString() : "") + ".mat"; uniquePath = NgFile.CombinePath(newPath, matName); existsObj = AssetDatabase.LoadAssetAtPath(uniquePath, typeof(Material)); if (existsObj == null) { break; } nLoopCount++; nUniqueCount++; if (999 < nUniqueCount) { nUniqueCount = 1; } if (999 < nLoopCount) { Debug.LogError("Over Loop ----------------------"); return; } } AssetDatabase.CreateAsset(addMat, uniquePath); NgUtil.LogMessage(FXMakerTooltip.GetHsToolMessage("MATERIAL_NEWSAVED", "") + "\n" + uniquePath); FXMakerAsset.AssetDatabaseRefresh(); FXMakerAsset.AssetDatabaseSaveAssets(); }
void DrawBottomMenuRect(Rect baseRect) { GUI.Box(baseRect, ""); Rect imageRect = baseRect; imageRect.width = m_nOriginalBottomHeight - 1; Rect rightRect = baseRect; rightRect.x += imageRect.width; rightRect.width -= imageRect.width; rightRect = FXMakerLayout.GetOffsetRect(rightRect, 5, 3, -5, -3); Rect buttonRect = FXMakerLayout.GetInnerVerticalRect(rightRect, 12, 0, 5); int nButtonWidht = 70; buttonRect.width = nButtonWidht / 2; if (m_SelectedMaterial != null && m_SelObjectContent != null) { // image if (GUI.Button(imageRect, new GUIContent("", m_SelObjectContent.image, m_SelObjectContent.tooltip), GUI.skin.GetStyle("PopupBottom_ImageButton"))) { if (Input.GetMouseButtonUp(0)) { if (0 <= m_nNewShaderMaterialIndex) { FXMakerAsset.SetPingObject(m_SelectedTransform.gameObject); } else { FXMakerAsset.SetPingObject(m_SelectedMaterial); } FXMakerMain.inst.CreateCurrentInstanceEffect(true); } if (Input.GetMouseButtonUp(1)) { FXMakerAsset.SetPingObject(m_SelObjectContent.image); } } // Current Color Color matColor = NgMaterial.GetMaterialColor(m_SelectedMaterial); Rect colorRect = FXMakerLayout.GetOffsetRect(FXMakerLayout.GetInnerVerticalRect(rightRect, 12, 5, 7), 0, 2, 0, 0); colorRect.width = nButtonWidht / 2; if (NgMaterial.IsMaterialColor(m_SelectedMaterial)) { EditorGUIUtility.DrawColorSwatch(colorRect, matColor); } // text rightRect.x += colorRect.width; rightRect.width -= colorRect.width; GUI.Label(FXMakerLayout.GetInnerVerticalRect(rightRect, 12, 5, 3), m_SelObjectContent.text); GUI.Label(FXMakerLayout.GetInnerVerticalRect(rightRect, 12, 7, 5), (m_SelectedMaterial.shader != null ? m_SelectedMaterial.shader.name : "[Not Selected]")); bool bChange = (NgMaterial.IsSameMaterial(m_SelectedMaterial, m_OriMaterial, true) == false); // Undo if (FXMakerLayout.GUIButton(buttonRect, GetHelpContent("Undo"), bChange)) { UndoObject(); return; } // UniqueSave buttonRect.x += buttonRect.width + 5; buttonRect.width = nButtonWidht; if (FXMakerLayout.GUIButton(buttonRect, GetHelpContent("UniqueSave"), bChange)) { m_bUniqueSave = true; ClosePopup(true); return; } } // close buttonRect.x += buttonRect.width + 5; buttonRect.width = baseRect.width - buttonRect.x; if (GUI.Button(buttonRect, GetHelpContent("Close"))) { ClosePopup(true); } // ���õȰ�, ������, ��ġ, ȸ��, ����, �ݱ�, ��� }
// ========================================================================================================== void winEffectList(int id) { if (GetGroupIndex() < 0) { return; } Rect effectRect = FXMakerLayout.GetEffectListRect(); // window desc ----------------------------------------------------------- FXMakerTooltip.WindowDescription(effectRect, FXMakerLayout.WINDOWID.EFFECT_LIST, null); // mini ---------------------------------------------------------------- m_bMinimize = GUI.Toggle(new Rect(3, 1, FXMakerLayout.m_fMinimizeClickWidth, FXMakerLayout.m_fMinimizeClickHeight), m_bMinimize, "Mini"); GUI.changed = false; if (FXMakerLayout.m_bMinimizeAll || m_bMinimize) { RenameCurrentPrefab(m_EditingName); FXMakerMain.inst.SaveTooltip(); return; } // 扁瓷 滚瓢 ----------------------------------------------------------- Rect rect1Row = new Rect(FXMakerLayout.m_rectInnerMargin.x, 20, effectRect.width - FXMakerLayout.m_rectInnerMargin.x * 2, 25); Rect rect2Row = new Rect(FXMakerLayout.m_rectInnerMargin.x, 50, effectRect.width - FXMakerLayout.m_rectInnerMargin.x * 2, 20); Rect rect3Row = new Rect(FXMakerLayout.m_rectInnerMargin.x, 75, effectRect.width - FXMakerLayout.m_rectInnerMargin.x * 2, 12); // Add button if (m_nEffectCount < FXMakerLayout.m_nMaxPrefabListCount) { if (FXMakerLayout.GUIButton(FXMakerLayout.GetInnerHorizontalRect(rect1Row, 5, 0, 1), FXMakerTooltip.GetHcToolEffect("New"), IsReadOnlyFolder() == 0)) { RenameCurrentPrefab(m_EditingName); ShowNewMenu(); return; } } if (m_nEffectCount <= 0) { // right button if (Input.GetMouseButtonUp(1)) { ShowRightMenu(-1, false); } return; } // Selected state bool bEnable = (FXMakerMain.inst.IsCurrentEffectObject() && IsReadOnlyFolder() == 0); // Delete button if (FXMakerLayout.GUIButton(FXMakerLayout.GetInnerHorizontalRect(rect1Row, 5, 1, 1), FXMakerTooltip.GetHcToolEffect("Del"), bEnable)) { RenameCurrentPrefab(m_EditingName); m_bProcessDelete = true; } if (m_bProcessDelete) { m_bProcessDelete = FxmPopupManager.inst.ShowModalOkCancelMessage("'" + m_EffectContents[m_nEffectIndex].text + "'\n" + FXMakerTooltip.GetHsToolMessage("DIALOG_DELETEPREFAB", "")); if (m_bProcessDelete == false) { if (FxmPopupManager.inst.GetModalMessageValue() == FXMakerLayout.MODALRETURN_TYPE.MODALRETURN_OK) { NcSpriteAnimation spriteCom = FXMakerMain.inst.GetOriginalEffectPrefab().GetComponent <NcSpriteAnimation>(); if (spriteCom != null && spriteCom.m_bBuildSpriteObj && spriteCom.GetComponent <Renderer>().sharedMaterial != null) { m_bProcessDelSprite = true; } else { GameObject deletePrefab = FXMakerMain.inst.ClearCurrentEffectObject(m_CurrentEffectRoot, true); FXMakerAsset.DeleteEffectPrefab(deletePrefab); SelectToolbar(m_nProjectIndex, GetGroupIndex(), m_nEffectIndex); return; } } } } if (m_bProcessDelSprite) { m_bProcessDelSprite = FxmPopupManager.inst.ShowModalOkCancelMessage("'" + m_EffectContents[m_nEffectIndex].text + "'\n" + FXMakerTooltip.GetHsToolMessage("DIALOG_DELETESPRITE", "")); if (m_bProcessDelSprite == false) { if (FxmPopupManager.inst.GetModalMessageValue() == FXMakerLayout.MODALRETURN_TYPE.MODALRETURN_OK) { // delete material, texture NcSpriteAnimation spriteCom = FXMakerMain.inst.GetOriginalEffectPrefab().GetComponent <NcSpriteAnimation>(); if (spriteCom.GetComponent <Renderer>().sharedMaterial.mainTexture != null) { string path = AssetDatabase.GetAssetPath(spriteCom.GetComponent <Renderer>().sharedMaterial.mainTexture); AssetDatabase.MoveAssetToTrash(path); // AssetDatabase.DeleteAsset(path); } string matpath = AssetDatabase.GetAssetPath(spriteCom.GetComponent <Renderer>().sharedMaterial); AssetDatabase.MoveAssetToTrash(matpath); // AssetDatabase.DeleteAsset(matpath); } // delete prefab GameObject deletePrefab = FXMakerMain.inst.ClearCurrentEffectObject(m_CurrentEffectRoot, true); FXMakerAsset.DeleteEffectPrefab(deletePrefab); SelectToolbar(m_nProjectIndex, GetGroupIndex(), m_nEffectIndex); return; } } // Clone button if (FXMakerLayout.GUIButton(FXMakerLayout.GetInnerHorizontalRect(rect1Row, 5, 2, 1), FXMakerTooltip.GetHcToolEffect("Clone"), bEnable)) { RenameCurrentPrefab(m_EditingName); ClonePrefab(); return; } // Capture Thumb button if (FXMakerLayout.GUIButton(FXMakerLayout.GetInnerHorizontalRect(rect1Row, 5, 3, 1), FXMakerTooltip.GetHcToolEffect("Thumb"), bEnable)) { RenameCurrentPrefab(m_EditingName); ThumbPrefab(); return; } // // History button // if (FXMakerLayout.GUIButton(FXMakerLayout.GetInnerHorizontalRect(rect1Row, 5, 4, 1), FXMakertip.GetHcToolEffect("History"), bEnable)) // { // SetActiveEffect(m_nEffectIndex); // return; // } // Sprite button if (FXMakerLayout.GUIButton(FXMakerLayout.GetInnerHorizontalRect(rect1Row, 5, 4, 1), FXMakerTooltip.GetHcToolEffect("Sprite"), bEnable)) { RenameCurrentPrefab(m_EditingName); SpritePrefab(); return; } // Selected state if (FXMakerMain.inst.IsCurrentEffectObject()) { // ChangeName if (FXMakerMain.inst.IsCurrentEffectObject() && 0 <= m_nEffectIndex && m_nEffectIndex < m_nEffectCount) { GUI.SetNextControlName("TextField"); FXMakerLayout.GUIEnableBackup(IsReadOnlyFolder() == 0); // FXMakerMain.inst.ToggleGlobalLangSkin(true); m_EditingName = GUI.TextField(FXMakerLayout.GetInnerHorizontalRect(rect2Row, 4, 0, 4), m_EditingName, 50); // FXMakerMain.inst.ToggleGlobalLangSkin(false); FXMakerLayout.GUIEnableRestore(); bool bEnterKey = (Event.current.isKey && (Event.current.keyCode == KeyCode.Return || Event.current.keyCode == KeyCode.KeypadEnter)); if (bEnterKey || (FXMakerMain.GetPrevWindowFocus() == (int)FXMakerLayout.WINDOWID.EFFECT_LIST && FXMakerMain.GetWindowFocus() != (int)FXMakerLayout.WINDOWID.EFFECT_LIST)) { RenameCurrentPrefab(m_EditingName); } } } // Resize -------------------------------------------------------------- bool bChangeScrollColumn = false; m_nScrollColumn = (int)GUI.HorizontalScrollbar(rect3Row, m_nScrollColumn, 1, 1, m_nMaxObjectColumn + 1); if (GUI.changed) { UnityEditor.EditorPrefs.SetInt("FXMakerEffect.Effect_nScrollColumn", m_nScrollColumn); bChangeScrollColumn = true; Rect rect = FXMakerLayout.GetAspectScrollViewRect((int)rect3Row.width, FXMakerLayout.m_fScrollButtonAspect, m_nEffectCount, m_nScrollColumn, false); m_EffectListScrollPos.y = rect.height * (m_nEffectIndex - m_nScrollColumn) / (float)m_nEffectCount; } // Draw line Rect lineRect = rect3Row; lineRect.y = rect3Row.yMax + 5; lineRect.height = 3; NgGUIDraw.DrawHorizontalLine(new Vector2(lineRect.x, lineRect.y), (int)lineRect.width, new Color(0.1f, 0.1f, 0.1f, 0.7f), 2, false); // Effect List ------------------------------------------------------ Rect listRect = FXMakerLayout.GetChildVerticalRect(effectRect, m_nGuiTopHeight, 1, 0, 1); Rect scrollRect = FXMakerLayout.GetAspectScrollViewRect((int)listRect.width, FXMakerLayout.m_fScrollButtonAspect, m_nEffectCount, m_nScrollColumn, false); Rect gridRect = FXMakerLayout.GetAspectScrollGridRect((int)listRect.width, FXMakerLayout.m_fScrollButtonAspect, m_nEffectCount, m_nScrollColumn, false); m_EffectListScrollPos = GUI.BeginScrollView(listRect, m_EffectListScrollPos, scrollRect); // FXMakerMain.inst.ToggleGlobalLangSkin(true); // int nEffectIndex = GUI.SelectionGrid(listRect, m_nEffectIndex, m_EffectNameStrings, m_nScrollColumn); // int nEffectIndex = GUI.SelectionGrid(gridRect, m_nEffectIndex, m_EffectContents, m_nScrollColumn); int nEffectIndex = FXMakerLayout.TooltipSelectionGrid(FXMakerLayout.GetOffsetRect(effectRect, 0, -m_EffectListScrollPos.y), listRect, gridRect, m_nEffectIndex, m_EffectContents, m_nScrollColumn); // FXMakerMain.inst.ToggleGlobalLangSkin(false); // move key if (FXMakerMain.inst.GetFocusInputKey(FXMakerLayout.GetWindowId(FXMakerLayout.WINDOWID.EFFECT_LIST)) != 0) { switch (FXMakerMain.inst.GetFocusInputKey(FXMakerLayout.GetWindowId(FXMakerLayout.WINDOWID.EFFECT_LIST))) { case KeyCode.LeftArrow: nEffectIndex--; FXMakerMain.inst.SetFocusInputKey(0); break; case KeyCode.RightArrow: nEffectIndex++; FXMakerMain.inst.SetFocusInputKey(0); break; case KeyCode.UpArrow: nEffectIndex -= m_nScrollColumn; FXMakerMain.inst.SetFocusInputKey(0); break; case KeyCode.DownArrow: nEffectIndex += m_nScrollColumn; FXMakerMain.inst.SetFocusInputKey(0); break; } if (nEffectIndex < 0) { nEffectIndex = 0; } if (m_nEffectCount <= nEffectIndex) { nEffectIndex = m_nEffectCount - 1; } } // select if ((bChangeScrollColumn == false && GUI.changed) || m_nEffectIndex != nEffectIndex) { RenameCurrentPrefab(m_EditingName); // right button if (Input.GetMouseButtonUp(1)) { ShowRightMenu(nEffectIndex, true); } // active NgUtil.LogDevelop("changed m_nEffectIndex - id = " + id + ", value = " + m_EffectContents[nEffectIndex].text); if (nEffectIndex == m_nEffectIndex && FXMakerMain.inst.IsCurrentEffectObject()) { FXMakerMain.inst.CreateCurrentInstanceEffect(true); } else { SetActiveEffect(nEffectIndex); } } else { // right button if (Input.GetMouseButtonUp(1)) { RenameCurrentPrefab(m_EditingName); ShowRightMenu(-1, false); } } GUI.EndScrollView(); FXMakerMain.inst.SaveTooltip(); }
void PingPrefab() { // if (IsLoadingProject() == false) // if (Input.GetMouseButtonUp(1)) FXMakerAsset.SetPingObject(FXMakerMain.inst.GetOriginalEffectPrefab()); }
// ========================================================================================================== protected override void DrawBottomRect(Rect baseRect) { GUI.Box(baseRect, ""); GUIContent guiCon; Rect imageRect = baseRect; imageRect.width = FXMakerLayout.GetFixedWindowWidth(); Rect rightRect = baseRect; rightRect.x += imageRect.width; rightRect.width -= imageRect.width; rightRect = FXMakerLayout.GetOffsetRect(rightRect, 5, 3, -5, -3); Rect buttonRect = FXMakerLayout.GetInnerVerticalRect(rightRect, 12, 0, 5); if (m_bSaveDialog) { Rect labelRect = FXMakerLayout.GetInnerVerticalRect(baseRect, 12, 2, 3); GUI.Label(FXMakerLayout.GetLeftRect(labelRect, 100), "Filename:"); Rect editRect = FXMakerLayout.GetInnerVerticalRect(baseRect, 12, 5, 5); string saveFilename = GUI.TextField(editRect, m_SaveFilename, 50); if (saveFilename != m_SaveFilename) { if (saveFilename.Trim() != "") { m_SaveFilename = saveFilename; } } } else { bool bPreviewEnable = false; // image if (m_SelObjectContent == null) { guiCon = new GUIContent("[Not Selected]"); // original mesh preview if (m_bDialogType == DIALOG_TYPE.SELECT && m_bSelectMeshDialog && m_OldSelectMesh != null) { Texture2D preview = NgAsset.GetAssetPreview(m_OldSelectMesh); guiCon = new GUIContent(m_OldSelectMesh.name, preview, GetMeshInfo(m_OldSelectMesh)); bPreviewEnable = true; } } else { guiCon = new GUIContent("", m_SelObjectContent.image, m_SelObjectContent.tooltip); bPreviewEnable = (m_SelObjectContent != null); } if (FXMakerLayout.GUIButton(imageRect, guiCon, GUI.skin.GetStyle("PopupBottom_ImageButton"), bPreviewEnable)) { if (m_bDialogType == DIALOG_TYPE.SELECT) { if (m_bSelectMeshDialog) { Object pingObj; Object pingMesh; if (m_AddPrefabObject != null) { pingObj = m_AddPrefabObject; pingMesh = m_AddPrefabObject.GetComponent <MeshFilter>().sharedMesh; } else { pingObj = m_OldSelectMesh; pingMesh = m_OldSelectMesh; } if (Input.GetMouseButtonUp(0)) { FXMakerAsset.SetPingObject(pingObj); FXMakerMain.inst.CreateCurrentInstanceEffect(true); } if (Input.GetMouseButtonUp(1)) { FXMakerAsset.SetPingObject(pingMesh); } } else { FXMakerMain.inst.CreateCurrentInstanceEffect(true); } } else { if (Input.GetMouseButtonUp(0)) { FXMakerAsset.SetPingObject(m_AddGameObject); FXMakerMain.inst.CreateCurrentInstanceEffect(true); } if (Input.GetMouseButtonUp(1)) { FXMakerAsset.SetPingObject(GetObjectNodePrefab(m_nObjectIndex)); } } } // text GUI.Label(FXMakerLayout.GetInnerVerticalRect(rightRect, 12, 5, 8), (m_SelObjectContent == null ? "[Not Selected]" : m_SelObjectContent.text)); } if (m_bSaveDialog) { bool bSaveEnable = (0 <= m_nGroupIndex && 0 < m_nGroupCount); bool bReadOnyFolder = false; if (bSaveEnable) { bReadOnyFolder = 0 < IsReadOnlyFolder(); bSaveEnable = !bReadOnyFolder; } // Cancel if (FXMakerLayout.GUIButton(FXMakerLayout.GetInnerHorizontalRect(buttonRect, 2, 0, 1), GetHelpContent("Cancel"), true)) { ClosePopup(false); return; } // save if (FXMakerLayout.GUIButton(FXMakerLayout.GetInnerHorizontalRect(buttonRect, 2, 1, 1), (bReadOnyFolder ? FXMakerTooltip.GetGUIContent("Save", FXMakerTooltip.GetHsToolMessage("READONLY_FOLDER", "")) : GetHelpContent("Save")), bSaveEnable)) { SaveCurrentObjectToPrefabFile(); ClosePopup(true); // FXMakerEffect.inst.LoadProject(); } if (m_bDrawRedBottomButtom) { NgGUIDraw.DrawBox(FXMakerLayout.GetOffsetRect(buttonRect, 3), FXMakerLayout.m_ColorHelpBox, (bSaveEnable ? 2:1), false); } if (m_bDrawRedBottom) { NgGUIDraw.DrawBox(FXMakerLayout.GetOffsetRect(baseRect, 2), FXMakerLayout.m_ColorHelpBox, (bSaveEnable ? 2:1), false); } } else { // Undo int nButtonWidht = 70; buttonRect.width = nButtonWidht / 2; if (FXMakerLayout.GUIButton(buttonRect, GetHelpContent("Undo"), (m_AddGameObject != null))) { UndoObject(); } // close buttonRect.x += buttonRect.width + 5; buttonRect.width = baseRect.width - buttonRect.x; if (GUI.Button(buttonRect, GetHelpContent("Close"))) { ClosePopup(true); } } }
public void SaveBackgroundPrefab() { NgUtil.LogDevelop("SaveBackgroundPrefab - FxmBack prefab"); m_BackgroundPrefabs[m_nBackgroundIndex] = FXMakerAsset.SaveEffectPrefab(m_CurrentBackgroundInfo.gameObject, m_BackgroundPrefabs[m_nBackgroundIndex]); ShowBackground(true, true); }
void winMenuEdit(int id) { if (m_nGroupCount <= 0) { return; } // Change Group name if (0 <= m_nGroupIndex && m_nGroupIndex < m_nGroupCount) { // string newName = GUI.TextField(gNcLayout.GetChildVerticalRect(gNcLayout.GetMenuTopRightRect(), 0, 2, 0), m_GroupFolerStrings[m_nGroupIndex], 50); // newName = newName.Trim(); // if (newName != "" && m_GroupFolerStrings[m_nGroupIndex] != newName) // { // FileUtil.ReplaceDirectory(NgFile.CombinePath(m_RootBackgroundDir, m_GroupFolerStrings[m_nGroupIndex]), NgFile.CombinePath(m_RootBackgroundDir, newName)); // m_GroupFolerStrings[m_nGroupIndex] = newName; // FXMakerMain.inst.AssetDatabaseRefresh(); // } } // Add button if (m_nBackgroundCount < FXMakerOption.inst.m_nMinBottomToolbarCount) { if (GUI.Button(FXMakerLayout.GetInnerHorizontalRect(FXMakerLayout.GetChildVerticalRect(FXMakerLayout.GetMenuTopRightRect(), 0, 3, 0, 1), 2, 0, 1), FXMakerTooltip.GetHcToolBackground("New", NgFile.CombinePath(FXMakerMain.inst.GetResourceDir(FXMakerMain.TOOLDIR_TYPE.BACKGROUNDPREFABS), m_GroupFolerContents[m_nGroupIndex].text)))) { RenameCurrentPrefab(m_EditingName); NewPrefab(); return; } } // Selected state if (m_CurrentBackgroundInfo != null) { // Delete button if (GUI.Button(FXMakerLayout.GetInnerHorizontalRect(FXMakerLayout.GetChildVerticalRect(FXMakerLayout.GetMenuTopRightRect(), 0, 3, 0, 1), 2, 1, 1), FXMakerTooltip.GetHcToolBackground("Del", m_BackgroundContents[m_nBackgroundIndex].text))) { RenameCurrentPrefab(m_EditingName); m_bProcessDelete = true; } if (m_bProcessDelete) { m_bProcessDelete = FxmPopupManager.inst.ShowModalOkCancelMessage("'" + m_BackgroundContents[m_nBackgroundIndex].text + "'\n" + FXMakerTooltip.GetHsToolMessage("DIALOG_DELETEPREFAB", "")); if (m_bProcessDelete == false) { if (FxmPopupManager.inst.GetModalMessageValue() == FXMakerLayout.MODALRETURN_TYPE.MODALRETURN_OK) { if (m_CurrentBackgroundInfo != null) { DestroyImmediate(m_CurrentBackgroundInfo.gameObject); } FXMakerAsset.DeleteEffectPrefab(m_BackgroundPrefabs[m_nBackgroundIndex]); SelectToolbar(m_nGroupIndex, m_nBackgroundIndex - 1); return; } } } // Clone button if (GUI.Button(FXMakerLayout.GetInnerHorizontalRect(FXMakerLayout.GetChildVerticalRect(FXMakerLayout.GetMenuTopRightRect(), 0, 3, 1, 1), 2, 0, 1), FXMakerTooltip.GetHcToolBackground("Clone", m_BackgroundContents[m_nBackgroundIndex].text))) { RenameCurrentPrefab(m_EditingName); ClonePrefab(); return; } // Thumb Selected if (GUI.Button(FXMakerLayout.GetInnerHorizontalRect(FXMakerLayout.GetChildVerticalRect(FXMakerLayout.GetMenuTopRightRect(), 0, 3, 1, 1), 2, 1, 1), FXMakerTooltip.GetHcToolBackground("Thumb", m_BackgroundContents[m_nBackgroundIndex].text))) { RenameCurrentPrefab(m_EditingName); ThumbPrefab(); return; } // ChangeName if (m_CurrentBackgroundInfo != null && 0 <= m_nBackgroundIndex && m_nBackgroundIndex < m_nBackgroundCount) { GUI.SetNextControlName("TextField"); m_EditingName = GUI.TextField(FXMakerLayout.GetChildVerticalRect(FXMakerLayout.GetMenuTopRightRect(), 0, 3, 2, 1), m_EditingName, 50); if (FXMakerMain.GetPrevWindowFocus() == (int)FXMakerLayout.WINDOWID.TOP_RIGHT && FXMakerMain.GetWindowFocus() != (int)FXMakerLayout.WINDOWID.TOP_RIGHT) { RenameCurrentPrefab(m_EditingName); } } } FXMakerMain.inst.SaveTooltip(); }
void PingPrefab() { FXMakerAsset.SetPingObject(m_BackgroundPrefabs[m_nBackgroundIndex]); }