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); } }
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; } }
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); } }
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; }
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); } } }