private void OnGUI() { EditorGUILayout.BeginVertical(); EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("text:", StyleSetting.LayoutSetting("LabelFieldShort")); EditorGUILayout.TextField(UnityEngine.Random.value.ToString(), StyleSetting.LayoutSetting("TextField")); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Ok", StyleSetting.LayoutSetting("Button"))) { m_showValue = m_value00; } else if (GUILayout.Button("Cancel", StyleSetting.LayoutSetting("Button"))) { m_showValue = ""; } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); //EditorGUILayout.LabelField(m_showValue, StyleSetting.LayoutSetting("LabelField")); }
private void OnGUI() { int dh = 0; var e = Event.current; bool isChanged = false; if (e != null && e.isKey && e.type == EventType.KeyUp) { if (m_curMapConfig != null && m_curCellX < m_curMapConfig.mapSizeX && m_curCellY < m_curMapConfig.mapSizeY) { if (e.keyCode == KeyCode.W) { dh = 1; } if (e.keyCode == KeyCode.S) { dh = -1; } if (e.keyCode == KeyCode.Minus) { keyCache = "-"; } if (e.keyCode >= KeyCode.Alpha0 && e.keyCode <= KeyCode.Alpha9) { keyCache += (e.keyCode - KeyCode.Alpha0).ToString(); isChanged = true; } } } HandleHorizontalResize(); HandleVerticalResize(); #region TreeView_LT var unitTreeRect = new Rect( 0, 0, m_HorizontalSplitterRect.x, m_VerticalSplitterRectLeft.y ); if (GUILayout.Button("刷新", StyleSetting.LayoutSetting("Button")) || m_cmdTree == null) { m_cmdTree = new CellMapDataFileTreeView(new TreeViewState(), this); } var unitTreeRect2 = unitTreeRect; unitTreeRect2.y += 25; unitTreeRect2.height -= 25; //TreeView m_cmdTree.OnGUI(unitTreeRect2); #endregion #region Setting_LB var unitPreviewRect = new Rect( unitTreeRect.x, unitTreeRect.y + unitTreeRect.height + k_SplitterWidth, unitTreeRect.width, position.height - unitTreeRect.height - k_SplitterWidth * 2 ); GUILayout.BeginArea(unitPreviewRect, EditorStyles.helpBox); //m_preview.OnGUI(unitPreviewRect); GUILayout.BeginVertical(); m_isChangedValue = EditorGUILayout.Toggle("改disable", m_isChangedValue); GUILayout.BeginHorizontal(); const int btnLen = 32; if (GUILayout.Button("大", new GUILayoutOption[] { GUILayout.Width(btnLen), GUILayout.Height(btnLen) })) { m_cellButtonLen = c_cellButtonLenLarge; } if (GUILayout.Button("中", new GUILayoutOption[] { GUILayout.Width(btnLen), GUILayout.Height(btnLen) })) { m_cellButtonLen = c_cellButtonLenMiddle; } if (GUILayout.Button("小", new GUILayoutOption[] { GUILayout.Width(btnLen), GUILayout.Height(btnLen) })) { m_cellButtonLen = c_cellButtonLenSmall; } GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.EndArea(); #endregion float panelLeft = m_HorizontalSplitterRect.x + k_SplitterWidth; float panelWidth = m_VerticalSplitterRectRight.width - k_SplitterWidth * 2; float panelHeight = m_VerticalSplitterRectRight.y; #region Canvas_RT var unitListRect = new Rect( panelLeft, 0, panelWidth, panelHeight ); GUILayout.BeginArea(unitListRect, EditorStyles.helpBox); if (m_curMapConfig != null && m_isShowCanvas == true) { scrollPosition = GUILayout.BeginScrollView(scrollPosition); GUILayout.BeginHorizontal(GUILayout.Width(m_curMapConfig.mapSizeX * m_cellButtonLen)); for (int i = 0; i < m_curMapConfig.mapSizeX; i++) { GUILayout.BeginVertical(); if ((i & 1) == 1) { GUILayout.Space(m_cellButtonLen * 0.5f); } for (int j = m_curMapConfig.mapSizeY - 1; j >= 0; j--) { //curTip = i.ToString() + ", " + j.ToString() + "\n"; uint texId = 0; Texture2D tmpTex = null; if (m_curMapConfig != null) { var curCell = m_curMapConfig.cellData[i * m_curMapConfig.mapSizeY + j]; //if (m_curCellX == i && m_curCellY == j) //{ // //curSelect //} if (curCell.disable) { //disable texId |= c_cbtnStateDisable; } else { //normal texId |= c_cbtnStateNormal; texId = (uint)(texId + curCell.height); } } GUIStyle s = new GUIStyle(); //var tex = AssetDatabase.LoadAssetAtPath<Texture2D>("Assets/Texture/Hexagon.png"); texId |= (((uint)m_cellButtonLen) << 20); //s.imagePosition = ImagePosition.ImageOnly; tmpTex = getCellBtnTexCache(texId); if (tmpTex == null) { tmpTex = new Texture2D(m_cellButtonLen, m_cellButtonLen); } GUIContent gc = new GUIContent(tmpTex); //tex.width = m_cellButtonLen; //tex.height = m_cellButtonLen; //GUILayout.Button() //if (GUILayout.Button(curTip, new GUILayoutOption[] { GUILayout.Width(m_cellButtonLen), GUILayout.Height(m_cellButtonLen) })) if (GUILayout.Button(gc, s, new GUILayoutOption[] { GUILayout.Width(m_cellButtonLen), GUILayout.Height(m_cellButtonLen) })) { m_curCellX = i; m_curCellY = j; if (m_isChangedValue == true) { m_curMapConfig.cellData[i * m_curMapConfig.mapSizeY + j].disable = !m_curMapConfig.cellData[i * m_curMapConfig.mapSizeY + j].disable; saveCellMapSetting(); } GUI.SetNextControlName("mx_tmpFocus"); GUI.TextField(new Rect(), "", 0); GUI.FocusControl("mx_tmpFocus"); curSelectCellChanged(); isChanged = false; } } GUILayout.EndVertical(); } GUILayout.EndHorizontal(); //curSelectBorder const float dx = 0; const float dy = 0; float selbx = m_curCellX * m_cellButtonLen + dx; float selby = ((m_curCellX & 1) * 0.5f + m_curMapConfig.mapSizeY - m_curCellY - 1) * m_cellButtonLen + dy; GUILayout.BeginArea(new Rect(selbx, selby, m_cellButtonLen, m_cellButtonLen)); var texSel = getSelectBorderTexCache(m_cellButtonLen - c_cellButtonSpacing); GUILayout.Button(new GUIContent(texSel), new GUIStyle(), new GUILayoutOption[] { GUILayout.Width(m_cellButtonLen), GUILayout.Height(m_cellButtonLen) }); GUILayout.EndArea(); GUILayout.EndScrollView(); } GUILayout.EndArea(); #endregion #region Attr_RB var unitEditorRect = new Rect( panelLeft, panelHeight + k_SplitterWidth, panelWidth, (position.height - panelHeight) - k_SplitterWidth * 2 ); GUILayout.BeginArea(unitEditorRect, EditorStyles.helpBox); //m_UnitList.OnGUI(unitListRect); GUILayout.BeginVertical(); GUILayout.BeginHorizontal(); EditorGUILayout.BeginVertical(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("本地路径", StyleSetting.LayoutSetting("LabelFieldShort")); EditorGUILayout.TextField(m_curFilePath, StyleSetting.LayoutSetting("TextFieldLong")); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("资源路径", StyleSetting.LayoutSetting("LabelFieldShort")); EditorGUILayout.TextField(m_curResPath, StyleSetting.LayoutSetting("TextFieldLong")); EditorGUILayout.EndHorizontal(); if (!(m_curResPath == null || m_curResPath.Length == 0 || m_curResPath[m_curResPath.Length - 1] == '/')) { m_isShowCanvas = true; EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("地图尺寸:", StyleSetting.LayoutSetting("LabelFieldShort")); EditorGUILayout.LabelField("x:", StyleSetting.LayoutSetting("LabelFieldShort")); m_mapSizeX = EditorGUILayout.TextField(m_mapSizeX, StyleSetting.LayoutSetting("TextField")); EditorGUILayout.LabelField("y:", StyleSetting.LayoutSetting("LabelFieldShort")); m_mapSizeY = EditorGUILayout.TextField(m_mapSizeY, StyleSetting.LayoutSetting("TextField")); var sizeX = Convert.ToInt32(m_mapSizeX); var sizeY = Convert.ToInt32(m_mapSizeY); if (GUILayout.Button("设置", StyleSetting.LayoutSetting("Button"))) { resizeCellMap(sizeX, sizeY); } EditorGUILayout.EndHorizontal(); if (m_curMapConfig != null && m_curCellX < m_curMapConfig.mapSizeX && m_curCellY < m_curMapConfig.mapSizeY) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("当前Cell:" + m_curCellX.ToString() + ", " + m_curCellY.ToString(), StyleSetting.LayoutSetting("LabelField")); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("disable:", StyleSetting.LayoutSetting("LabelFieldShort")); var oldValue = m_curMapConfig.cellData[m_curCellX * m_curMapConfig.mapSizeY + m_curCellY].disable; var newValue = EditorGUILayout.Toggle(oldValue); if (newValue != oldValue) { m_curMapConfig.cellData[m_curCellX * m_curMapConfig.mapSizeY + m_curCellY].disable = newValue; saveCellMapSetting(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("height:", StyleSetting.LayoutSetting("LabelFieldShort")); string newHeightStr; if (isChanged == true) { newHeightStr = keyCache; isChanged = false; } else { newHeightStr = EditorGUILayout.TextField(m_curMapConfig.cellData[m_curCellX * m_curMapConfig.mapSizeY + m_curCellY].height.ToString(), StyleSetting.LayoutSetting("TextField")); } var newHeight = Convert.ToInt32(newHeightStr) + dh; if (newHeight != m_curMapConfig.cellData[m_curCellX * m_curMapConfig.mapSizeY + m_curCellY].height) { m_curMapConfig.cellData[m_curCellX * m_curMapConfig.mapSizeY + m_curCellY].height = newHeight; saveCellMapSetting(); } EditorGUILayout.EndHorizontal(); } //EditorGUILayout.BeginHorizontal(); //if (GUILayout.Button("Ok", StyleSetting.LayoutSetting("Button"))) //{ //} //else if (GUILayout.Button("Cancel", StyleSetting.LayoutSetting("Button"))) //{ //} //EditorGUILayout.EndHorizontal(); } else { m_isShowCanvas = false; } EditorGUILayout.EndVertical(); GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.EndArea(); #endregion if (m_ResizingHorizontalSplitter || m_ResizingVerticalSplitterLeft || m_ResizingVerticalSplitterRight) { Repaint(); } }
static public void setCurSetting(StyleSetting cs) { s_curSetting = cs; }