public void setValueWithData(SimCapiData data)
        {
            switch (_type)
            {
            case SimCapiValueType.NUMBER:
            {
                NumberData numberData = (NumberData)_value;

                float?value = data.getNumber();

                if (value == null)
                {
                    SimCapiConsole.log("Cannot set " + _type.ToString() + " with " + data.GetType().ToString());
                }
                else
                {
                    numberData.value = value.Value;
                }

                break;
            }

            case SimCapiValueType.ARRAY:
            {
                ArrayData arrayData = (ArrayData)_value;

                string[] value = data.getStringArray();

                if (value == null)
                {
                    SimCapiConsole.log("Cannot set " + _type.ToString() + " with " + data.GetType().ToString());
                }
                else
                {
                    arrayData.value = value;
                }

                break;
            }

            case SimCapiValueType.BOOLEAN:
            {
                BoolData boolData = (BoolData)_value;

                bool?value = data.getBool();

                if (value == null)
                {
                    SimCapiConsole.log("Cannot set " + _type.ToString() + " with " + data.GetType().ToString());
                }
                else
                {
                    boolData.value = value.Value;
                }

                break;
            }

            case SimCapiValueType.STRING:
            case SimCapiValueType.ENUM:
            case SimCapiValueType.MATH_EXPR:
            case SimCapiValueType.ARRAY_POINT:
            {
                StringData stringData = (StringData)_value;
                stringData.value = data.ToString();
                break;
            }
            }
        }