public void Visit(Cylinder visitable) { IPhysical physical = PhysicalManager.MakeCyllinder(visitable.RBottom, visitable.RTop, visitable.Height); physical.Body = visitable; AfterCreating(visitable, physical); }
public void Visit(Ball visitable) { IPhysical physical = PhysicalManager.MakeCyllinder(visitable.Radius, visitable.Radius, visitable.Radius * 2); physical.Body = visitable; AfterCreating(visitable, physical); }
public void Visit(Box visitable) { IPhysical physical = PhysicalManager.MakeBox(visitable.XSize, visitable.YSize, visitable.ZSize); physical.Body = visitable; AfterCreating(visitable, physical); }
public void Initialize(IWorld world) { World = world; Root = new Body(); Root.ChildAdded += Root_ChildAdded; DrawerFactory = new DrawerFactory(Root); physicalManager = new PhysicalManager(); physicalManager.InitializeEngine(PhysicalEngines.Farseer, Root); Logger = new ReplayLogger(Root, 0.1); World.Exit += World_Exit; }
private void AfterCreating(Body body, IPhysical physical) { PhysicalManager.SetSettings(body, physical); PhysicalManager.SaveBody(body, physical); }
public BodyCreatorVisitor(PhysicalManager manager) { this.manager = manager; }