Esempio n. 1
0
    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());
        }