public void SetUp_TestScene()
 {
     scene = sceneController.CreateTestScene();
 }
示例#2
0
 public void ExitKernelEditMode(ParcelScene scene)
 {
     WebInterface.ReportControlEvent(new WebInterface.StopStatefulMode(scene.sceneData.id));
 }
示例#3
0
 public override void EnterEditMode(ParcelScene scene)
 {
     base.EnterEditMode(scene);
     SetupAllEntities();
     EntityListChanged();
 }
示例#4
0
 public static void RemoveSceneEntity(ParcelScene scene, DecentralandEntity entity)
 {
     scene.RemoveEntity(entity.entityId);
 }
示例#5
0
 public virtual void Activate(ParcelScene scene)
 {
     gameObject.SetActive(true);
     isModeActive = true;
 }
示例#6
0
        public static IEnumerator TestAttachedSharedComponentOfSameTypeIsReplaced <TModel, TComponent>(ParcelScene scene,
                                                                                                       CLASS_ID classId)
            where TComponent : BaseDisposable
            where TModel : class, new()
        {
            // Create scene entity and 1st component
            DecentralandEntity entity = CreateSceneEntity(scene);

            var component = SharedComponentCreate <TComponent, TModel>(scene, classId);

            if (component.routine != null)
            {
                yield return(component.routine);
            }

            System.Type componentType = typeof(TComponent);

            if (component is BaseShape)
            {
                componentType = typeof(BaseShape);
            }

            // Attach 1st component to entity
            TestHelpers.SharedComponentAttach(component, entity);

            Assert.IsTrue(entity.GetSharedComponent(componentType) != null);
            Assert.AreEqual(component, entity.GetSharedComponent(componentType));

            // Assign 2nd component to same entity
            var component2 = SharedComponentCreate <TComponent, TModel>(scene, classId);

            if (component2.routine != null)
            {
                yield return(component2.routine);
            }

            TestHelpers.SharedComponentAttach(component2, entity);

            Assert.IsTrue(entity.GetSharedComponent(componentType) != null);
            Assert.AreEqual(component2, entity.GetSharedComponent(componentType));
            Assert.IsFalse(component.attachedEntities.Contains(entity));
        }
示例#7
0
 public static DecentralandEntity CreateSceneEntity(ParcelScene scene, string id)
 {
     return(scene.CreateEntity(id));
 }
示例#8
0
 public static void SetEntityTransform(ParcelScene scene, DecentralandEntity entity, DCLTransform.Model model)
 {
     SetEntityTransform(scene, entity, model.position, model.rotation, model.scale);
 }
示例#9
0
 public static void SetEntityTransform(ParcelScene scene, DecentralandEntity entity)
 {
     SetEntityTransform(scene, entity, Vector3.zero, Quaternion.identity, Vector3.one);
 }
示例#10
0
 public static void SetEntityParent(ParcelScene scene, DecentralandEntity child, DecentralandEntity parent)
 {
     scene.SetEntityParent(child.entityId, parent.entityId);
 }
示例#11
0
 public static void SetEntityParent(ParcelScene scene, string childEntityId, string parentEntityId)
 {
     scene.SetEntityParent(childEntityId, parentEntityId);
 }
示例#12
0
        protected override IEnumerator SetUp()
        {
            yield return(base.SetUp());

            scene = Environment.i.world.sceneController.CreateTestScene() as ParcelScene;
        }
 public override void Activate(ParcelScene scene)
 {
     base.Activate(scene);
     SetEditObjectParent();
     freeMovementGO.transform.SetParent(Camera.main.transform);
 }
示例#14
0
        public static void SharedComponentDispose(BaseDisposable component)
        {
            ParcelScene scene = component.scene as ParcelScene;

            scene.SharedComponentDispose(component.id);
        }
示例#15
0
 public static void UpdateShape(ParcelScene scene, string componentId, string model)
 {
     scene.SharedComponentUpdate(componentId, model);
 }
示例#16
0
        public static GLTFShape CreateEntityWithGLTFShape(ParcelScene scene, Vector3 position, GLTFShape.Model model)
        {
            DecentralandEntity entity = null;

            return(CreateEntityWithGLTFShape(scene, position, model, out entity));
        }
示例#17
0
        public static IEnumerator TestEntityComponentDefaultsOnUpdate <TModel, TComponent>(ParcelScene scene)
            where TComponent : BaseComponent
            where TModel : class, new()
        {
            TModel generatedModel = new TModel();

            foreach (FieldInfo f in typeof(TModel).GetFields())
            {
                System.Type t          = f.FieldType;
                object      valueToSet = GetRandomValueForType(t);
                f.SetValue(generatedModel, valueToSet);
            }

            DecentralandEntity e         = CreateSceneEntity(scene);
            TComponent         component = EntityComponentCreate <TComponent, TModel>(scene, e, generatedModel);

            if (component.routine != null)
            {
                yield return(component.routine);
            }

            int id = (int)scene.ownerController.componentFactory.GetIdForType <TComponent>();

            scene.EntityComponentUpdate(e, (CLASS_ID_COMPONENT)id, "{}");

            if (component.routine != null)
            {
                yield return(component.routine);
            }

            CompareWithDefaultedInstance <TModel, TComponent>(component);
            TestHelpers.RemoveSceneEntity(scene, e.entityId);
        }
