private void Refresh() { //Talent Count m_UserTalentCount = m_DefaultUserTalentData.MapTalent.Count; m_UserTalentLastCount = m_UserTalentCount; //Editor Data m_lstUserTalents = new List <UserTalentInfo>(); foreach (string talentName in m_DefaultUserTalentData.MapTalent.Keys) { UserTalentInfo temp = new UserTalentInfo(); temp.TalentName = talentName; temp.TalentValue = AdaptiveDifficultyManager.ConvertFloat(m_DefaultUserTalentData.MapTalent[talentName]); m_lstUserTalents.Add(temp); } }
private void OnGUI() { // Setting GUILayout.Space(15f); EditorGUILayout.BeginHorizontal(); { if (GUILayout.Button("重置", GUILayout.Width(60f))) { LoadFile(); Repaint(); } if (GUILayout.Button("保存", GUILayout.Width(60f))) { SaveFile(); Repaint(); } if (GUILayout.Button("同步", GUILayout.Width(60f))) { SysnFile(); //LoadFile(); Repaint(); } if (GUILayout.Button("合并", GUILayout.Width(60f))) { MergeFile(); //LoadFile(); Repaint(); } } EditorGUILayout.EndHorizontal(); // Talent Count GUILayout.Space(15f); EditorGUILayout.BeginHorizontal(); { GUILayout.Space(5f); EditorGUILayout.LabelField("天赋数量:", GUILayout.Width(60f)); m_UserTalentCount = EditorGUILayout.IntField(m_UserTalentCount, GUILayout.Width(60f)); GUILayout.Space(5f); if (GUILayout.Button("+", EditorStyles.miniButtonLeft, GUILayout.Width(30f))) { m_UserTalentCount++; } if (GUILayout.Button("-", EditorStyles.miniButtonRight, GUILayout.Width(30f))) { if (m_UserTalentCount > 0) m_UserTalentCount--; } //Init Data if (m_UserTalentCount < m_UserTalentLastCount && m_UserTalentCount >= 0) { int removeCount = m_UserTalentLastCount - m_UserTalentCount; for (int i = 0; i < removeCount; i++) { m_lstUserTalents.RemoveAt(m_lstUserTalents.Count - 1); } } else if (m_UserTalentCount > m_UserTalentLastCount) { int extraCount = m_UserTalentCount - m_UserTalentLastCount; for (int i = 0; i < extraCount; i++) { UserTalentInfo tmpData = new UserTalentInfo(); tmpData.TalentName = ""; tmpData.TalentValue = 0f; m_lstUserTalents.Add(tmpData); } } } EditorGUILayout.EndHorizontal(); // Talent Data GUILayout.Space(15f); if (m_lstUserTalents != null && m_lstUserTalents.Count > 0) { for (int i = 0; i < m_lstUserTalents.Count; i++) { EditorGUILayout.BeginHorizontal(); { EditorGUILayout.LabelField("天赋名称: ", GUILayout.Width(60f)); m_lstUserTalents[i].TalentName = EditorGUILayout.TextField(m_lstUserTalents[i].TalentName, GUILayout.Width(60f)); EditorGUILayout.LabelField("默认值: ", GUILayout.Width(60f)); m_lstUserTalents[i].TalentValue = EditorGUILayout.Slider(m_lstUserTalents[i].TalentValue, 0f, 1f); if (GUILayout.Button("X", GUILayout.Width(20f))) { var option = EditorUtility.DisplayDialog("确定要删除吗?", "确定吗?确定吗?确定吗?确定吗?确定吗?", "确定", "取消"); if (option) { m_lstUserTalents.RemoveAt(i); m_UserTalentCount--; Repaint(); break; } } } EditorGUILayout.EndHorizontal(); } } m_UserTalentLastCount = m_UserTalentCount; }
private void Refresh() { //Talent Count m_UserTalentCount = m_DefaultUserTalentData.MapTalent.Count; m_UserTalentLastCount = m_UserTalentCount; //Editor Data m_lstUserTalents = new List<UserTalentInfo>(); foreach (string talentName in m_DefaultUserTalentData.MapTalent.Keys) { UserTalentInfo temp = new UserTalentInfo(); temp.TalentName = talentName; temp.TalentValue = AdaptiveDifficultyManager.ConvertFloat(m_DefaultUserTalentData.MapTalent[talentName]); m_lstUserTalents.Add(temp); } }
private void OnGUI() { #region Setting GUILayout.Space(15f); EditorGUILayout.BeginHorizontal(); { if (GUILayout.Button("重置", GUILayout.Width(60f))) { LoadFile(); Repaint(); } if (GUILayout.Button(m_lstDifficultyInfo == null ? "生成" : "保存", GUILayout.Width(60f))) { SaveFile(); Repaint(); } if (GUILayout.Button("同步", GUILayout.Width(60f))) { SysnFile(); LoadFile(); Repaint(); } if (GUILayout.Button("合并", GUILayout.Width(60f))) { MergeFile(); LoadFile(); Repaint(); } } EditorGUILayout.EndHorizontal(); #endregion #region Game ID GUILayout.Space(15f); EditorGUILayout.BeginHorizontal(); { EditorGUILayout.LabelField("游戏ID : ", GUILayout.Width(60f)); m_GameID_InputField = EditorGUILayout.IntField(m_GameID_InputField, GUILayout.Width(60f)); if (GUILayout.Button("加载", GUILayout.Width(60f))) { m_GameID = m_GameID_InputField; //GUI.SetNextControlName("Input"); //EditorUtility.DisplayDialog("加载成功", "加载成功", "确定"); //GUI.FocusControl("Input"); Refresh(); this.Focus(); } GUILayout.Space(15f); EditorGUILayout.LabelField("显示宽度 : ", GUILayout.Width(60f)); m_fNodeSpace = EditorGUILayout.Slider(m_fNodeSpace, 100f, 300f, GUILayout.Width(200f)); } EditorGUILayout.EndHorizontal(); #endregion if (m_lstDifficultyInfo == null) { return; } #region Difficulty Count GUILayout.Space(15f); EditorGUILayout.BeginHorizontal(); { GUILayout.Space(5f); EditorGUILayout.LabelField("难度维度:", GUILayout.Width(60f)); m_DifficultyCount = EditorGUILayout.IntField(m_DifficultyCount, GUILayout.Width(60f)); GUILayout.Space(5f); if (GUILayout.Button("+", EditorStyles.miniButtonLeft, GUILayout.Width(30f))) { m_DifficultyCount++; } if (GUILayout.Button("-", EditorStyles.miniButtonRight, GUILayout.Width(30f))) { if (m_DifficultyCount > 0) { m_DifficultyCount--; } } //Init Data if (m_DifficultyCount < m_DifficultyLastCount && m_DifficultyCount >= 0) { int removeCount = m_DifficultyLastCount - m_DifficultyCount; for (int i = 0; i < removeCount; i++) { m_lstDifficultyInfo.RemoveAt(m_lstDifficultyInfo.Count - 1); } } else if (m_DifficultyCount > m_DifficultyLastCount) { int extraCount = m_DifficultyCount - m_DifficultyLastCount; for (int i = 0; i < extraCount; i++) { DifficultyInfo tmpData = new DifficultyInfo(); tmpData.Name = ""; tmpData.Offset = 0f; tmpData.Range = 0f; tmpData.TalentEffects = new Dictionary <string, float>(); DefaultUserTalent defaultUserTalent = ConfigManager.Instance.GetDefaultUserTalent(); foreach (string talentName in defaultUserTalent.MapTalent.Keys) { tmpData.TalentEffects.Add(talentName, 0f); } m_lstDifficultyInfo.Add(tmpData); } } } EditorGUILayout.EndHorizontal(); #endregion #region Difficuly Data m_EventScorllPos = EditorGUILayout.BeginScrollView(m_EventScorllPos); { // Data Name GUILayout.Space(15f); EditorGUILayout.BeginHorizontal(); { EditorGUILayout.LabelField("难度 \\ 天赋", GUILayout.Width(m_fNodeSpace)); //GUILayout.Box("", new GUILayoutOption[] { GUILayout.ExpandHeight(true), GUILayout.Width(1) }); // Offset & Range EditorGUILayout.LabelField("基础值", GUILayout.Width(m_fNodeSpace)); EditorGUILayout.LabelField("浮动范围", GUILayout.Width(m_fNodeSpace)); // Talent Effect DefaultUserTalent defaultUserTalent = ConfigManager.Instance.GetDefaultUserTalent(); foreach (string talentName in defaultUserTalent.MapTalent.Keys) { EditorGUILayout.LabelField(talentName, GUILayout.Width(m_fNodeSpace)); } } EditorGUILayout.EndHorizontal(); GUILayout.Box("", new GUILayoutOption[] { GUILayout.ExpandWidth(true), GUILayout.Height(1) }); //draw hor line // Data List if (m_lstDifficultyInfo != null && m_lstDifficultyInfo.Count > 0) { for (int i = 0; i < m_lstDifficultyInfo.Count; i++) { GUILayout.Space(5f); EditorGUILayout.BeginHorizontal(); { m_lstDifficultyInfo[i].Name = EditorGUILayout.TextField(m_lstDifficultyInfo[i].Name, GUILayout.Width(m_fNodeSpace - 5f)); GUILayout.Space(5f); m_lstDifficultyInfo[i].Offset = EditorGUILayout.Slider(m_lstDifficultyInfo[i].Offset, 0f, 1f, GUILayout.Width(m_fNodeSpace - 5f)); GUILayout.Space(5f); m_lstDifficultyInfo[i].Range = EditorGUILayout.Slider(m_lstDifficultyInfo[i].Range, 0f, 1f, GUILayout.Width(m_fNodeSpace - 5f)); GUILayout.Space(5f); // tmp list List <UserTalentInfo> effectList = new List <UserTalentInfo>(); foreach (string talentName in m_lstDifficultyInfo[i].TalentEffects.Keys) { UserTalentInfo effect = new UserTalentInfo(); effect.TalentName = talentName; effect.TalentValue = m_lstDifficultyInfo[i].TalentEffects[talentName]; effectList.Add(effect); } // update data for (int num = 0; num < effectList.Count; num++) { effectList[num].TalentValue = EditorGUILayout.Slider(effectList[num].TalentValue, -1f, 1f, GUILayout.Width(m_fNodeSpace - 5f)); GUILayout.Space(5f); m_lstDifficultyInfo[i].TalentEffects[effectList[num].TalentName] = effectList[num].TalentValue; } } EditorGUILayout.EndHorizontal(); GUILayout.Space(5f); GUILayout.Box("", new GUILayoutOption[] { GUILayout.ExpandWidth(true), GUILayout.Height(1) }); //draw hor line } } } EditorGUILayout.EndScrollView(); #endregion m_DifficultyLastCount = m_DifficultyCount; }
private void OnGUI() { // Setting GUILayout.Space(15f); EditorGUILayout.BeginHorizontal(); { if (GUILayout.Button("重置", GUILayout.Width(60f))) { LoadFile(); Repaint(); } if (GUILayout.Button("保存", GUILayout.Width(60f))) { SaveFile(); Repaint(); } if (GUILayout.Button("同步", GUILayout.Width(60f))) { SysnFile(); //LoadFile(); Repaint(); } if (GUILayout.Button("合并", GUILayout.Width(60f))) { MergeFile(); //LoadFile(); Repaint(); } } EditorGUILayout.EndHorizontal(); // Talent Count GUILayout.Space(15f); EditorGUILayout.BeginHorizontal(); { GUILayout.Space(5f); EditorGUILayout.LabelField("天赋数量:", GUILayout.Width(60f)); m_UserTalentCount = EditorGUILayout.IntField(m_UserTalentCount, GUILayout.Width(60f)); GUILayout.Space(5f); if (GUILayout.Button("+", EditorStyles.miniButtonLeft, GUILayout.Width(30f))) { m_UserTalentCount++; } if (GUILayout.Button("-", EditorStyles.miniButtonRight, GUILayout.Width(30f))) { if (m_UserTalentCount > 0) { m_UserTalentCount--; } } //Init Data if (m_UserTalentCount < m_UserTalentLastCount && m_UserTalentCount >= 0) { int removeCount = m_UserTalentLastCount - m_UserTalentCount; for (int i = 0; i < removeCount; i++) { m_lstUserTalents.RemoveAt(m_lstUserTalents.Count - 1); } } else if (m_UserTalentCount > m_UserTalentLastCount) { int extraCount = m_UserTalentCount - m_UserTalentLastCount; for (int i = 0; i < extraCount; i++) { UserTalentInfo tmpData = new UserTalentInfo(); tmpData.TalentName = ""; tmpData.TalentValue = 0f; m_lstUserTalents.Add(tmpData); } } } EditorGUILayout.EndHorizontal(); // Talent Data GUILayout.Space(15f); if (m_lstUserTalents != null && m_lstUserTalents.Count > 0) { for (int i = 0; i < m_lstUserTalents.Count; i++) { EditorGUILayout.BeginHorizontal(); { EditorGUILayout.LabelField("天赋名称: ", GUILayout.Width(60f)); m_lstUserTalents[i].TalentName = EditorGUILayout.TextField(m_lstUserTalents[i].TalentName, GUILayout.Width(60f)); EditorGUILayout.LabelField("默认值: ", GUILayout.Width(60f)); m_lstUserTalents[i].TalentValue = EditorGUILayout.Slider(m_lstUserTalents[i].TalentValue, 0f, 1f); if (GUILayout.Button("X", GUILayout.Width(20f))) { var option = EditorUtility.DisplayDialog("确定要删除吗?", "确定吗?确定吗?确定吗?确定吗?确定吗?", "确定", "取消"); if (option) { m_lstUserTalents.RemoveAt(i); m_UserTalentCount--; Repaint(); break; } } } EditorGUILayout.EndHorizontal(); } } m_UserTalentLastCount = m_UserTalentCount; }
private void OnGUI() { #region Setting GUILayout.Space(15f); EditorGUILayout.BeginHorizontal(); { if (GUILayout.Button("重置", GUILayout.Width(60f))) { LoadFile(); Repaint(); } if (GUILayout.Button(m_lstDifficultyInfo == null ? "生成" : "保存", GUILayout.Width(60f))) { SaveFile(); Repaint(); } if (GUILayout.Button("同步", GUILayout.Width(60f))) { SysnFile(); LoadFile(); Repaint(); } if (GUILayout.Button("合并", GUILayout.Width(60f))) { MergeFile(); LoadFile(); Repaint(); } } EditorGUILayout.EndHorizontal(); #endregion #region Game ID GUILayout.Space(15f); EditorGUILayout.BeginHorizontal(); { EditorGUILayout.LabelField("游戏ID : ", GUILayout.Width(60f)); m_GameID_InputField = EditorGUILayout.IntField(m_GameID_InputField, GUILayout.Width(60f)); if (GUILayout.Button("加载", GUILayout.Width(60f))) { m_GameID = m_GameID_InputField; //GUI.SetNextControlName("Input"); //EditorUtility.DisplayDialog("加载成功", "加载成功", "确定"); //GUI.FocusControl("Input"); Refresh(); this.Focus(); } GUILayout.Space(15f); EditorGUILayout.LabelField("显示宽度 : ", GUILayout.Width(60f)); m_fNodeSpace = EditorGUILayout.Slider(m_fNodeSpace, 100f, 300f, GUILayout.Width(200f)); } EditorGUILayout.EndHorizontal(); #endregion if (m_lstDifficultyInfo == null) return; #region Difficulty Count GUILayout.Space(15f); EditorGUILayout.BeginHorizontal(); { GUILayout.Space(5f); EditorGUILayout.LabelField("难度维度:", GUILayout.Width(60f)); m_DifficultyCount = EditorGUILayout.IntField(m_DifficultyCount, GUILayout.Width(60f)); GUILayout.Space(5f); if (GUILayout.Button("+", EditorStyles.miniButtonLeft, GUILayout.Width(30f))) { m_DifficultyCount++; } if (GUILayout.Button("-", EditorStyles.miniButtonRight, GUILayout.Width(30f))) { if (m_DifficultyCount > 0) m_DifficultyCount--; } //Init Data if (m_DifficultyCount < m_DifficultyLastCount && m_DifficultyCount >= 0) { int removeCount = m_DifficultyLastCount - m_DifficultyCount; for (int i = 0; i < removeCount; i++) { m_lstDifficultyInfo.RemoveAt(m_lstDifficultyInfo.Count - 1); } } else if (m_DifficultyCount > m_DifficultyLastCount) { int extraCount = m_DifficultyCount - m_DifficultyLastCount; for (int i = 0; i < extraCount; i++) { DifficultyInfo tmpData = new DifficultyInfo(); tmpData.Name = ""; tmpData.Offset = 0f; tmpData.Range = 0f; tmpData.TalentEffects = new Dictionary<string, float>(); DefaultUserTalent defaultUserTalent = ConfigManager.Instance.GetDefaultUserTalent(); foreach (string talentName in defaultUserTalent.MapTalent.Keys) { tmpData.TalentEffects.Add(talentName, 0f); } m_lstDifficultyInfo.Add(tmpData); } } } EditorGUILayout.EndHorizontal(); #endregion #region Difficuly Data m_EventScorllPos = EditorGUILayout.BeginScrollView(m_EventScorllPos); { // Data Name GUILayout.Space(15f); EditorGUILayout.BeginHorizontal(); { EditorGUILayout.LabelField("难度 \\ 天赋", GUILayout.Width(m_fNodeSpace)); //GUILayout.Box("", new GUILayoutOption[] { GUILayout.ExpandHeight(true), GUILayout.Width(1) }); // Offset & Range EditorGUILayout.LabelField("基础值", GUILayout.Width(m_fNodeSpace)); EditorGUILayout.LabelField("浮动范围", GUILayout.Width(m_fNodeSpace)); // Talent Effect DefaultUserTalent defaultUserTalent = ConfigManager.Instance.GetDefaultUserTalent(); foreach (string talentName in defaultUserTalent.MapTalent.Keys) { EditorGUILayout.LabelField(talentName, GUILayout.Width(m_fNodeSpace)); } } EditorGUILayout.EndHorizontal(); GUILayout.Box("", new GUILayoutOption[] { GUILayout.ExpandWidth(true), GUILayout.Height(1) }); //draw hor line // Data List if (m_lstDifficultyInfo != null && m_lstDifficultyInfo.Count > 0) { for (int i = 0; i < m_lstDifficultyInfo.Count; i++) { GUILayout.Space(5f); EditorGUILayout.BeginHorizontal(); { m_lstDifficultyInfo[i].Name = EditorGUILayout.TextField(m_lstDifficultyInfo[i].Name, GUILayout.Width(m_fNodeSpace - 5f)); GUILayout.Space(5f); m_lstDifficultyInfo[i].Offset = EditorGUILayout.Slider(m_lstDifficultyInfo[i].Offset, 0f, 1f, GUILayout.Width(m_fNodeSpace - 5f)); GUILayout.Space(5f); m_lstDifficultyInfo[i].Range = EditorGUILayout.Slider(m_lstDifficultyInfo[i].Range, 0f, 1f, GUILayout.Width(m_fNodeSpace - 5f)); GUILayout.Space(5f); // tmp list List<UserTalentInfo> effectList = new List<UserTalentInfo>(); foreach (string talentName in m_lstDifficultyInfo[i].TalentEffects.Keys) { UserTalentInfo effect = new UserTalentInfo(); effect.TalentName = talentName; effect.TalentValue = m_lstDifficultyInfo[i].TalentEffects[talentName]; effectList.Add(effect); } // update data for (int num = 0; num < effectList.Count; num++) { effectList[num].TalentValue = EditorGUILayout.Slider(effectList[num].TalentValue, -1f, 1f, GUILayout.Width(m_fNodeSpace - 5f)); GUILayout.Space(5f); m_lstDifficultyInfo[i].TalentEffects[effectList[num].TalentName] = effectList[num].TalentValue; } } EditorGUILayout.EndHorizontal(); GUILayout.Space(5f); GUILayout.Box("", new GUILayoutOption[] { GUILayout.ExpandWidth(true), GUILayout.Height(1) }); //draw hor line } } } EditorGUILayout.EndScrollView(); #endregion m_DifficultyLastCount = m_DifficultyCount; }