public override void ReceiveAttackWithCollider(int damage, Rectangle subjectRect, SpriteCollider colider) { if (_wheelMode) { var x = Math.Sign(subjectRect.Center.X - BoundingRectangle.Center.X) < 0 ? BoundingRectangle.Left : BoundingRectangle.Right; var y = colider.BoundingBox.Center.Y; ((SceneMap)SceneManager.Instance.GetCurrentScene()).CreateSparkParticle(new Vector2(x, y)); } base.ReceiveAttackWithCollider(damage, subjectRect, colider); }
public void AddAttackCollider(string name, List<List<Rectangle>> rectangleFrames, int attackWidth) { for (var i = 0; i < rectangleFrames.Count; i++) { for (var j = 0; j < rectangleFrames[i].Count; j++) { var collider = new SpriteCollider(rectangleFrames[i][j].X, rectangleFrames[i][j].Y, rectangleFrames[i][j].Width, rectangleFrames[i][j].Height); collider.Type = SpriteCollider.ColliderType.Attack; collider.AttackWidth = attackWidth; _framesList[name].Frames[i].AttackColliders.Add(collider); } } }
private Texture2D GetColliderTexture(SpriteCollider collider) { return collider.Type == SpriteCollider.ColliderType.Block ? _colliderRedTexture : _colliderYellowTexture; }
public void AddCollider(string name, Rectangle rectangle) { var collider = new SpriteCollider(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height); collider.Type = SpriteCollider.ColliderType.Block; _framesList[name].Collider = collider; }