Exemplo n.º 1
0
    protected virtual void OnGUI()
    {
        if (m_windowInformation == null)
        {
            m_windowInformation = new BalloonPluggerWindowInformation();
        }

        EditorGUILayout.BeginHorizontal();

        bool v_refreshClicked = GUILayout.Button("Refresh Informations");

        EditorGUILayout.EndHorizontal();

        if (v_refreshClicked)
        {
            Refresh();
        }

        if (m_windowInformation.Ballons != null)
        {
            EditorGUILayout.BeginHorizontal();

            GUILayout.Label("Ballon");
            m_windowInformation.SelectedBallonIndex = EditorGUILayout.Popup(m_windowInformation.SelectedBallonIndex, m_windowInformation.Ballons.GetStringList().ToArray());

            EditorGUILayout.EndHorizontal();
        }

        if (m_windowInformation.Ropes != null)
        {
            EditorGUILayout.BeginHorizontal();

            GUILayout.Label("Ropes");
            m_windowInformation.SelectedRopeIndex = EditorGUILayout.Popup(m_windowInformation.SelectedRopeIndex, m_windowInformation.Ropes.GetStringList().ToArray());

            EditorGUILayout.EndHorizontal();
        }

        EditorGUILayout.BeginHorizontal();

        GUILayout.Label("Plug In Selected Object In Scene");

        m_windowInformation.PlugInSelectedObject = EditorGUILayout.BeginToggleGroup("", m_windowInformation.PlugInSelectedObject);
        EditorGUILayout.EndToggleGroup();

        EditorGUILayout.EndHorizontal();

        if (!m_windowInformation.PlugInSelectedObject)
        {
            EditorGUILayout.BeginHorizontal();

            m_windowInformation.ObjectInSceneToPlug = (GameObject)EditorGUILayout.ObjectField("Object To Plug", m_windowInformation.ObjectInSceneToPlug, typeof(GameObject), true);

            EditorGUILayout.EndHorizontal();
        }
        else
        {
            Transform v_transform = Selection.activeTransform;
            if (v_transform != null)
            {
                m_windowInformation.ObjectInSceneToPlug = v_transform.gameObject;
            }
        }

        BalloonProperty v_ballonPrefabComponent = m_windowInformation.Ballons != null && m_windowInformation.SelectedBallonIndex >= 0 && m_windowInformation.Ballons.Count > m_windowInformation.SelectedBallonIndex? m_windowInformation.Ballons[m_windowInformation.SelectedBallonIndex] : null;
        TackRope        v_ropePrefabComponent   = m_windowInformation.Ropes != null && m_windowInformation.SelectedRopeIndex >= 0 && m_windowInformation.Ropes.Count > m_windowInformation.SelectedRopeIndex? m_windowInformation.Ropes[m_windowInformation.SelectedRopeIndex] : null;

        if (m_windowInformation.ObjectInSceneToPlug != null && v_ballonPrefabComponent != null && v_ropePrefabComponent != null)
        {
            EditorGUILayout.BeginHorizontal();

            bool v_buttonClicked = GUILayout.Button("Plug Ballon");

            EditorGUILayout.EndHorizontal();

            if (v_buttonClicked)
            {
                PlugBallon();
            }
        }
    }
	protected virtual void OnGUI ()
	{
		if(m_windowInformation == null)
			m_windowInformation = new BalloonPluggerWindowInformation();

		EditorGUILayout.BeginHorizontal();
		
		bool v_refreshClicked = GUILayout.Button("Refresh Informations");
		
		EditorGUILayout.EndHorizontal ();

		if(v_refreshClicked)
			Refresh();

		if(m_windowInformation.Ballons != null)
		{
			EditorGUILayout.BeginHorizontal();

			GUILayout.Label("Ballon");
			m_windowInformation.SelectedBallonIndex = EditorGUILayout.Popup(m_windowInformation.SelectedBallonIndex, m_windowInformation.Ballons.GetStringList().ToArray());

			EditorGUILayout.EndHorizontal ();
		}

		if(m_windowInformation.Ropes != null)
		{
			EditorGUILayout.BeginHorizontal();
			
			GUILayout.Label("Ropes");
			m_windowInformation.SelectedRopeIndex = EditorGUILayout.Popup(m_windowInformation.SelectedRopeIndex, m_windowInformation.Ropes.GetStringList().ToArray());
			
			EditorGUILayout.EndHorizontal ();
		}

		EditorGUILayout.BeginHorizontal();
		
		GUILayout.Label("Plug In Selected Object In Scene");
		
		m_windowInformation.PlugInSelectedObject = EditorGUILayout.BeginToggleGroup("", m_windowInformation.PlugInSelectedObject);
		EditorGUILayout.EndToggleGroup();
		
		EditorGUILayout.EndHorizontal ();

		if(!m_windowInformation.PlugInSelectedObject)
		{
			EditorGUILayout.BeginHorizontal();
			
			m_windowInformation.ObjectInSceneToPlug = (GameObject)EditorGUILayout.ObjectField ("Object To Plug", m_windowInformation.ObjectInSceneToPlug, typeof(GameObject), true);
			
			EditorGUILayout.EndHorizontal ();
		}
		else
		{
			Transform v_transform = Selection.activeTransform;
			if(v_transform != null)
				m_windowInformation.ObjectInSceneToPlug = v_transform.gameObject;
		}

		BalloonProperty v_ballonPrefabComponent =  m_windowInformation.Ballons != null && m_windowInformation.SelectedBallonIndex >=0 && m_windowInformation.Ballons.Count > m_windowInformation.SelectedBallonIndex? m_windowInformation.Ballons[m_windowInformation.SelectedBallonIndex] : null; 
		TackRope v_ropePrefabComponent =  m_windowInformation.Ropes != null && m_windowInformation.SelectedRopeIndex >=0 && m_windowInformation.Ropes.Count > m_windowInformation.SelectedRopeIndex? m_windowInformation.Ropes[m_windowInformation.SelectedRopeIndex] : null; 

		if(m_windowInformation.ObjectInSceneToPlug != null && v_ballonPrefabComponent != null && v_ropePrefabComponent != null)
		{
			EditorGUILayout.BeginHorizontal();

			bool v_buttonClicked = GUILayout.Button("Plug Ballon");
			
			EditorGUILayout.EndHorizontal ();

			if(v_buttonClicked)
				PlugBallon();
		}
	}