Esempio n. 1
0
 public void Paste(TrackTransformation newData, float oldStartTime, float newStartTime)
 {
     to    = newData.to;
     start = newStartTime + (newData.start - oldStartTime);
     end   = newStartTime + (newData.end - oldStartTime);
     ease  = newData.ease;
 }
Esempio n. 2
0
        public TrackTransformation Copy()
        {
            TrackTransformation copiedTrans = new TrackTransformation();

            copiedTrans.to    = to;
            copiedTrans.start = start;
            copiedTrans.end   = end;
            copiedTrans.ease  = ease;
            return(copiedTrans);
        }
Esempio n. 3
0
 // Replaces the contents of the dest transformation list with the source transformation list, without breaking its original reference
 public static void ReplaceTransformationList(List <TrackTransformation> source, List <TrackTransformation> dest, float initialStartTime, float newStartTime)
 {
     dest.Clear();
     for (int i = 0; i < source.Count; i += 1)
     {
         TrackTransformation newTrans = new TrackTransformation();
         newTrans.Paste(source[i], initialStartTime, newStartTime);
         float timeLimit = VoezEditor.Editor.musicPlayer.source.clip.length;
         if (newTrans.start <= timeLimit && newTrans.end <= timeLimit)
         {
             dest.Add(newTrans);
         }
     }
 }
Esempio n. 4
0
    private List <TrackTransformation> parseTransformationList(string jsonList)
    {
        List <TrackTransformation> transformList = new List <TrackTransformation>();

        string[] transforms = Regex.Split(jsonList, @"\},");
        for (int k = 0; k < transforms.Length; k += 1)
        {
            string trans = transforms[k];
            trans += (trans.EndsWith("}") ? "" : "}");
            Dictionary <string, object> transProperties = (Dictionary <string, object>)Json.Deserialize(trans);
            TrackTransformation         transObj        = new TrackTransformation();
            transObj.to    = Util.ParseJSONFloat(transProperties["To"]);
            transObj.start = Util.ParseJSONFloat(transProperties["Start"]);
            transObj.end   = Util.ParseJSONFloat(transProperties["End"]);
            string easeStyle = (string)transProperties["Ease"];
            if (easeStyle == "easelinear")
            {
                transObj.ease = Easing.LINEAR;
            }
            else if (easeStyle == "easeinexpo")
            {
                transObj.ease = Easing.EXP_IN;
            }
            else if (easeStyle == "easeoutexpo")
            {
                transObj.ease = Easing.EXP_OUT;
            }
            else if (easeStyle == "easeinoutexpo")
            {
                transObj.ease = Easing.EXP_INOUT;
            }
            else if (easeStyle == "easeoutinexpo")
            {
                transObj.ease = Easing.EXP_OUTIN;
            }
            else if (easeStyle == "easeinquad")
            {
                transObj.ease = Easing.QUAD_IN;
            }
            else if (easeStyle == "easeoutquad")
            {
                transObj.ease = Easing.QUAD_OUT;
            }
            else if (easeStyle == "easeinoutquad")
            {
                transObj.ease = Easing.QUAD_INOUT;
            }
            else if (easeStyle == "easeoutinquad")
            {
                transObj.ease = Easing.QUAD_OUTIN;
            }
            else if (easeStyle == "easeincirc")
            {
                transObj.ease = Easing.CIRC_IN;
            }
            else if (easeStyle == "easeoutcirc")
            {
                transObj.ease = Easing.CIRC_OUT;
            }
            else if (easeStyle == "easeinoutcirc")
            {
                transObj.ease = Easing.CIRC_INOUT;
            }
            else if (easeStyle == "easeoutincirc")
            {
                transObj.ease = Easing.CIRC_OUTIN;
            }
            else if (easeStyle == "easeoutback")
            {
                transObj.ease = Easing.BACK_OUT;
            }
            else if (easeStyle == "easeinback")
            {
                transObj.ease = Easing.BACK_IN;
            }
            else if (easeStyle == "easeinoutback")
            {
                transObj.ease = Easing.EXIT; // Replicates the buggy behavior of BACK_INOUT in the original game
            }
            else if (easeStyle == "easeoutinback")
            {
                transObj.ease = Easing.BACK_OUTIN;
            }
            else if (easeStyle == "easeintelastic") // not a typo
            {
                transObj.ease = Easing.ELASTIC_IN;
            }
            else if (easeStyle == "easeoutelastic")
            {
                transObj.ease = Easing.ELASTIC_OUT;
            }
            else if (easeStyle == "easeinoutelastic")
            {
                transObj.ease = Easing.ELASTIC_INOUT;
            }
            else if (easeStyle == "easeoutinelastic")
            {
                transObj.ease = Easing.ELASTIC_OUTIN;
            }
            else
            {
                Debug.Log("UNKNOWN EASING STYLE: " + easeStyle);
            }
            transformList.Add(transObj);
        }
        return(transformList);
    }