public Unit CreateUnit(UnitDef unitDef) { var bodydef = new BodyDef(); bodydef.type = unitDef.BodyType; bodydef.angle = unitDef.RotateZ; bodydef.fixedRotation = unitDef.FixedRotation; bodydef.position.X = B2Value(unitDef.X); bodydef.position.Y = B2Value(unitDef.Y); Body body = _world.CreateBody(bodydef); var unit = new Unit(body, this); unit.Group = unitDef.Group; body.SetUserData(unit); return unit; }
public Unit CreatePolygon(UnitDef unitDef, Vector2[] verteces) { Unit unit = CreateUnit(unitDef); unit.AttachPolygon(verteces, unitDef.Density, unitDef.Fraction, unitDef.Restitution); return unit; }
public Unit CreateRectangle(UnitDef unitDef, float width, float height) { Unit unit = CreateUnit(unitDef); unit.AttachRectangle(width, height, unitDef.Density, unitDef.Fraction, unitDef.Restitution); return unit; }
public Unit CreateCircle(UnitDef unitDef, float radius) { Unit unit = CreateUnit(unitDef); unit.AttachCircle(radius, unitDef.Density, unitDef.Fraction, unitDef.Restitution); return unit; }