protected IEnumerator BlendingProcedure()
        {
            Debug.Log("Start blending...");
            ParamRef[] previousParams = new ParamRef[defaultParams.Count];
            defaultParams.CopyTo(previousParams); // Copy it to create new references

            for (float i = 0; i < blendingTime;)
            {
                float currentBlend = i / blendingTime; // The x position in the blending curve
                foreach (ParamRef paramRef in previousParams)
                {
                    float targetValue  = float.Parse(parameters[paramRef.Name]);                                    // The value we'll have at the end
                    float startValue   = paramRef.Value;                                                            // The value we'd at the beginning
                    float currentValue = Mathf.Lerp(startValue, targetValue, blendingCurve.Evaluate(currentBlend)); // The value we want now (linear interpolation)

                    targetEmitter.SetParameter(paramRef.Name, currentValue);
                    Debug.Log(paramRef.Name + " : " + currentValue);
                }

                i += BlendingPrecision;
                yield return(new WaitForSeconds(BlendingPrecision));
            }

            if (applyLastValue)
            {
                foreach (ParamRef paramRef in previousParams)
                {
                    float targetValue = float.Parse(parameters[paramRef.Name]); // The value we'll have at the end
                    targetEmitter.SetParameter(paramRef.Name, targetValue);
                    Debug.Log(paramRef.Name + " : " + targetValue);
                }
            }
            BlendingCoroutine = null; // Reset the reference
        }
Beispiel #2
0
        public override void VisitParamRef(ParamRef paramRef)
        {
            base.VisitParamRef(paramRef);

            if (!string.IsNullOrEmpty(paramRef.Name))
            {
                _builder.AppendFormat("`{0}`", paramRef.Name);
            }
        }
Beispiel #3
0
 //Funciones encargadas de recibir los parametros y asignarlos al evento
 #region Parameters
 public void SetParameter(string name, float value)
 {
     if (instance.isValid())
     {
         ParamRef parameter = parameters.FirstOrDefault(p => p.Name == name);
         if (parameter != null)
         {
             parameter.Value = value;
             instance.setParameterByName(parameter.Name, parameter.Value);
         }
     }
 }
Beispiel #4
0
 public void SetParameters(string[] _parameters, float[] values)
 {
     if (instance.isValid() && _parameters.Length == values.Length)
     {
         for (int i = 0; i < _parameters.Length; i++)
         {
             ParamRef parameter = parameters.FirstOrDefault(p => p.Name == _parameters[i]);
             if (parameter != null)
             {
                 parameter.Value = values[i];
                 instance.setParameterByName(parameter.Name, parameter.Value);
             }
         }
     }
 }
Beispiel #5
0
 public void SetParameters(Dictionary <string, float> _parameter)
 {
     if (instance.isValid())
     {
         foreach (string parameterName in _parameter.Keys)
         {
             ParamRef parameter = parameters.FirstOrDefault(p => p.Name == name);
             if (parameter != null)
             {
                 parameter.Value = _parameter[parameter.Name];
                 instance.setParameterByName(parameter.Name, parameter.Value);
             }
         }
     }
 }
Beispiel #6
0
 public void SetParameters(List <string> _parameters, List <float> values)
 {
     if (instance.isValid() && _parameters.Count == values.Count)
     {
         for (int i = 0; i < _parameters.Count; i++)
         {
             ParamRef parameter = parameters.FirstOrDefault(p => p.Name == _parameters[i]);
             if (parameter != null)
             {
                 parameter.Value = values[i];
                 instance.setParameterByName(parameter.Name, parameter.Value);
             }
         }
     }
 }
        public override void VisitParamRef(ParamRef paramRef)
        {
            base.VisitParamRef(paramRef);

            if (!string.IsNullOrEmpty(paramRef.Name)) _builder.AppendFormat("`{0}`", paramRef.Name);
        }
Beispiel #8
0
 public override void VisitParamRef(ParamRef paramRef)
 {
     base.VisitParamRef(paramRef);
     if (!string.IsNullOrEmpty(paramRef.Name))
         builder.Append(paramRef.Name);
 }
