public void Update(LevelContext context, double deltaTime) { passedTime += deltaTime; if (passedTime >= aliveTime) { disposable.Dispose(); } if (transform.Location == context.SnakeHead.HeadGridLocation) { context.AddState(new AddTailState()); disposable.Dispose(); } }
private void CheckBodyCollision(SnakePiece piece, LevelContext context, Point locationToTest) { if (piece != null) { if (locationToTest == piece.location) { if (piece.hasMoved) { context.AddState(new DeathState()); } } CheckBodyCollision(piece.Tail,context, locationToTest); } }