public void Add(PhysicalObject2D child, Vector2 position) { WeldBehaviour weldBehaviour = new WeldBehaviour(); weldBehaviour.WeldOrigin = position; weldBehaviour.AnchorObject = this; child.MovableBehaviour = weldBehaviour; child.Parent = this; AddWeld(weldBehaviour); }
public void WeldTest() { Sprite sa = new Sprite(this, "test"); sa.Position = new Vector2(0); sa.Velocity = new Vector2(2); sa.Acceleration = new Vector2(2); sa.MovableBehaviour = new MovableBehaviour(); Sprite sw = new Sprite(this, "test"); WeldBehaviour wb = new WeldBehaviour(); wb.AnchorObject = sa; wb.WeldOrigin = new Vector2(0); sw.MovableBehaviour = wb; GameTime g = new GameTime(); g.ElapsedGameTime = TimeSpan.FromMilliseconds(100); sa.Update(g); sa.Update(g); sa.Update(g); sw.Update(g); sw.Update(g); sw.Update(g); Assert.AreEqual(sa.Position, sw.Position); }