private void ShowNodesAndPathInInspector()
        {
            script.graphData.nodeSize                = EditorGUILayout.Slider("Node gizmo Size", script.graphData.nodeSize, 0.1f, 3f);
            script.graphData.lineColor               = EditorGUILayout.ColorField("Path Color", script.graphData.lineColor);
            script.graphData.lineType                = (PathLineType)EditorGUILayout.EnumPopup("Path Type", script.graphData.lineType);
            script.graphData.heightFromTheGround     = EditorGUILayout.FloatField("Offset from ground( Height )", script.graphData.heightFromTheGround);
            script.graphData.groundColliderLayerName = EditorGUILayout.TextField("Ground collider layer name", script.graphData.groundColliderLayerName);
            EditorGUILayout.Space();
            GUILayout.Label("<size=12><b>Nodes</b></size>", CustomGUI.GetStyleWithRichText());

            if (script.graphData.nodes.Count > 0)
            {
                showNodeIDsInTheScene = EditorGUILayout.Toggle("Show Node IDs in scene", showNodeIDsInTheScene);

                List <Node> nodeList = script.graphData.nodes;
                for (int j = 0; j < nodeList.Count; j++)
                {
                    GUILayout.BeginHorizontal();
                    {
                        EditorGUILayout.LabelField("\t" + "Node <Color=" + nodeGUITextColor + ">" + nodeList[j].autoGeneratedID + "</Color>", CustomGUI.GetStyleWithRichText(), GUILayout.Width(120f));

                        nodeList[j].SetPosition(EditorGUILayout.Vector3Field("", nodeList[j].Position));
                        EditorGUILayout.LabelField("Enable", EditorStyles.miniLabel, GUILayout.Width(50f)); nodeList[j].SetAsOpen(EditorGUILayout.Toggle(nodeList[j].IsOpen));

                        if (GUILayout.Button("+", GUILayout.Width(25f)))
                        {
                            AddNode(nodeList[j].Position + Vector3.right + Vector3.up, j + 1);
                        }
                        if (GUILayout.Button("-", GUILayout.Width(25f)))
                        {
                            DeleteNode(j);
                        }
                    }
                    GUILayout.EndHorizontal();
                }
            }
            else
            {
                EditorGUILayout.LabelField("<Color=green> Nodes are empty. Use <b>Add Node</b> in scene view to create Nodes!</Color>", CustomGUI.GetStyleWithRichText(CustomGUI.SetAlignmentForText(TextAnchor.MiddleCenter)));
            }
            EditorGUILayout.Space();
            GUILayout.Label("<size=12><b>Paths</b></size>", CustomGUI.GetStyleWithRichText());

            if (script.graphData.paths.Count > 0)
            {
                showPathIDsInTheScene = EditorGUILayout.Toggle("Show Path IDs in scene", showPathIDsInTheScene);
                drawPathsInTheScene   = EditorGUILayout.Toggle("Draw Paths", drawPathsInTheScene);
                showCostsInTheScene   = EditorGUILayout.Toggle("Show Path Costs in scene", showCostsInTheScene);

                List <Path> paths = script.graphData.paths;
                for (int j = 0; j < paths.Count; j++)
                {
                    GUILayout.BeginHorizontal();
                    {
                        EditorGUILayout.LabelField("\t" + "Path <Color=" + pathGUITextColor + ">" + paths[j].autoGeneratedID + "</Color>", CustomGUI.GetStyleWithRichText(), GUILayout.Width(120f));

                        EditorGUILayout.LabelField("From", EditorStyles.miniLabel, GUILayout.Width(30f)); paths[j].IDOfA = EditorGUILayout.IntField(paths[j].IDOfA, GUILayout.Width(50f));
                        EditorGUILayout.LabelField("To", EditorStyles.miniLabel, GUILayout.Width(25f)); paths[j].IDOfB   = EditorGUILayout.IntField(paths[j].IDOfB, GUILayout.Width(50f));
                        EditorGUILayout.LabelField("<Color=" + costGUITextColor + ">" + "Cost" + "</Color>", CustomGUI.GetStyleWithRichText(EditorStyles.miniLabel), GUILayout.Width(30f)); paths[j].cost = EditorGUILayout.IntField(paths[j].cost, GUILayout.Width(50f));

                        EditorGUILayout.LabelField("One Way", EditorStyles.miniLabel, GUILayout.Width(50f)); paths[j].isOneWay = EditorGUILayout.Toggle(paths[j].isOneWay);
                        EditorGUILayout.LabelField("Enable", EditorStyles.miniLabel, GUILayout.Width(50f)); paths[j].isOpen    = EditorGUILayout.Toggle(paths[j].isOpen);

                        if (GUILayout.Button("+", GUILayout.Width(25f)))
                        {
                            AddPath(j + 1);
                        }
                        if (GUILayout.Button("-", GUILayout.Width(25f)))
                        {
                            DeletePath(j);
                        }
                    }
                    GUILayout.EndHorizontal();
                }
            }
            else
            {
                EditorGUILayout.LabelField("<Color=green> Paths are empty. Use <b>Connect Nodes</b> in scene view to create Paths!</Color>", CustomGUI.GetStyleWithRichText(CustomGUI.SetAlignmentForText(TextAnchor.MiddleCenter)));
            }

            if (GUI.changed)
            {
                MarkThisDirty();
            }
        }