Example #1
0
        public override void Tick(int deltaTimeMS)
        {
            if (!CouldRun())
            {
                return;
            }


            if (Math_F.Approximate3D(this.ownerEntity.position, this.tarPos) || IsPassed(this.tarPos))
            {
                //this.tarPos = Math_F.RandomInsideCircle(this.orgPos, this.radius);
                WanderArrived.Send(this.ownerEntity.entityID);
                return;
            }

            this.tickDir = Math_F.TwoPositionDir(this.ownerEntity.position, this.tarPos);

            ////活动移动量
            this.tickSpeed = this.speed * deltaTimeMS * 0.001f;
            //活动移动量
            this.tickMove = this.tickDir * this.tickSpeed;

            ////新位置
            this.ownerEntity.position += tickMove;
        }
Example #2
0
        public override void Tick(int deltaTimeMS)
        {
            if (!CouldRun())
            {
                return;
            }

            float normalizedTime = (Time.time - beginTime) * normalizedSpeed;

            normalizedTime = reverse ? 1 - normalizedTime : normalizedTime;
            if ((!reverse && normalizedTime - 1 >= 0.001f) || (reverse && normalizedTime <= 0.001f))
            {
                reverse = !reverse;
                WanderArrived.Send(this.ownerEntity.entityID);
                return;
            }
            AnimTo(normalizedTime);
        }