Esempio n. 1
0
        internal ACommand(int id, string name, TargetType target, MappingType mappingType, MappingSettings rawSettings)
        {
            RawSettings = rawSettings;

            Id          = id;
            Name        = name;
            Target      = target;
            MappingType = mappingType;

            updateAssignmentOptions();
            if (!AssignmentOptions.ContainsKey(Assignment))
            {
                RawSettings.Target = AssignmentOptions.First().Key;
            }

            updateControlTypeOptions();
            if (!ControlTypeOptions.ContainsKey(ControlType))
            {
                RawSettings.ControlType = ControlTypeOptions.First().Key;
            }

            updateControlInteractionOptions();
            if (!ControlInteractionOptions.ContainsKey(InteractionMode))
            {
                RawSettings.InteractionMode = ControlInteractionOptions.First().Key;
            }

            updateControl();
        }
Esempio n. 2
0
 internal EnumCondition(int id, string name, TargetType target, Format.MappingSettings rawSettings, ConditionNumber number)
     : base(id, name, target, rawSettings, number)
 {
     if (!typeof(T).IsEnum)
     {
         throw new Exception("T must be an Enumeration type.");
     }
 }
Esempio n. 3
0
        /// <summary>
        /// Set condition by proxy.
        /// </summary>
        /// <param name="mappingSettings">Format.MappingSettings needed by proxy for creation of condition</param>
        /// <param name="number">Number of condition</param>
        /// <param name="proxy">ConditionProxy or null to reset condition.</param>
        /// <returns>True if condition was changed.</returns>
        internal bool SetCondition(Format.MappingSettings mappingSettings, ConditionNumber number, ConditionProxy proxy)
        {
            ACondition condition = (proxy != null) ? proxy.Create(mappingSettings, number) : null;

            if (condition != null)
            {
                condition.Assignment = condition.AssignmentOptions.Keys.First();
                condition.SetValue(condition.GetValueOptions().Keys.First());
            }
            return(setCondition(number, condition));
        }
Esempio n. 4
0
        public void Swap()
        {
            Format.MappingSettings rawSettings = (Condition1 != null) ? Condition1.RawSettings : (Condition2 != null) ? Condition2.RawSettings : null;
            if (rawSettings == null)
            {
                return;
            }

            var swap = Condition1;

            SetCondition(rawSettings, ConditionNumber.One, Condition2);
            SetCondition(rawSettings, ConditionNumber.Two, swap);
        }
Esempio n. 5
0
        internal ACondition(int id, string name, TargetType target, Format.MappingSettings rawSettings, ConditionNumber number)
        {
            RawSettings = rawSettings;
            _number     = number;

            Id     = id;
            Name   = name;
            Target = target;

            _valueProperty = GetType().GetProperty("Value");

            updateAssignmentOptions();
            syncSettings();
        }
Esempio n. 6
0
        /// <summary>
        /// Set condition by another condition.
        /// </summary>
        /// <param name="mappingSettings">Format.MappingSettings needed by proxy for creation of condition</param>
        /// <param name="number">Number of condition</param>
        /// <param name="condition">ACondition or null to reset condition.</param>
        /// <returns>True if condition was changed.</returns>
        internal bool SetCondition(Format.MappingSettings mappingSettings, ConditionNumber number, ACondition condition)
        {
            if (condition == null)
            {
                return(setCondition(number, condition));
            }
            else
            {
                bool changed = false;

                var targetCondition = (number == ConditionNumber.One) ? Condition1 : Condition2;

                if (targetCondition == null || targetCondition.Id != condition.Id)
                {
                    changed         = SetCondition(mappingSettings, number, Conditions.All.GetConditionProxy(condition.Id));
                    targetCondition = (number == ConditionNumber.One) ? Condition1 : Condition2; // needed?
                }

                // set assignment
                if (!changed)
                {
                    changed |= targetCondition.Assignment != condition.Assignment;
                }
                targetCondition.Assignment = condition.Assignment;

                // set value
                var newValue = condition.GetValue();
                if (!changed)
                {
                    changed |= targetCondition.GetValue() != newValue;
                }
                targetCondition.SetValue(newValue);

                return(changed);
            }
        }
Esempio n. 7
0
 internal IntCondition(int id, string name, TargetType target, Format.MappingSettings rawSettings, ConditionNumber number)
     : base(id, name, target, rawSettings, number)
 {
 }