Esempio n. 1
0
 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;
 }
Esempio n. 4
0
 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;
 }
Esempio n. 7
0
 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;
 }