示例#1
0
        override public void UpdateRange(int delta)
        {
            PositionHoder pPositionHoder = (PositionHoder)poHead;

            while (pPositionHoder != null)
            {
                pPositionHoder.SetPositionX(pPositionHoder.GetPositionX() + delta);
                pPositionHoder = (PositionHoder)SLink.GetNext(pPositionHoder);
            }
        }
示例#2
0
        public void Attach(float x, float y, SndObserver pSn)
        {
            PositionHoder pPositionHoder = null;

            pPositionHoder = new PositionHoder(x, y, pSn);
            Debug.Assert(pPositionHoder != null);

            SLink.AddToFront(ref this.poHead, pPositionHoder);
            this.pCurr = pPositionHoder;
        }
示例#3
0
        public override void Execute(float deltaTime, bool repeat)
        {
            PositionHoder pPositionHoder = (PositionHoder)SLink.GetNext(this.pCurr);

            if (pPositionHoder == null)
            {
                pPositionHoder = (PositionHoder)poHead;
            }

            this.pCurr = pPositionHoder;

            this.pSprites.Move(pPositionHoder.GetPositionX(), pPositionHoder.GetPositionY());
            pPositionHoder.GetSnd().Notify();

            TimerMan.Add(TimerEvent.Name.AlienMovement, this, deltaTime);
        }