// Token: 0x060049D2 RID: 18898 RVA: 0x0011BAEC File Offset: 0x00119CEC
    private void OnEnable()
    {
        string @string = PlayerPrefs.GetString(this.key);

        if (!string.IsNullOrEmpty(@string))
        {
            global::UICheckbox component = base.GetComponent <global::UICheckbox>();
            if (component != null)
            {
                component.isChecked = (@string == "true");
            }
            else
            {
                global::UICheckbox[] componentsInChildren = base.GetComponentsInChildren <global::UICheckbox>();
                int i   = 0;
                int num = componentsInChildren.Length;
                while (i < num)
                {
                    global::UICheckbox      uicheckbox      = componentsInChildren[i];
                    global::UIEventListener uieventListener = global::UIEventListener.Get(uicheckbox.gameObject);
                    uieventListener.onClick = (global::UIEventListener.VoidDelegate)Delegate.Remove(uieventListener.onClick, new global::UIEventListener.VoidDelegate(this.Save));
                    uicheckbox.isChecked    = (uicheckbox.name == @string);
                    Debug.Log(@string);
                    global::UIEventListener uieventListener2 = global::UIEventListener.Get(uicheckbox.gameObject);
                    uieventListener2.onClick = (global::UIEventListener.VoidDelegate)Delegate.Combine(uieventListener2.onClick, new global::UIEventListener.VoidDelegate(this.Save));
                    i++;
                }
            }
        }
    }
    // Token: 0x060049D4 RID: 18900 RVA: 0x0011BBE0 File Offset: 0x00119DE0
    private void Save(GameObject go)
    {
        global::UICheckbox component = base.GetComponent <global::UICheckbox>();

        if (component != null)
        {
            PlayerPrefs.SetString(this.key, (!component.isChecked) ? "false" : "true");
        }
        else
        {
            global::UICheckbox[] componentsInChildren = base.GetComponentsInChildren <global::UICheckbox>();
            int i   = 0;
            int num = componentsInChildren.Length;
            while (i < num)
            {
                global::UICheckbox uicheckbox = componentsInChildren[i];
                if (uicheckbox.isChecked)
                {
                    PlayerPrefs.SetString(this.key, uicheckbox.name);
                    break;
                }
                i++;
            }
        }
    }
 // Token: 0x06004961 RID: 18785 RVA: 0x00118168 File Offset: 0x00116368
 private void Set(bool state)
 {
     if (!this.mStarted)
     {
         this.mChecked      = state;
         this.startsChecked = state;
         if (this.checkSprite != null)
         {
             this.checkSprite.alpha = ((!state) ? 0f : 1f);
         }
     }
     else if (this.mChecked != state)
     {
         if (this.radioButtonRoot != null && state)
         {
             global::UICheckbox[] componentsInChildren = this.radioButtonRoot.GetComponentsInChildren <global::UICheckbox>(true);
             int i   = 0;
             int num = componentsInChildren.Length;
             while (i < num)
             {
                 global::UICheckbox uicheckbox = componentsInChildren[i];
                 if (uicheckbox != this && uicheckbox.radioButtonRoot == this.radioButtonRoot)
                 {
                     uicheckbox.Set(false);
                 }
                 i++;
             }
         }
         this.mChecked = state;
         if (this.checkSprite != null)
         {
             Color color = this.checkSprite.color;
             color.a = ((!this.mChecked) ? 0f : 1f);
             global::TweenColor.Begin(this.checkSprite.gameObject, 0.2f, color);
         }
         if (this.eventReceiver != null && !string.IsNullOrEmpty(this.functionName))
         {
             global::UICheckbox.current = this;
             this.eventReceiver.SendMessage(this.functionName, this.mChecked, 1);
         }
         if (this.checkAnimation != null)
         {
             global::ActiveAnimation.Play(this.checkAnimation, (!state) ? AnimationOrTween.Direction.Reverse : AnimationOrTween.Direction.Forward);
         }
     }
 }