public Algorythm Build(MyColor[][][] data, MyVector2Float[] pivots, ComputeMode computeMode) { var sizingCofigurators = new List <ISizingsConfigurator>(); for (int i = 0; i < _sizingCofiguratorTypes.Count; i++) { var instance = Activator.CreateInstance(_sizingCofiguratorTypes[i], _sizingCofiguratorCtorParams[i]); sizingCofigurators.Add((ISizingsConfigurator)instance); } var scoreCounters = new List <IScoreCounter>(); for (int i = 0; i < _scoreCounterTypes.Count; i++) { var instance = Activator.CreateInstance(_scoreCounterTypes[i]); scoreCounters.Add((IScoreCounter)instance); } if (_areaEnumeratorType == null) { _areaEnumeratorType = typeof(DefaultAreaEnumerator); } return(new Algorythm(data, pivots, _areaEnumeratorType, sizingCofigurators, scoreCounters, _areasFreshmentSpan, _areasVolatilityRange, computeMode)); }
public string GetFetchValueString(string localName, int size, ComputeMode computeMode, CurveSampleMode sampleMode) { string output; switch (SampleMode) { case CurveSampleMode.OverLife: output = "float t = age / lifetime;\n"; break; case CurveSampleMode.BySpeed: output = "float t = saturate((length(velocity) - SpeedRange.x) * SpeedRange.y);\n"; break; case CurveSampleMode.Random: output = "float t = RAND;\n"; break; case CurveSampleMode.RandomConstantPerParticle: output = "float t = FIXED_RAND(Seed);\n"; break; case CurveSampleMode.Custom: output = "float t = SampleTime;\n"; break; default: throw new NotImplementedException("Invalid CurveSampleMode"); } output += string.Format("float{0} value = 0.0f;\n", (size == 1) ? "" : size.ToString()); if (computeMode == ComputeMode.Uniform || size == 1) { output += string.Format("value = SampleCurve({0}, t);\n", localName); } else { if (currentAttribute.Equals(VFXAttribute.Color)) { output += string.Format("value = SampleGradient({0}, t);\n", localName); } else { if (size > 0) { output += string.Format("value[0] = SampleCurve({0}, t);\n", localName + "_x"); } if (size > 1) { output += string.Format("value[1] = SampleCurve({0}, t);\n", localName + "_y"); } if (size > 2) { output += string.Format("value[2] = SampleCurve({0}, t);\n", localName + "_z"); } if (size > 3) { output += string.Format("value[3] = SampleCurve({0}, t);\n", localName + "_w"); } } } return(output); }
/// <summary> /// Gets the webspace properties that will allow the manipulation of the scale /// </summary> private void GetScaleSettings() { var command = new GetScaleSettingsCommand(MobileServiceName) { SubscriptionId = SubscriptionId, Certificate = ManagementCertificate }; command.Execute(); TotalInstanceCount = command.ScaleSettings.InstanceCount; ComputeMode = command.ScaleSettings.ComputeMode; }
private void Process(double billAmount, double tipFactor, ComputeMode computeMode = ComputeMode.Exact) { Calculator calculator; if (IsValid(entBill.Text)) { calculator = new Calculator(billAmount, tipFactor, computeMode); } else { calculator = new Calculator(0, tipFactor, computeMode); } calculator.Calculate(); UpdateUI(calculator); }
public string GetFetchValueString(string localName, int size, ComputeMode mode) { string output = "float t = age / lifetime;\n"; output += string.Format("float{0} value = 0.0f;\n", (size == 1) ? "" : size.ToString()); if (mode == ComputeMode.Uniform) { output += string.Format("value = SampleCurve({0}, t);\n", localName); } else { if (currentAttribute.Equals(VFXAttribute.Color)) { output += string.Format("value = SampleGradient({0}, t).rgb;\n", localName); } else { if (size > 0) { output += string.Format("value{1} = SampleCurve({0}, t);\n", localName + (size == 1 ? "" : "_x"), (size == 1 ? "" : "[0]")); } if (size > 1) { output += string.Format("value[1] = SampleCurve({0}, t);\n", localName + "_y"); } if (size > 2) { output += string.Format("value[2] = SampleCurve({0}, t);\n", localName + "_z"); } if (size > 3) { output += string.Format("value[3] = SampleCurve({0}, t);\n", localName + "_w"); } } } return(output); }
private void ReviseCurrentSP(float reviseValue, ReviseType reviseMode, ComputeMode computeMode) { float revise = reviseValue; switch (reviseMode) { case ReviseType.PercentBase: revise = maxSP * reviseValue; break; case ReviseType.PercentCurrent: revise = currentSP * reviseValue; break; case ReviseType.PercentUsed: revise = (maxSP - currentSP) * reviseValue; break; } switch (computeMode) { case ComputeMode.Add: currentSP += revise; break; case ComputeMode.Set: if (revise <= 0) { currentSP = Mathf.Min(currentSP, -revise); } else { currentSP = Mathf.Max(currentSP, revise); } break; } }
public Calculator(double _billAmount, double _tipFactor, ComputeMode _computeMode) { BillAmount = _billAmount; TipFactor = _tipFactor; ComputeMode = _computeMode; }
public long AddItemRevise(ReviseField reviseField, float reviseValue, ReviseType reviseMode, ComputeMode computeMode, float duration) { long receipt = -1; switch (reviseField) { case ReviseField.MaxSP: receipt = AddItemReviseMaxSP(reviseValue, reviseMode, duration); break; case ReviseField.CurrentSP: ReviseCurrentSP(reviseValue, reviseMode, computeMode); break; case ReviseField.RecoverSP: receipt = AddItemReviseRecoverSP(reviseValue, reviseMode, duration); break; case ReviseField.TimeScale: receipt = AddItemReviseTimeScale(reviseValue, reviseMode, duration); break; } return(receipt); }