bool DrawLoadService()
    {
        contentColor    = GUI.contentColor;
        backgroundColor = GUI.backgroundColor;

        EditorGUILayout.BeginHorizontal();
        GUI.backgroundColor = EditorHelpers.orangeColor;
        if (GUILayout.Button("Load", GUILayout.Width(60)))
        {
            LoadData();
        }

        GUI.backgroundColor = EditorHelpers.yellowColor;
        if (GUILayout.Button("New", GUILayout.Width(60)))
        {
            LeaderboardConfigData newData = new LeaderboardConfigData();
            newData.id = "New ID " + newLeaderboardNameSufix.ToString();
            ++newLeaderboardNameSufix;
            allLeaderboards.Insert(0, newData);
            InitLeaderboardNames();
            selectedLeaderboardIndex = 0;
            leaderboardData          = newData;
            ShowNotification(new GUIContent("New Leaderboard added."));
            dirty = true;
        }
        GUI.backgroundColor = EditorHelpers.greenColor;
        if (GUILayout.Button("Save", GUILayout.Width(60)))
        {
            Save();
        }
        GUI.backgroundColor = backgroundColor;
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.Separator(); EditorGUILayout.Separator(); EditorGUILayout.Separator();
        if (allLeaderboards == null)
        {
            EditorGUILayout.HelpBox("It seems that there is no data... try reopening the editor.", MessageType.Error);
            return(false);
        }
        if (allLeaderboards.Count > 0)
        {
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("iAPs:", GUILayout.Width(100));
            int oldIntValue = selectedLeaderboardIndex;
            selectedLeaderboardIndex = EditorGUILayout.Popup(oldIntValue, leaderboardNames, GUILayout.Width(250));
            if (oldIntValue != selectedLeaderboardIndex)
            {
                leaderboardData = allLeaderboards[selectedLeaderboardIndex];
            }
            if (leaderboardData != null)
            {
                GUI.backgroundColor = EditorHelpers.redColor;
                if (GUILayout.Button("Delete", GUILayout.Width(70)))
                {
                    if (EditorUtility.DisplayDialog("Deleting Leaderboard!", "Are you sure you want to delete Leaderboard'" + leaderboardData.id + "'?", "Yes, Delete it.", "No!"))
                    {
                        gameDB.DeleteConfig(leaderboardData.GetTableName(), leaderboardData.id);
                        allLeaderboards.Remove(leaderboardData);
                        InitLeaderboardNames();
                        selectedLeaderboardIndex = -1;
                        leaderboardData          = null;
                        ShowNotification(new GUIContent("Leaderboard deleted."));
                        return(false);
                    }
                }
                GUI.backgroundColor = backgroundColor;
            }
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.Separator(); EditorGUILayout.Separator(); EditorGUILayout.Separator();
        }

        return(leaderboardData != null);
    }
示例#2
0
    bool DrawLoadService()
    {
        contentColor    = GUI.contentColor;
        backgroundColor = GUI.backgroundColor;

        EditorGUILayout.BeginHorizontal();
        GUI.backgroundColor = EditorHelpers.orangeColor;
        if (GUILayout.Button("Load", GUILayout.Width(60)))
        {
            LoadData();
        }

        GUI.backgroundColor = EditorHelpers.yellowColor;
        if (GUILayout.Button("New", GUILayout.Width(60)))
        {
            GeneralParameterConfigData newData = new GeneralParameterConfigData();
            newData.id = "New Parameter " + newDataConfigNameSufix.ToString();
            ++newDataConfigNameSufix;
            allData.Insert(0, newData);
            InitDataConfigNames();
            selectedDataIndex = 0;
            data = newData;
            ShowNotification(new GUIContent("New Parameter added."));
            dirty = true;
        }
        GUI.backgroundColor = EditorHelpers.greenColor;
        if (GUILayout.Button("Save", GUILayout.Width(60)))
        {
            Save();
        }
        GUI.backgroundColor = backgroundColor;
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.Separator(); EditorGUILayout.Separator(); EditorGUILayout.Separator();

        if (allData == null)
        {
            EditorGUILayout.HelpBox("It seems that there is no data... try reopening the editor.", MessageType.Error);
            return(false);
        }

        if (allData.Count > 0)
        {
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Parameters:", GUILayout.Width(70));
            int oldIntValue = selectedDataIndex;
            selectedDataIndex = EditorGUILayout.Popup(oldIntValue, dataConfigNames, GUILayout.Width(250));
            if (oldIntValue != selectedDataIndex)
            {
                data = allData[selectedDataIndex];
            }
            if (data != null)
            {
                GUI.backgroundColor = EditorHelpers.redColor;
                if (GUILayout.Button("Delete", GUILayout.Width(70)))
                {
                    if (EditorUtility.DisplayDialog("Deleting Parameter!", "Are you sure you want to delete parameter '" + data.id + "'?", "Yes, Delete it.", "No! I was wrong and I am sorry."))
                    {
                        gameDB.DeleteConfig(data.GetTableName(), data.id);
                        allData.Remove(data);
                        InitDataConfigNames();
                        selectedDataIndex = -1;
                        data = null;
                        ShowNotification(new GUIContent("Parameter deleted."));
                        return(false);
                    }
                }
                GUI.backgroundColor = backgroundColor;
            }
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.Separator(); EditorGUILayout.Separator(); EditorGUILayout.Separator();
        }

        return(data != null);
    }