Esempio n. 1
0
    public override void Launch(EditMain _editmain)
    {
        base.Launch(_editmain);
        Util.FindIfNotSet(this, ref terrain);
        Util.FindIfNotSet(this, ref terrainRendering);
        Util.FindIfNotSet(this, ref undoStack);
        Util.FindIfNotSet(this, ref createTerrainPreview);

        editTerrainTool.Setup();

        terrainToolSettings = editMain.GetTerrainSidebar();
        terrainToolSettings.onModeChange      = SetMode;
        terrainToolSettings.onShapeChange     = SetShape;
        terrainToolSettings.onDirectionChange = SetDirection;

        terrainToolSettings.onEditCopy   = editTerrainTool.CopySelection;
        terrainToolSettings.onEditPaint  = editTerrainTool.PaintSelection;
        terrainToolSettings.onEditDelete = editTerrainTool.DeleteSelection;

        terrainToolSettings.RequestOpen();
        SetMode(terrainToolSettings.GetMode());
        SetShape(terrainToolSettings.GetBlockShape());
        SetDirection(terrainToolSettings.GetBlockDirection());

        createTerrainPreview.SetTint(editMain.GetAvatarTint());
        createToolRay.SetLocalRayOriginTransform(emissionAnchor);
        createToolRay.SetTint(editMain.GetAvatarTint());
        editMain.SetCameraFollowingActor(false);
        editMain.TryEscapeOutOfCameraView();

        RefreshPreviewVisibility();
    }
Esempio n. 2
0
 private void SetShape(BlockShape blockShape)
 {
     createTerrainPreview.UpdatePreviewBlock(blockShape, terrainToolSettings.GetBlockDirection());
 }