public PhysicsComponent(Entity rootEntity) { root = rootEntity; bodyType = PhysicBodyType.Static; collider2D = new Collider(); collider2D.ColliderType = Collider2DType.Box; collider2D.Size = new Point(1, 1); direction = Vector2.Zero; velocity = 0f; isTrigger = false; }
/// <summary> /// Creates a Sprite /// </summary> /// <param name="name">Sprite Name.</param> /// <param name="x">X position.</param> /// <param name="y">Y posisition.</param> /// <param name="fileName">Sprite filename.</param> /// <param name="isKinematic">Physic IsKinetic Sprite Parameter.</param> /// <param name="mass">Physic Mass Sprite Parameter.</param> /// <returns></returns> private Entity CreateSquareSprite(string name, int x, int y, string fileName, PhysicBodyType bodyType, float mass) { Entity sprite = new Entity(name) .AddComponent(new Transform2D() { X = x, Y = y, Origin = Vector2.Center }) .AddComponent(new RectangleCollider()) .AddComponent(new Sprite(fileName)) .AddComponent(new RigidBody2D() { PhysicBodyType = bodyType }) .AddComponent(new SpriteRenderer(DefaultLayers.Alpha)); if (mass != -1) { sprite.FindComponent <RigidBody2D>().Mass = mass; } return(sprite); }
/// <summary> /// Creates a Sprite /// </summary> /// <param name="name">Sprite Name.</param> /// <param name="x">X position.</param> /// <param name="y">Y posisition.</param> /// <param name="fileName">Sprite filename.</param> /// <param name="isKinematic">Physic IsKinetic Sprite Parameter.</param> /// <param name="mass">Physic Mass Sprite Parameter.</param> /// <returns></returns> private Entity CreateSquareSprite(string name, int x, int y, string fileName, PhysicBodyType bodyType, float mass) { Entity sprite = new Entity(name) .AddComponent(new Transform2D() { X = x, Y = y, Origin = Vector2.Center }) .AddComponent(new RectangleCollider()) .AddComponent(new Sprite(fileName)) .AddComponent(new RigidBody2D() { PhysicBodyType = bodyType }) .AddComponent(new SpriteRenderer(DefaultLayers.Alpha)); if (mass != -1) { sprite.FindComponent<RigidBody2D>().Mass = mass; } return sprite; }