Search code examples
c#unity-game-enginengui

Compare two functions (Checkbox) Unity


I want to compare this two function

const string RADIO_ON_SPRITE_NAME = "popup_radiobtn01_on";
const string RADIO_OFF_SPRITE_NAME = "popup_radiobtn01_off";
[SerializeField] UIButton livestream = null;
[SerializeField] UIButton render = null;

 public void LiveStreaming()
{

    if (livestream.normalSprite == RADIO_OFF_SPRITE_NAME)
    {
        livestream.normalSprite = RADIO_ON_SPRITE_NAME ;
    } else
    {
        livestream.normalSprite = RADIO_OFF_SPRITE_NAME;
    }
}

public void Rendering()
{

    if (render.normalSprite == RADIO_OFF_SPRITE_NAME)
    {
        render.normalSprite = RADIO_ON_SPRITE_NAME;
    } else
    {
        render.normalSprite = RADIO_OFF_SPRITE_NAME;
    }
}

What I am trying to do here is that when one checkbox is checked then the other one should not be checked. I'm using the NGUI of Unity by the way and here's an image of what I am trying to do.

Sample image:

imgur.com/a/Zrfsn.


Solution

  • Solved it

    public void LiveStreaming()
    {
        //livestream.normalSprite = (livestream.normalSprite == RADIO_OFF_SPRITE_NAME) ? RADIO_ON_SPRITE_NAME : RADIO_OFF_SPRITE_NAME;
        if (livestream.normalSprite == RADIO_OFF_SPRITE_NAME)
        {
            livestream.normalSprite = RADIO_ON_SPRITE_NAME;
            isChecked = true;
            if (isChecked && render.normalSprite == RADIO_ON_SPRITE_NAME)
            {
                render.normalSprite = RADIO_OFF_SPRITE_NAME;
            }
        } else
        {
            livestream.normalSprite = RADIO_OFF_SPRITE_NAME;
            isChecked = false;
            if (!isChecked && render.normalSprite == RADIO_OFF_SPRITE_NAME)
            {
                render.normalSprite = RADIO_ON_SPRITE_NAME;
            }
        }
    }
    
    public void Rendering()
    {
        //render.normalSprite = (render.normalSprite == RADIO_OFF_SPRITE_NAME) ? RADIO_ON_SPRITE_NAME : RADIO_OFF_SPRITE_NAME;
        if (render.normalSprite == RADIO_OFF_SPRITE_NAME)
        {
            render.normalSprite = RADIO_ON_SPRITE_NAME;
            isChecked = true;
            if (isChecked && livestream.normalSprite == RADIO_ON_SPRITE_NAME)
            {
                livestream.normalSprite = RADIO_OFF_SPRITE_NAME;
            }
        } else
        {
            render.normalSprite = RADIO_OFF_SPRITE_NAME;
            isChecked = false;
            if (!isChecked && livestream.normalSprite == RADIO_OFF_SPRITE_NAME)
            {
                livestream.normalSprite = RADIO_ON_SPRITE_NAME;
            }
        }
    }