Ejemplo n.º 1
0
        private void UpdateVariableElements()
        {
            //Hide editor windows until we have a variable selected to work with
            grpNumericVariable.Hide();
            grpBooleanVariable.Hide();
            grpStringVariable.Hide();

            var varType = 0;

            if (cmbVariable.SelectedIndex > -1)
            {
                //Determine Variable Type
                if (rdoPlayerVariable.Checked)
                {
                    var playerVar = PlayerVariableBase.FromList(cmbVariable.SelectedIndex);
                    if (playerVar != null)
                    {
                        varType = (byte)playerVar.Type;
                    }
                }
                else if (rdoGlobalVariable.Checked)
                {
                    var serverVar = ServerVariableBase.FromList(cmbVariable.SelectedIndex);
                    if (serverVar != null)
                    {
                        varType = (byte)serverVar.Type;
                    }
                }
            }

            //Load the correct editor
            if (varType > 0)
            {
                switch ((VariableDataTypes)varType)
                {
                case VariableDataTypes.Boolean:
                    grpBooleanVariable.Show();
                    TryLoadVariableBooleanComparison(((VariableIsCondition)Condition).Comparison);

                    break;

                case VariableDataTypes.Integer:
                    grpNumericVariable.Show();
                    TryLoadVariableIntegerComparison(((VariableIsCondition)Condition).Comparison);
                    UpdateNumericVariableElements();

                    break;

                case VariableDataTypes.Number:
                    break;

                case VariableDataTypes.String:
                    grpStringVariable.Show();
                    TryLoadVariableStringComparison(((VariableIsCondition)Condition).Comparison);

                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }
        }