Beispiel #9
0
 public override void VisitParamRef(ParamRef paramRef)
 {
     this.WriteLine(" <i>" + paramRef.Name + "</i>");
     base.VisitParamRef(paramRef);
 }
Beispiel #10
0
 public override void VisitParamRef(ParamRef paramRef)
 {
     this.WriteLine(" <i>" + paramRef.Name + "</i>");
       base.VisitParamRef(paramRef);
 }
Beispiel #11
0
        /// <summary>
        /// See <see cref="Visitor.VisitParamRef"/>.
        /// </summary>
        public override void VisitParamRef(ParamRef paramRef)
        {
            if (delegates.VisitParamRef != null)
                delegates.VisitParamRef(paramRef);

            base.VisitParamRef(paramRef);
        }
Beispiel #12
0
        /// <summary>
        /// Reads all supported documentation elements.
        /// </summary>
        private static IEnumerable<Element> ReadContent(XElement xml)
        {
            foreach (var node in xml.Nodes())
            {
                var element = default(Element);
                switch (node.NodeType)
                {
                    case System.Xml.XmlNodeType.Element:
                        var elementNode = (XElement)node;
                        switch (elementNode.Name.LocalName)
                        {
                            case "summary":
                                element = new Summary(ReadContent(elementNode));
                                break;
                            case "remarks":
                                element = new Remarks(ReadContent(elementNode));
                                break;
                            case "example":
                                element = new Example(ReadContent(elementNode));
                                break;
                            case "para":
                                element = new Para(ReadContent(elementNode));
                                break;
                            case "param":
                                element = new Param(FindAttribute(elementNode, "name"), ReadContent(elementNode));
                                break;
                            case "paramref":
                                element = new ParamRef(FindAttribute(elementNode, "name"));
                                break;
                            case "typeparam":
                                element = new TypeParam(FindAttribute(elementNode, "name"), ReadContent(elementNode));
                                break;
                            case "typeparamref":
                                element = new TypeParamRef(FindAttribute(elementNode, "name"));
                                break;
                            case "code":
                                element = new Code(TrimCode(elementNode.Value));
                                break;
                            case "c":
                                element = new C(elementNode.Value);
                                break;
                            case "see":
                                element = new See(FindAttribute(elementNode, "cref"), FindAttribute(elementNode, "langword"), elementNode.Value, ReadContent(elementNode));
                                break;
                            case "seealso":
                                element = new SeeAlso(FindAttribute(elementNode, "cref"), elementNode.Value, ReadContent(elementNode));
                                break;
                            case "list":
                                element = new List(FindAttribute(elementNode, "type"), ReadContent(elementNode));
                                break;
                            case "listheader":
                                element = new ListHeader(ReadContent(elementNode));
                                break;
                            case "term":
                                element = new Term(ReadContent(elementNode));
                                break;
                            case "description":
                                element = new Description(ReadContent(elementNode));
                                break;
                            case "item":
                                element = new Item(ReadContent(elementNode));
                                break;
                            case "exception":
                                element = new Exception(FindAttribute(elementNode, "cref"), ReadContent(elementNode));
                                break;
                            case "value":
                                element = new Value(ReadContent(elementNode));
                                break;
                            case "returns":
                                element = new Returns(ReadContent(elementNode));
                                break;
                            default:
                                element = new UnknownElement(elementNode, ReadContent(elementNode));
                                break;
                        }
                        break;
                    case System.Xml.XmlNodeType.Text:
                        element = new Text(TrimText(((XText)node).Value));
                        break;
                    default:
                        break;
                }

                if (element != null)
                {
                    element.SetLineInfo(xml as IXmlLineInfo);
                    yield return element;
                }
            }
        }
Beispiel #13
0
 /// <summary>
 /// Visits the <c>paramref</c> documentation elemnet.
 /// </summary>
 public virtual void VisitParamRef(ParamRef paramRef)
 {
     VisitElement(paramRef);
 }