示例#18
0
 public static BoxShape CreateEntityWithBoxShape(ParcelScene scene, Vector3 position,
                                                 BoxShape.Model model = null)
 {
     return(CreateEntityWithPrimitive <BoxShape, BoxShape.Model>(scene, position, CLASS_ID.BOX_SHAPE, model));
 }
示例#19
0
        public static IEnumerator TestSharedComponentDefaultsOnUpdate <TModel, TComponent>(ParcelScene scene,
                                                                                           CLASS_ID id)
            where TComponent : BaseDisposable
            where TModel : class, new()
        {
            TComponent component = TestHelpers.SharedComponentCreate <TComponent, TModel>(scene, id);

            if (component.routine != null)
            {
                yield return(component.routine);
            }

            TModel generatedModel = new TModel();

            foreach (FieldInfo f in typeof(TModel).GetFields())
            {
                System.Type t          = f.FieldType;
                object      valueToSet = GetRandomValueForType(t);
                f.SetValue(generatedModel, valueToSet);
            }

            yield return(SharedComponentUpdate(component, generatedModel));

            yield return(TestHelpers.SharedComponentUpdate(component, new TModel()));

            yield return(component.routine);

            CompareWithDefaultedInstance <TModel, TComponent>(component);

            component.Dispose();
        }
示例#20
0
 public static SphereShape CreateEntityWithSphereShape(ParcelScene scene, Vector3 position,
                                                       SphereShape.Model model = null)
 {
     return(CreateEntityWithPrimitive <SphereShape, SphereShape.Model>(scene, position, CLASS_ID.SPHERE_SHAPE,
                                                                       model));
 }
示例#21
0
 public static void RemoveSceneEntity(ParcelScene scene, string id)
 {
     scene.RemoveEntity(id);
 }
示例#22
0
 public static CylinderShape CreateEntityWithCylinderShape(ParcelScene scene, Vector3 position,
                                                           CylinderShape.Model model = null)
 {
     return(CreateEntityWithPrimitive <CylinderShape, CylinderShape.Model>(scene, position,
                                                                           CLASS_ID.CYLINDER_SHAPE, model));
 }
示例#23
0
        public static IEnumerator TestUIElementAddedCorrectlyOnInvisibleParent <TComponent, TComponentModel>(ParcelScene scene, CLASS_ID classId)
            where TComponent : UIShape
            where TComponentModel : UIShape.Model, new()
        {
            UIScreenSpace parentElement = TestHelpers.SharedComponentCreate <UIScreenSpace, UIScreenSpace.Model>(scene, CLASS_ID.UI_SCREEN_SPACE_SHAPE);

            yield return(parentElement.routine);

            // make canvas invisible
            yield return(SharedComponentUpdate(parentElement, new UIScreenSpace.Model {
                visible = false
            }));

            TComponent targetUIElement =
                SharedComponentCreate <TComponent, TComponentModel>(scene,
                                                                    classId,
                                                                    new TComponentModel
            {
                parentComponent = parentElement.id,
                width           = new UIValue(100f),
                height          = new UIValue(100f)
            });

            yield return(targetUIElement.routine);

            RectTransform uiCanvasRectTransform = parentElement.childHookRectTransform.GetComponentInParent <RectTransform>();

            Assert.AreEqual(uiCanvasRectTransform.rect.width / 2, targetUIElement.referencesContainer.layoutElementRT.anchoredPosition.x);
            Assert.AreEqual(-uiCanvasRectTransform.rect.height / 2, targetUIElement.referencesContainer.layoutElementRT.anchoredPosition.y);

            Assert.AreEqual(100f, targetUIElement.referencesContainer.layoutElementRT.rect.width);
            Assert.AreEqual(100f, targetUIElement.referencesContainer.layoutElementRT.rect.height);
        }
示例#24
0
 public static ConeShape CreateEntityWithConeShape(ParcelScene scene, Vector3 position,
                                                   ConeShape.Model model = null)
 {
     return(CreateEntityWithPrimitive <ConeShape, ConeShape.Model>(scene, position, CLASS_ID.CONE_SHAPE, model));
 }
示例#25
0
 public virtual void Activate(ParcelScene scene)
 {
     isModeActive = true;
 }
示例#26
0
 public static ConeShape CreateEntityWithConeShape(ParcelScene scene, Vector3 position, bool visible)
 {
     return(CreateEntityWithConeShape(scene, position, new ConeShape.Model {
         visible = visible
     }));
 }
示例#27
0
 public void PublishScene(ParcelScene scene)
 {
     WebInterface.SendSceneEvent(scene.sceneData.id, BuilderInWorldSettings.STATE_EVENT_NAME, storeSceneState);
 }
示例#28
0
 public static PBRMaterial CreateEntityWithPBRMaterial(ParcelScene scene, PBRMaterial.Model model,
                                                       out DecentralandEntity entity)
 {
     return(CreateEntityWithPBRMaterial(scene, model, Vector3.zero, out entity));
 }
示例#29
0
 public void SetSceneToEdit(ParcelScene scene)
 {
     currentScene = scene;
 }
示例#30
0
    void SetLookAtObject(ParcelScene parcelScene)
    {
        Vector3 middlePoint = BuilderInWorldUtils.CalculateUnityMiddlePoint(parcelScene);

        lookAtT.position = middlePoint;
    }