示例#1
0
    protected override IEnumerator SetUp()
    {
        yield return(base.SetUp());

        BuilderInWorldController controller = Resources.FindObjectsOfTypeAll <BuilderInWorldController>()[0];

        entityHandler = controller.builderInWorldEntityHandler;
        entityHandler.Init();

        TestHelpers.CreateSceneEntity(scene, ENTITY_ID);
        entityHandler.EnterEditMode(scene);
        entity = entityHandler.GetAllEntitiesFromCurrentScene().FirstOrDefault();
    }
示例#2
0
    protected override IEnumerator SetUp()
    {
        yield return(base.SetUp());

        controller = Resources.FindObjectsOfTypeAll <BuilderInWorldController>()[0];

        biwCreatorController = controller.biwCreatorController;
        biwCreatorController.Init();
        entityHandler = controller.builderInWorldEntityHandler;
        entityHandler.Init();

        entityHandler.EnterEditMode(scene);
        biwCreatorController.EnterEditMode(scene);
    }
    protected override IEnumerator SetUp()
    {
        yield return(base.SetUp());

        controller           = Resources.FindObjectsOfTypeAll <BuilderInWorldController>()[0];
        actionController     = controller.actionController;
        entityHandler        = controller.builderInWorldEntityHandler;
        biwFloorHandler      = controller.biwFloorHandler;
        biwCreatorController = controller.biwCreatorController;
        entityHandler.Init();

        TestHelpers.CreateSceneEntity(scene, ENTITY_ID);
        entityHandler.EnterEditMode(scene);
    }
示例#4
0
    protected override IEnumerator SetUp()
    {
        yield return(base.SetUp());

        BuilderInWorldController controller = Resources.FindObjectsOfTypeAll <BuilderInWorldController>()[0];

        entityHandler = controller.builderInWorldEntityHandler;
        entityHandler.Init();
        entityHandler.EnterEditMode(scene);

        dummyGameObject = new GameObject();
        biwBridge       = Utils.GetOrCreateComponent <BuilderInWorldBridge>(dummyGameObject);

        WebInterface.OnMessageFromEngine += MessageReceived;
    }
    void Start()
    {
        KernelConfig.i.EnsureConfigInitialized().Then(config => activeFeature = config.features.enableBuilderInWorld);
        KernelConfig.i.OnChange += OnKernelConfigChanged;

        if (snapGO == null)
        {
            snapGO = new GameObject("SnapGameObject");
        }

        snapGO.transform.SetParent(transform);

        if (freeMovementGO == null)
        {
            freeMovementGO = new GameObject("FreeMovementGO");
        }

        freeMovementGO.transform.SetParent(cameraParentGO.transform);

        if (editionGO == null)
        {
            editionGO = new GameObject("EditionGO");
        }

        editionGO.transform.SetParent(cameraParentGO.transform);

        if (undoGO == null)
        {
            undoGO = new GameObject("UndoGameObject");
            undoGO.transform.SetParent(transform);
        }

        HUDConfiguration hudConfig = new HUDConfiguration();

        hudConfig.active  = true;
        hudConfig.visible = false;
        HUDController.i.CreateHudElement <BuildModeHUDController>(hudConfig, HUDController.HUDElementID.BUILDER_IN_WORLD_MAIN);
        HUDController.i.CreateHudElement <BuilderInWorldInititalHUDController>(hudConfig, HUDController.HUDElementID.BUILDER_IN_WORLD_INITIAL);

        editModeChangeInputAction.OnTriggered += OnEditModeChangeAction;

        createLastSceneObjectDelegate = (action) => CreateLastSceneObject();
        redoDelegate     = (action) => RedoAction();
        undoDelegate     = (action) => UndoAction();
        snapModeDelegate = (action) => ChangeSnapMode();

        toggleCreateLastSceneObjectInputAction.OnTriggered += createLastSceneObjectDelegate;
        toggleRedoActionInputAction.OnTriggered            += redoDelegate;
        toggleUndoActionInputAction.OnTriggered            += undoDelegate;
        toggleSnapModeInputAction.OnTriggered += snapModeDelegate;

        multiSelectionStartDelegate    = (action) => StartMultiSelection();
        multiSelectionFinishedDelegate = (action) => EndMultiSelection();

        multiSelectionInputAction.OnStarted  += multiSelectionStartDelegate;
        multiSelectionInputAction.OnFinished += multiSelectionFinishedDelegate;

        HUDController.i.builderInWorldInititalHud.OnEnterEditMode += TryStartEnterEditMode;
        HUDController.i.builderInWorldMainHud.OnStopInput         += StopInput;
        HUDController.i.builderInWorldMainHud.OnResumeInput       += ResumeInput;


        HUDController.i.builderInWorldMainHud.OnChangeModeAction += ChangeAdvanceMode;
        HUDController.i.builderInWorldMainHud.OnResetAction      += ResetScaleAndRotation;

        HUDController.i.builderInWorldMainHud.OnSceneObjectSelected += OnSceneObjectSelected;
        HUDController.i.builderInWorldMainHud.OnTutorialAction      += StartTutorial;
        HUDController.i.builderInWorldMainHud.OnPublishAction       += PublishScene;
        HUDController.i.builderInWorldMainHud.OnLogoutAction        += ExitEditMode;

        BuilderInWorldNFTController.i.OnNFTUsageChange += OnNFTUsageChange;

        builderInputWrapper.OnMouseClick += MouseClick;

        builderInWorldEntityHandler.Init();
        InitEditModes();


        CommonScriptableObjects.builderInWorldNotNecessaryUIVisibilityStatus.Set(true);


        if (!isTestMode)
        {
            ExternalCallsController.i.GetContentAsString(BuilderInWorldSettings.BASE_URL_ASSETS_PACK, CatalogReceived);
            BuilderInWorldNFTController.i.Initialize();
        }

        meshLoadIndicator.SetCamera(Camera.main);
    }