Beispiel #1
0
        public virtual void Update()
        {
            sortTimer.UpdateTimer();

            if (sortTimer.Test())
            {
                Sort();
                sortTimer.ResetToZero();
            }
        }
Beispiel #2
0
        public override void Update(Vector2 OFFSET)
        {
            timer.UpdateTimer();
            if (timer.Test() && !noTimer)
            {
                done = true;
            }

            base.Update(OFFSET);
        }
Beispiel #3
0
        public override void Update(Vector2 OFFSET, Player ENEMY, SquareGrid GRID)
        {
            spawnTimer.UpdateTimer();
            if (spawnTimer.Test())
            {
                SpawnMob();
                spawnTimer.ResetToZero();
            }

            base.Update(OFFSET, ENEMY, GRID);
        }
 public virtual void Update(Vector2 OFFSET, List <AttackableObject> UNITS)
 {
     ChangePosition();
     timer.UpdateTimer();
     if (timer.Test())
     {
         done = true;
     }
     if (HitSomething(UNITS))
     {
         done = true;
     }
 }
Beispiel #5
0
        public void Update()
        {
            if (frames > 1)
            {
                frameTimer.UpdateTimer();
                if (frameTimer.Test() && (maxPasses == 0 || maxPasses > currentPass))
                {
                    currentFrame++;
                    if (currentFrame >= frames)
                    {
                        currentPass++;
                    }
                    if (maxPasses == 0 || maxPasses > currentPass)
                    {
                        sheetFrame.X += 1;

                        if (sheetFrame.X >= sheet.X)
                        {
                            sheetFrame.X  = 0;
                            sheetFrame.Y += 1;
                        }
                        if (currentFrame >= frames)
                        {
                            currentFrame = 0;
                            firedOn      = false;
                            sheetFrame   = new Vector2(startFrame.X, startFrame.Y);
                        }
                    }
                    frameTimer.Reset();
                }
            }

            if (FireAction != null && fireFrame == currentFrame && !firedOn)
            {
                FireAction(null);
                firedOn = true;
            }
        }
Beispiel #6
0
        public virtual void AI(Player ENEMY, SquareGrid GRID)
        {
            rePathTimer.UpdateTimer();

            if (pathNodes == null || (pathNodes.Count == 0 && pos.X == moveTo.X && pos.Y == moveTo.Y) || rePathTimer.Test())
            {
                if (!currentlyPathing)
                {
                    Task repathTask = new Task(() =>
                    {
                        currentlyPathing = true;

                        pathNodes = FindPath(GRID, GRID.GetSlotFromPixel(ENEMY.hero.pos, Vector2.Zero));
                        moveTo    = pathNodes[0];
                        pathNodes.RemoveAt(0);

                        rePathTimer.ResetToZero();

                        currentlyPathing = false;
                    });
                    repathTask.Start();
                }
            }
            else
            {
                MoveUnit();


                if (Globals.GetDistance(pos, ENEMY.hero.pos) < GRID.slotDims.X * 1.2f)
                {
                    ENEMY.hero.GetHit(this, 1);
                    dead = true;
                }
            }
        }