public APFramesList(AnimationParametersFrame firstAPFrame) { apFramesList = new List <AnimationParametersFrame>(); numAPs = firstAPFrame.APVector.Count; apFramesList.Add(firstAPFrame); firstAPFrame.setFrameNumber(0); }
public void updateFrames(long currentFrameNumber) { long currentFrame = currentFrameNumber; AnimationParametersFrame firstAPFrame = peek(); for (int j = 0; j < apFramesList.Count; j++) { AnimationParametersFrame apFrame = apFramesList[j]; if (apFrame.getFrameNumber() > currentFrame) { break; } if (apFrame != firstAPFrame) { for (int i = 0; i < apFrame.size(); i++) { AnimationParameter ap = apFrame.getAnimationParametersList()[i]; if (ap.getMask()) { firstAPFrame.setValue(i, ap.getValue()); firstAPFrame.setMask(i, true); } } apFramesList.RemoveAt(j); j--; } } // add as peek frame firstAPFrame.setFrameNumber(currentFrame); //apFramesList.Insert (0, firstAPFrame); }
public void emptyFramesList() { AnimationParametersFrame firstAPFrame = new AnimationParametersFrame(peek()); apFramesList.Clear(); apFramesList.Add(firstAPFrame); }
public bool isEqualTo(AnimationParametersFrame apFrame) { if (this == apFrame) { return(true); } List <AnimationParameter> apList = this.getAnimationParametersList(); List <AnimationParameter> apInputList = apFrame.getAnimationParametersList(); if (apList.Count != apInputList.Count) { return(false); } for (int i = 0; i < apList.Count; i++) { if (apInputList[i].getMask() != apList[i].getMask()) { return(false); } if (apInputList[i].getValue() != apList[i].getValue()) { return(false); } } return(true); }
public AnimationParametersFrame(AnimationParametersFrame apFrame) { APVector = new List <AnimationParameter>(apFrame.size()); frameNumber = apFrame.getFrameNumber(); for (int i = 0; i < apFrame.size(); ++i) { APVector.Add(copyAnimationParameter(apFrame.APVector[i])); } // setAnimationParameter(i, apFrame.getAnimationParameter(i)); }
public void afficheFirstFrame() { AnimationParametersFrame firstAPFrame = peek(); String strMask = ""; String strValue = ""; for (int i = 0; i < firstAPFrame.size(); i++) { AnimationParameter ap = firstAPFrame.getAnimationParametersList()[i]; strMask += ap.getMask() + " "; if (ap.getMask()) { strValue += ap.getValue() + " "; } } Debug.Log("firstAPFrame Mask: \n" + strMask + "\nand value: \n" + strValue); }
public void addFrame(AnimationParametersFrame apFrame) { // Debug.Log("addFrame number: " + apFrame.getFrameNumber()); int framesListLenght = apFramesList.Count; long numberOfLastFrame = apFramesList[framesListLenght - 1].getFrameNumber(); if (numberOfLastFrame >= apFrame.getFrameNumber()) { for (int i = framesListLenght - 1; i >= 0; i--) { if (apFrame.getFrameNumber() > apFramesList[i].getFrameNumber()) { apFramesList.Insert(i + 1, apFrame); break; } if (apFrame.getFrameNumber() == apFramesList[i].getFrameNumber()) { for (int j = 0; j < apFrame.size(); j++) { AnimationParameter ap = apFrame.getAnimationParametersList()[j]; if (ap.getMask()) { apFramesList[i].setValue(j, ap.getValue()); apFramesList[i].setMask(j, true); } } //apFramesList [i] = apFrame; break; } } } else { apFramesList.Add(apFrame); } }
public void addAPFramesFromFile(String fileName, long firstFrameNumber) { StringReader apDataReader = null; // apData is a string containing the whole file. To be read line-by-line //Debug.Log ("firstAPFrame number " + firstFrameNumber); TextAsset apData = (TextAsset)Resources.Load(fileName, typeof(TextAsset)); long firstFileFrameNum = 0; bool firstFrame = true; if (apData == null) { Debug.Log(fileName + " not found"); } else { apDataReader = new StringReader(apData.text); if (apDataReader == null) { Debug.Log(fileName + " not readable"); } else { String readLine = ""; // Read each line from the file // Debug.Log ("APFrameList APnum " +numAPs + " at time " + DateTime.Now.Ticks/10000); while ((readLine = apDataReader.ReadLine()) != null) { String firstLine = readLine; String secondLine = apDataReader.ReadLine(); String[] firstLineTab = firstLine.Split(' '); String[] secondLineTab = secondLine.Split(' '); /* // Debug of line content * String firstLineTabStr = ""; * for(int i=0; i<firstLineTab.Length;i++){ * firstLineTabStr += firstLineTab[i]; * } * firstLineTabStr += "End"; * Debug.Log ("FirstLineTab "+ firstLineTabStr);*/ // Debug.Log ("first line length "+ firstLineTab.Length); // Debug.Log ("second line length "+ secondLineTab.Length); int firstLineIter = 0; int secondLineIter = 0; // frameNum if (firstFrame) { firstFileFrameNum = long.Parse(secondLineTab[secondLineIter]); firstFrame = false; } long frameNum = long.Parse(secondLineTab[secondLineIter]) - firstFileFrameNum; secondLineIter++; int apnr = 1; AnimationParametersFrame frame = new AnimationParametersFrame(numAPs); frame.setFrameNumber(firstFrameNumber + frameNum); while (firstLineIter < numAPs - 1) { // Debug.Log (firstLineTab[firstLineIter]); int mask = int.Parse(firstLineTab[firstLineIter]); firstLineIter++; if (mask == 1) { int apValue = int.Parse(secondLineTab[secondLineIter]); secondLineIter++; frame.setAnimationParameter(apnr, apValue); }//end more tokens else { frame.setAnimationParameter(apnr, 0); } apnr++; } this.addFrame(frame); } // Debug.Log (fileName + " loaded at time " + DateTime.Now.Ticks/10000); } } }