public void stopWalkingAnimation() { if (this.interval != null) { Roga2dIntervalPlayer.GetInstance().Stop(this.interval); this.interval = null; this.sprite.RenderObject.SetSrcRect(new Rect(128, 0, 32, 32)); } }
private bool isStopping(Roga2dBaseInterval interval) { foreach (Roga2dBaseInterval stopInterval in this.stopIntervals) { if (interval == stopInterval) { return true; } } return false; }
public static Roga2dAnimation Build(Roga2dNode node, Roga2dBaseInterval interval, Roga2dAnimationSettings settings) { Roga2dAnimation animation = new Roga2dAnimation(); animation.Interval = interval; animation.Node = node; animation.IsStarted = false; animation.finishCallback = null; animation.settings = settings; return animation; }
public Roga2dLoop(Roga2dBaseInterval interval, int loopCount) { this.interval = interval; this.loopCount = loopCount; this.loopCounter = 0; }
public void Stop(Roga2dBaseInterval interval) { this.stopIntervals.Add(interval); }
public Roga2dBaseInterval Play(Roga2dBaseInterval interval) { this.intervals.Add(interval); return interval; }
public void startWalkingAnimation() { this.interval = this.buildWalkInterval(); Roga2dIntervalPlayer.GetInstance().Play(this.interval); }
public static Roga2dAnimation Build(Roga2dNode node, Roga2dBaseInterval interval) { return Build(node, interval, null); }
public Roga2dSequence(List<Roga2dBaseInterval> intervals) { this.intervals = intervals; this.index = 0; this.lastInterval = intervals[intervals.Count - 1]; }
private void UpdateKeyframe(int index, bool isStart) { Roga2dAnimationKeyFrame keyFrame = this.keyFrames[index]; if (this.lastAnimationId != keyFrame.Id) { this.ClearSetting(); this.lastAnimationId = keyFrame.Id; } this.sprite.LocalPriority = keyFrame.Priority + Roga2dUtils.getPriorityAddition(); this.sprite.BlendType = keyFrame.BlendType; if (keyFrame.Type == Roga2dAnimationKeyFrameType.Image) { // Update RenderObject if (this.renderObjectDescs[index] == null) { Debug.LogError("Null RenderObject"); } Roga2dRenderObjectDesc desc = this.renderObjectDescs[index]; if (desc.RenderObject == this.sprite.RenderObject) { // Reuse old RenderObject and only changes its UV Map this.sprite.RenderObject.SetSrcRect(desc.SrcRect); this.sprite.RenderObject.SetSize(desc.PixelSize); } else { // Assign a new RenderObject this.sprite.RenderObject = desc.RenderObject; } } else if (keyFrame.Type == Roga2dAnimationKeyFrameType.Animation) { // Update Inner Animation // Display nested animations if (this.interval != null) { this.interval.Update(); } else { // Not going to emit anything when updatekeyframe called via Start() if (keyFrame.Emitter) { if (!isStart) { EmitAnimation(keyFrame); } } else { // No animation node is generaetd yet, let's generate it // If no ID exists, ignore it (Which usually means an empty keyframe) if (keyFrame.Id != "") { Roga2dAnimation animation = Roga2dUtils.LoadAnimation(keyFrame.Id, true, 1.0f, 0.5f, this.settings, this.options); this.sprite.AddChild(animation.Node); this.interval = animation.Interval; this.interval.Start(); } } } } }
private void ClearSetting() { if (this.interval != null) { this.sprite.RemoveAllChildren(); this.interval = null; } this.sprite.RenderObject = null; }