Example #1
0
        private void FireAttractEvent()
        {
            if (this.AttractionChanged == null)
            {
                return;
            }

            BodyAttractionType attractionType = GetAttractionType();

            double distance = trkDistance.Value;
            double strength;

            switch (attractionType)
            {
            case BodyAttractionType.Gravity:
                strength = UtilityCore.GetScaledValue_Capped(0, 125, trkStrength.Minimum, trkStrength.Maximum, trkStrength.Value);
                break;

            case BodyAttractionType.Spring:
                strength = UtilityCore.GetScaledValue_Capped(0, 10, trkStrength.Minimum, trkStrength.Maximum, trkStrength.Value);
                break;

            case BodyAttractionType.SpringDesiredDistance:
                strength = UtilityCore.GetScaledValue_Capped(0, 50, trkStrength.Minimum, trkStrength.Maximum, trkStrength.Value);
                distance = UtilityCore.GetScaledValue_Capped(0, 100, trkDistance.Minimum, trkDistance.Maximum, trkDistance.Value);
                break;

            case BodyAttractionType.SpringInverseDist:
                strength = UtilityCore.GetScaledValue_Capped(0, 10, trkStrength.Minimum, trkStrength.Maximum, trkStrength.Value);
                break;

            case BodyAttractionType.Tangent:
                strength = UtilityCore.GetScaledValue_Capped(0, 200, trkStrength.Minimum, trkStrength.Maximum, trkStrength.Value);
                distance = UtilityCore.GetScaledValue_Capped(0, 50, trkDistance.Minimum, trkDistance.Maximum, trkDistance.Value);
                break;

            case BodyAttractionType.Constant:
                strength = UtilityCore.GetScaledValue_Capped(0, 20, trkStrength.Minimum, trkStrength.Maximum, trkStrength.Value);
                break;

            default:
                strength = UtilityCore.GetScaledValue_Capped(0, 100, trkStrength.Minimum, trkStrength.Maximum, trkStrength.Value);
                break;
            }

            BodyAttractionArgs args = new BodyAttractionArgs(GetAttractionType(), GetIsToward(), strength, distance);

            this.AttractionChanged(this, args);
        }
Example #2
0
        private void bodyAttraction1_AttractionChanged(object sender, BodyAttractionArgs e)
        {
            try
            {
                if (e.AttractionType == BodyAttractionType.None)
                {
                    _bodyAttraction = null;
                }
                else
                {
                    _bodyAttraction = e;
                }

                _bodyAttractionForces.Clear();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), this.Title, MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
		private void FireAttractEvent()
		{
			if (this.AttractionChanged == null)
			{
				return;
			}

			BodyAttractionType attractionType = GetAttractionType();

			double distance = trkDistance.Value;
			double strength;
			switch (attractionType)
			{
				case BodyAttractionType.Gravity:
					strength = UtilityCore.GetScaledValue_Capped(0, 125, trkStrength.Minimum, trkStrength.Maximum, trkStrength.Value);
					break;

				case BodyAttractionType.Spring:
					strength = UtilityCore.GetScaledValue_Capped(0, 10, trkStrength.Minimum, trkStrength.Maximum, trkStrength.Value);
					break;

				case BodyAttractionType.SpringDesiredDistance:
					strength = UtilityCore.GetScaledValue_Capped(0, 50, trkStrength.Minimum, trkStrength.Maximum, trkStrength.Value);
					distance = UtilityCore.GetScaledValue_Capped(0, 100, trkDistance.Minimum, trkDistance.Maximum, trkDistance.Value);
					break;

				case BodyAttractionType.SpringInverseDist:
					strength = UtilityCore.GetScaledValue_Capped(0, 10, trkStrength.Minimum, trkStrength.Maximum, trkStrength.Value);
					break;

				case BodyAttractionType.Tangent:
					strength = UtilityCore.GetScaledValue_Capped(0, 200, trkStrength.Minimum, trkStrength.Maximum, trkStrength.Value);
					distance = UtilityCore.GetScaledValue_Capped(0, 50, trkDistance.Minimum, trkDistance.Maximum, trkDistance.Value);
					break;

				case BodyAttractionType.Constant:
					strength = UtilityCore.GetScaledValue_Capped(0, 20, trkStrength.Minimum, trkStrength.Maximum, trkStrength.Value);
					break;

				default:
					strength = UtilityCore.GetScaledValue_Capped(0, 100, trkStrength.Minimum, trkStrength.Maximum, trkStrength.Value);
					break;
			}

			BodyAttractionArgs args = new BodyAttractionArgs(GetAttractionType(), GetIsToward(), strength, distance);
			this.AttractionChanged(this, args);
		}
        private void bodyAttraction1_AttractionChanged(object sender, BodyAttractionArgs e)
        {
            try
            {
                if (e.AttractionType == BodyAttractionType.None)
                {
                    _bodyAttraction = null;
                }
                else
                {
                    _bodyAttraction = e;
                }

                _bodyAttractionForces.Clear();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), this.Title, MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }