public static void SwitchDimensions(GameObject obj, Dimension fromDimension, Dimension toDimension) { obj.layer = toDimension.layer; ControllerRenderer controller = obj.GetComponent <ControllerRenderer>(); if (controller != null) { controller.SwitchDimensions(toDimension); return; } HandCollider handCollider = obj.GetComponentInChildren <HandCollider>(); if (handCollider != null) { handCollider.collisionMask = toDimension.layer; } // Move over all visible children as well foreach (MeshRenderer childRenderer in obj.GetComponentsInChildren <MeshRenderer>()) { childRenderer.gameObject.layer = toDimension.layer; } // If this is an FPS controller then make sure it goes through too. Transform parent = obj.transform.parent; if (parent != null && parent.GetComponent <CharacterController>()) { parent.gameObject.layer = toDimension.layer; } }
public void Create_Valid_ControllerRendering() { //Arrange string providedDataSource = "thisDataSource"; Mock <IGetDataSourceQuery> mockGetDataSourceQuery = new Mock <IGetDataSourceQuery>(); mockGetDataSourceQuery.Setup(i => i.GetDataSourceItemPath(It.IsAny <Guid>())).Returns(providedDataSource); IGetDataSourceQuery providedGetDataSourceQuery = mockGetDataSourceQuery.Object; RenderingMarkerFactory providedRenderingMarkerFactory = new RenderingMarkerFactory(providedGetDataSourceQuery); Rendering providedRendering = new Rendering(); providedRendering.DataSource = providedDataSource; ControllerRenderer providedRenderer = new ControllerRenderer(); providedRenderer.ControllerName = "thisController"; providedRenderer.ActionName = "thisAction"; providedRendering.Renderer = providedRenderer; Type expectedType = typeof(AnnotatableRenderingXMLElementMarker); string expectedRenderingName = $"Controller: {providedRenderer.ControllerName}. Action: {providedRenderer.ActionName}"; string expectedStartString = $"<rendering data-rendering-name=\"{expectedRenderingName}\" data-data-source=\"{providedRendering.DataSource}\">"; //Act IMarker actualRenderingMarker = providedRenderingMarkerFactory.Create(providedRendering); //Assert Assert.AreEqual(expectedType, actualRenderingMarker.GetType()); Assert.AreEqual(expectedStartString, actualRenderingMarker.GetStart()); }