public bool areRotatableConnected(int id1, int id2) { var c1 = Components.ComponentsManager.GetComponent(id1); var c2 = Components.ComponentsManager.GetComponent(id2); if (c1 == null || c2 == null) { return(false); } Components.RotatableConnector a = null; if (c1 is Components.Properties.IRotatable) { a = (c1 as Components.Properties.IRotatable).GetConnector(); } else if (c1 is Components.Properties.IRotator) { a = (c1 as Components.Properties.IRotator).GetConnector(); } if (a != null && ((a.ConnectedComponent1 == c1 && a.ConnectedComponent2 == c2) || (a.ConnectedComponent1 == c2 && a.ConnectedComponent2 == c1))) { return(true); } return(false); }
public void Place(int x1, int y1, int x2, int y2) { var c = Components.ComponentsManager.GetComponent(x1, y1); var c2 = Components.ComponentsManager.GetComponent(x2, y2); Components.RotatableConnector rc = new Components.RotatableConnector(c, c2); rc.Initialize(); rc.AddComponentToManager(); rc.OnPlaced(); }
public void Place(int x1, int y1, int x2, int y2) { var c = Components.ComponentsManager.GetComponent(x1, y1); var c2 = Components.ComponentsManager.GetComponent(x2, y2); Components.RotatableConnector rc = new Components.RotatableConnector(c, c2); rc.Initialize(); rc.AddComponentToManager(); rc.OnPlaced(); }