Пример #1
0
    protected virtual void SetButtonState(bool suppressTransition)
    {
        if (base.spriteMesh == null)
        {
            return;
        }
        if (!this.m_started)
        {
            return;
        }
        int num = (int)this.state;

        this.state = ((!this.controlIsEnabled) ? UIRadioBtn.CONTROL_STATE.Disabled : ((!this.btnValue) ? UIRadioBtn.CONTROL_STATE.False : UIRadioBtn.CONTROL_STATE.True));
        int newState = Mathf.Clamp((int)this.state, 0, 2);

        if (!base.gameObject.activeInHierarchy)
        {
            this.stateChangeWhileDeactivated = true;
            return;
        }
        this.SetState(newState);
        this.UpdateCollider();
        this.SetLayerState(this.state);
        if (!suppressTransition)
        {
            if (this.prevTransition != null && num != (int)this.state)
            {
                this.prevTransition.StopSafe();
            }
            this.StartTransition(newState, num);
        }
    }
Пример #2
0
    public override void Copy(SpriteRoot s, ControlCopyFlags flags)
    {
        base.Copy(s, flags);
        if (!(s is UIRadioBtn))
        {
            return;
        }
        UIRadioBtn uIRadioBtn = (UIRadioBtn)s;

        if ((flags & ControlCopyFlags.State) == ControlCopyFlags.State)
        {
            this.state          = uIRadioBtn.state;
            this.prevTransition = uIRadioBtn.prevTransition;
            if (Application.isPlaying)
            {
                this.Value = uIRadioBtn.Value;
            }
        }
        if ((flags & ControlCopyFlags.Settings) == ControlCopyFlags.Settings)
        {
            this.group        = uIRadioBtn.group;
            this.defaultValue = uIRadioBtn.defaultValue;
        }
        if ((flags & ControlCopyFlags.Invocation) == ControlCopyFlags.Invocation)
        {
            this.scriptWithMethodToInvoke = uIRadioBtn.scriptWithMethodToInvoke;
            this.methodToInvoke           = uIRadioBtn.methodToInvoke;
            this.whenToInvoke             = uIRadioBtn.whenToInvoke;
            this.delay = uIRadioBtn.delay;
        }
        if ((flags & ControlCopyFlags.Sound) == ControlCopyFlags.Sound)
        {
            this.soundToPlay = uIRadioBtn.soundToPlay;
        }
    }
Пример #3
0
 public override void Start()
 {
     if (this.m_started)
     {
         return;
     }
     base.Start();
     this.aggregateLayers    = new SpriteRoot[1][];
     this.aggregateLayers[0] = this.layers;
     this.state = ((!this.controlIsEnabled) ? UIRadioBtn.CONTROL_STATE.Disabled : ((!this.btnValue) ? UIRadioBtn.CONTROL_STATE.False : UIRadioBtn.CONTROL_STATE.True));
     if (Application.isPlaying)
     {
         this.stateIndices = new int[this.layers.Length, 5];
         int num = (!this.btnValue) ? 1 : 0;
         num = ((!this.m_controlIsEnabled) ? 2 : num);
         for (int i = 0; i < this.layers.Length; i++)
         {
             if (!(this.layers[i] == null))
             {
                 this.stateIndices[i, 0] = 0;
                 this.stateIndices[i, 1] = 0;
                 this.stateIndices[i, 2] = this.layers[i].GetStateIndex("disabled");
                 this.stateIndices[i, 3] = this.layers[i].GetStateIndex("over");
                 this.stateIndices[i, 4] = this.layers[i].GetStateIndex("active");
                 if (this.stateIndices[i, num] != -1)
                 {
                     this.layers[i].SetState(this.stateIndices[i, num]);
                 }
                 else
                 {
                     this.layers[i].Hide(true);
                 }
             }
         }
         if (base.collider == null)
         {
             this.AddCollider();
         }
         this.SetValue(this.btnValue, true);
         if (this.useParentForGrouping && base.transform.parent != null)
         {
             this.SetGroup(base.transform.parent.GetHashCode());
         }
         else
         {
             this.SetGroup(this.radioGroup);
         }
     }
     if (this.managed && this.m_hidden)
     {
         this.Hide(true);
     }
 }
Пример #4
0
 protected void DisableMe()
 {
     this.SetState(this.states.Length - 1);
     base.UseStateLabel(this.states.Length - 1);
     for (int i = 0; i < this.layers.Length; i++)
     {
         if (this.stateIndices[i, this.states.Length - 1] != -1)
         {
             this.layers[i].SetState(this.stateIndices[i, this.states.Length - 1]);
         }
     }
     if (this.prevTransition != null)
     {
         this.prevTransition.StopSafe();
     }
     this.StartTransition(2, (int)this.state);
     this.state = UIRadioBtn.CONTROL_STATE.Disabled;
 }
Пример #5
0
    protected void SetLayerState(UIRadioBtn.CONTROL_STATE s)
    {
        if (s == this.layerState)
        {
            return;
        }
        this.layerState = s;
        int num = (int)this.layerState;

        for (int i = 0; i < this.layers.Length; i++)
        {
            if (this.stateIndices[i, num] != -1)
            {
                this.layers[i].Hide(base.IsHidden());
                this.layers[i].SetState(this.stateIndices[i, num]);
            }
            else
            {
                this.layers[i].Hide(true);
            }
        }
    }