public Waiting() { var waitingFrames = new IAnimationFrame[] { new AnimationFrame(new FrameInformation(118, 6, 32, 39), 500), new AnimationFrame(new FrameInformation(231, 6, 32, 39), 500) }; var fallingAsleepFrames = new IAnimationFrame[] { new AnimationFrame(new FrameInformation(192, 6, 32, 39), 500), new AnimationFrame(new FrameInformation(271, 6, 32, 39), 500) }; var sleepingFrame = new FrameInformation(81, 6, 31, 39); var wakeUpFrame = new FrameInformation(157, 6, 32, 39); _animation = new Animation(new IAnimationFrame[] { new LimitedAnimation(waitingFrames, 10), new LimitedAnimation(fallingAsleepFrames, 10), new AnimationFrame(sleepingFrame, 3000), new AnimationFrame(wakeUpFrame, 500) }); }
public LimitedAnimation(IAnimationFrame[] frames, int iterations) { _maxIterations = iterations; _animation = new Animation(frames); _totalMilliseconds = frames.Sum(f => f.TotalMilliseconds) * iterations; _firstFrame = frames.First(); _lastFrame = frames.Last(); }
private IAnimationFrame[] CheckCache(int body, int action, int direction) { // Make sure the cache is complete. if (m_Cache[body] == null) m_Cache[body] = new IAnimationFrame[COUNT_ACTIONS][][]; // max 35 actions if (m_Cache[body][action] == null) m_Cache[body][action] = new IAnimationFrame[COUNT_DIRECTIONS][]; if (m_Cache[body][action][direction] == null) m_Cache[body][action][direction] = new IAnimationFrame[1]; if (m_Cache[body][action][direction][0] != null) return m_Cache[body][action][direction]; else return null; }
public MobileViewLayer(int bodyID, int hue, IAnimationFrame frame) { BodyID = bodyID; Hue = hue; Frame = frame; }
private IAnimationFrame[] CheckCache(int body, int action, int direction) { // Make sure the cache is complete. // max number of bodies is about 0x1000 if (m_Cache == null) m_Cache = new IAnimationFrame[0x1000][][][]; if (m_Cache[body] == null) m_Cache[body] = new IAnimationFrame[35][][]; if (m_Cache[body][action] == null) m_Cache[body][action] = new IAnimationFrame[8][]; if (m_Cache[body][action][direction] == null) m_Cache[body][action][direction] = new IAnimationFrame[1]; if (m_Cache[body][action][direction][0] != null) return m_Cache[body][action][direction]; else return null; }
public void SetSeries(string seriesName, IAnimationFrame frame) { Series.Add(seriesName); frames.Add(seriesName, frame); Values.Add(seriesName, frame.FrameValue); }
public Animation(IAnimationFrame[] frames) { _frames = frames; }
private int getTimeForNextFrame(IAnimationFrame frame) { int delay = frame.Delay + Configuration.DelayBetweenFrames; if (delay < 0) delay = 0; return delay; }