Example #1
0
    void OnGUI()
    {
        float height = this.position.height;
        float width  = this.position.width;
        float drawY  = 30 + offsetY;



//        GUILayout.Label("Quest Setting", EditorStyles.boldLabel);
        GUI.Label(new Rect(10 + offsetX, drawY + offsetY, 75, 20), "Quest Name");
        myString = GUI.TextField(new Rect(100 + offsetX, drawY + offsetY, width - 200, 20), myString);

        if (GUI.Button(new Rect(width - 90 + offsetX, drawY + offsetY, 80, 20), "Save"))
        {
            saveToXML();
        }

        drawY += 35;



        //myString = EditorGUILayout.TextField ("Quest Name", myString);

        //groupEnabled = EditorGUILayout.BeginToggleGroup ("Optional Settings", groupEnabled); // Begin group toggle
        //	myBool = EditorGUILayout.Toggle ("Toggle", myBool);
        //	myFloat = EditorGUILayout.Slider ("Slider", myFloat, -3, 3);
        //EditorGUILayout.EndToggleGroup ();



        // Object List
//		GUILayout.Label("Quest NPCs in Scene", EditorStyles.boldLabel);
//		if(qNpcs != null && qNpcs.Length > 0) {
//			Debug.Log("SIZE>0");
//			GUILayoutOption[] options = new GUILayoutOption[0];
//			foreach(QNpc o in qNpcs){
//				string label = o.name + " | Tag="+o.tag +":"; //"// Tag: ";
//				if(o.tag != "Untagged"){
//					//EditorGUILayout.ObjectField(label,o,typeof(Object),true,new GUILayoutOption[0]);
//				}
//				else {
//					EditorGUILayout.LabelField(label);
//				}
//			}
//		}

        float nodeAreaTop = drawY;

        yCol = new int[8];
        for (int i = 0; i < yCol.Length; i++)
        {
            yCol[i] = (int)drawY;
        }

        //foreach (QuestNode node in currentQuest.getNodes())
        //{
        //    drawNode(node, 0, nodeWidth);
        //}

        if (currentQuest.getRootNode() != null)
        {
            drawNode(currentQuest.getRootNode(), 0, nodeWidth);
        }

        // Mouse input handled here

        Event currentEvent = Event.current;

        if (currentEvent.type == EventType.MouseDown || isPressed)
        {
            if (isPressed)
            {
                Vector2 mousePos_2D = new Vector2(currentEvent.mousePosition.x, (Screen.height - currentEvent.mousePosition.y));
                Vector2 diff        = mousePos_2D - mouseInit;
                offsetX = oXInit + (int)(diff.x + 0.5);
                offsetY = oYInit - (int)(diff.y + 0.5);
                if (offsetX > 0)
                {
                    offsetX = 0;
                }
                if (offsetY > 0)
                {
                    offsetY = 0;
                }
                Repaint();
            }
            else
            {
                mouseInit = new Vector2(currentEvent.mousePosition.x, (Screen.height - currentEvent.mousePosition.y));
                oXInit    = offsetX;
                oYInit    = offsetY;
                isPressed = true;
            }
        }
        if (currentEvent.type == EventType.MouseUp)
        {
            isPressed = false;
        }
    }