Radio buttons

Discussion in 'Extensions & OnGUI' started by ITAmember, Jun 4, 2010.

  1. ITAmember

    ITAmember

    Joined:
    Feb 13, 2010
    Messages:
    88
    I would like to make a radio button control out of multiple toggle controls. However, since each of the toggle controls are independent of each other you can select multiple ones, I only want the user to be able to select one at a time.

    I know I can do this with brute force in scripting by storing the last state of the toggle, testing for change, and setting all the others to false, but there should be a better way.

    If my description of a radio button is confusing here is a wikipedia link. http://en.wikipedia.org/wiki/Radio_button
     
  2. unitymatrix

    unitymatrix

    Joined:
    Dec 29, 2009
    Messages:
    94
  3. ITAmember

    ITAmember

    Joined:
    Feb 13, 2010
    Messages:
    88
    Thank you, works great!
     
  4. mythicwave

    mythicwave

    Joined:
    Jul 13, 2008
    Messages:
    144
     
  5. mythicwave

    mythicwave

    Joined:
    Jul 13, 2008
    Messages:
    144
    Actually, I got it without SelectionGrid. The code isn't that tricky :roll:
     
  6. raiden

    raiden

    Joined:
    Feb 8, 2009
    Messages:
    226
    I can't believe i fiddled farted with this for hours, when "unitymatrix" had the perfect solution!

    Thanks!

    -Raiden
     
  7. Cesarecf

    Cesarecf

    Joined:
    Sep 1, 2012
    Messages:
    3
  8. vikingfabian.com

    vikingfabian.com

    Joined:
    Dec 5, 2013
    Messages:
    9
    rainabba likes this.
  9. rainabba

    rainabba

    Joined:
    Dec 10, 2014
    Messages:
    1
    Looks great, but the selection won't change and I can't find ANY decent documentation on EditorStyles.radioButton. Do I need to add a handler or something?
     
  10. BMayne

    BMayne

    Joined:
    Aug 4, 2014
    Messages:
    80
    EditorStyles is just a regular GUIStyle but it's themed with the editor art, it does not effect input at all. My guess is that you copied and pasted the code above without looking at how it works.

    If you notice the first argument is a 0 and GUILayout.SelectionGrid returns an int. Try saving that value and sending it back in.

    http://docs.unity3d.com/ScriptReference/GUILayout.SelectionGrid.html