/// <summary> /// Especifica la escala final que tendrá el objeto. /// </summary> /// <param name="indiceP">Indice en base 0 de la lista de animaciones del objeto. Si el indice no es menor al tamaño de la lista, se creará una nueva animación.</param> /// <param name="puntoEscalacionP">Escala final que tendrá el objeto.</param> /// <returns>La misma clase para hacer fluidez.</returns> public AnimarObjeto AgregarEscalacionPorPunto(int indiceP, Vector3 puntoEscalacionP) { if (indiceP < 0) { AnimarObjetoPseudoException.IndiceNegativo(indiceP); return(this); } Vector3 velocidad = puntoEscalacionP - this.transform.localScale; if (indiceP < animaciones.Count) { velocidad /= animaciones[indiceP].tiempo; animaciones[indiceP].vectorEscalacion = velocidad; animaciones[indiceP].ReiniciarValoresBase(); } else { velocidad /= 5; animaciones.Add(new AnimarObjetoSettings(5, 0) { vectorEscalacion = velocidad }); } return(this); }
/// <summary> /// Especifica el tiempo y delay de una animación del objeto. /// </summary> /// <param name="indiceP">Indice en base 0 de la lista de animaciones del objeto. Si el indice no es menor al tamaño de la lista, se creará una nueva animación.</param> /// <param name="tiempoP">Tiempo que durará la animación.</param> /// <param name="delayP">Tiempo que durará el retraso para la animación.</param> /// <returns>La misma clase para hacer fluidez.</returns> public AnimarObjeto AgregarTiempo(int indiceP, float tiempoP, float delayP) { if (indiceP < 0) { AnimarObjetoPseudoException.IndiceNegativo(indiceP); return(this); } if (indiceP < animaciones.Count) { animaciones[indiceP].tiempo = tiempoP; animaciones[indiceP].delay = delayP; animaciones[indiceP].ReiniciarValoresBase(); } else { animaciones.Add(new AnimarObjetoSettings(tiempoP, delayP)); } return(this); }
/// <summary> /// Especifica la dirección en la que se rotará el objeto cada segundo. /// </summary> /// <param name="indiceP">Indice en base 0 de la lista de animaciones del objeto. Si el indice no es menor al tamaño de la lista, se creará una nueva animación.</param> /// <param name="direccionRotacionP">Dirección en la que se rotará el objeto cada segundo.</param> /// <returns>La misma clase para hacer fluidez.</returns> public AnimarObjeto AgregarRotacionPorDireccion(int indiceP, Vector3 direccionRotacionP) { if (indiceP < 0) { AnimarObjetoPseudoException.IndiceNegativo(indiceP); return(this); } if (indiceP < animaciones.Count) { animaciones[indiceP].vectorRotacion = direccionRotacionP; animaciones[indiceP].ReiniciarValoresBase(); } else { animaciones.Add(new AnimarObjetoSettings(5, 0) { vectorRotacion = direccionRotacionP }); } return(this); }