public void Activate()
    {
        // (Re)Set volume for post process vignette effect
        if (vignette != null)
        {
            vignette.intensity.value = 0f;
            Destroy(vignette);
            vignette = null;
        }
        vignette = ScriptableObject.CreateInstance <Vignette>();
        vignette.enabled.Override(true);
        vignette.intensity.Override(0f);
        vignette.roundness.Override(1f);
        vignette.smoothness.Override(1f);
        volume = PostProcessManager.instance.QuickVolume(8, 100f, vignette);

        // (Re)Set cubeHasBeenHere
        cubeHasBeenHere = new Dictionary <MazeFrameSplines.SplineSegment, bool>(MazeFrameSplines.SplineSegments.Count);
        foreach (MazeFrameSplines.SplineSegment segment in MazeFrameSplines.SplineSegments)
        {
            cubeHasBeenHere.Add(segment, false);
        }

        // Reset some initials, as we need to guarantee initial behavior
        CurrSplineSegment = null;
        currEventHorizon  = eventHorizon * MazeScale.ComponentMax();

        // activate
        cubesActive = true;
    }
 private void OnEnable()
 {
     CODTrans = gameObject.transform;
     playerRB = GameObject.FindWithTag("Player").GetComponent <Rigidbody>();
     gravityFrameController = FindObjectOfType <GameController>().levelController.gravityFrameController;
     currEventHorizon       = eventHorizon * MazeScale.ComponentMax();
 }
Beispiel #3
0
        private void MazeEditorView_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            try
            {
                g.Clear(Color.CornflowerBlue);

                g.TranslateTransform(ViewportOrigin.X, ViewportOrigin.Y);
                g.ScaleTransform(MazeScale / 1000.0f, MazeScale / 1000.0f);

                for (int i = Maze.MinCoordinate; i <= Maze.MaxCoordinate; i += 1024)
                {
                    g.DrawLine(gridPen, new Point(i, 0), new Point(i, Maze.MaxCoordinate));
                    g.DrawLine(gridPen, new Point(0, i), new Point(Maze.MaxCoordinate, i));
                }

                // Can't reference instance data if in VS designer
                if (DesignMode)
                {
                    g.ResetTransform();
                    g.DrawString("Design Mode", font, solidBrush, 16, 32);
                    return;
                }

                foreach (var wall in Maze.Geometry)
                {
                    g.DrawLine(wall == _selectedObject ? selectedObjectPen : wallPen, new Point(wall.X1, wall.Y1), new Point(wall.X2, wall.Y2));
                }

                foreach (var location in Maze.Locations)
                {
                    g.FillRectangle(location == _selectedObject ? selectedObjectBrush : solidBrush, location.X - 25, location.Y - 25, 50, 50);
                }

                g.ResetTransform();
                g.DrawString(MazeScale.ToString(), font, solidBrush, 16, 32);
                g.DrawString(ViewportOrigin.ToString(), font, solidBrush, 16, 64);
            }
            catch (Exception ex) {
                System.Diagnostics.Debugger.Break();
            }
        }