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 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 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); } }