public virtual void Update() { sortTimer.UpdateTimer(); if (sortTimer.Test()) { Sort(); sortTimer.ResetToZero(); } }
public override void Update(Vector2 OFFSET) { timer.UpdateTimer(); if (timer.Test() && !noTimer) { done = true; } base.Update(OFFSET); }
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; } }
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; } }
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; } } }