コード例 #1
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        PControl wt = (PControl)target;

        //wt.mAuto = GUILayout.Toggle(wt.mAuto, "mAuto");
        if (GUILayout.Button("Up"))
        {
            wt.Traverse(0);
        }
        if (GUILayout.Button("Down"))
        {
            wt.Traverse(1);
        }

        if (GUILayout.Button("Forward"))
        {
            wt.Traverse(2);
        }
        if (GUILayout.Button("Backward"))
        {
            wt.Traverse(3);
        }

        if (GUILayout.Button("Left"))
        {
            wt.Traverse(4);
        }
        if (GUILayout.Button("Right"))
        {
            wt.Traverse(5);
        }
    }
コード例 #2
0
 private void Start()
 {
     characters = new List <GameObject>();
     characters.Add(character1);
     characters.Add(character2);
     characters.Add(character3);
     currentIndex = -1;
     pControl     = GetComponentInChildren <PControl>();
 }
コード例 #3
0
    //bool m_Hit;



    void Start()
    {
        //m_Hit = false;
        anim          = GetComponent <Animator>();
        rb2d          = GetComponent <Rigidbody2D>();
        target        = GameObject.FindObjectOfType <PControl>();
        moveDirection = (target.transform.position - transform.position).normalized * gr_ProjSpeed;
        rb2d.velocity = new Vector2(moveDirection.x, moveDirection.y);
        //m_Hit = false;
        Destroy(gameObject, gr_ProjDestroyAfterTime);
    }
コード例 #4
0
    void Update()
    {
        pctarget = GameObject.FindObjectOfType <PControl>();
        //CheckIfFalling();
        //if (isFalling == true)
        //{
        //Debug.Log("adding down force");

        //rigid2D.velocity = Vector2.down;
        //}
    }
コード例 #5
0
 void Update()
 {
     target = GameObject.FindObjectOfType <PControl>();
     if (isHit == true)
     {
         animator.SetBool("Hit", true);
     }
     else
     {
         animator.SetBool("Hit", false);
     }
 }
コード例 #6
0
        public override PActivity DirectCameraViewToFocus(PCamera aCamera, PNode aFocusNode, int duration)
        {
            PActivity animateViewToMatrix = base.DirectCameraViewToFocus(aCamera, aFocusNode, duration);

            PControl controlNode = (PControl)aFocusNode;

            aCamera.Root.WaitForActivities();
            controlNode.CurrentCamera = aCamera;
            controlNode.Editing       = true;

            return(animateViewToMatrix);
        }
コード例 #7
0
 private void OnCollisionEnter(Collision collision)
 {
     if (collision.gameObject.tag == ("Player"))
     {
         PControl controller = collision.gameObject.GetComponent <PControl>();
         if (controller != null)
         {
             controller.ResetPlayer();
         }
         else
         {
             Debug.LogError("Error: player controller is null.");
         }
     }
 }
コード例 #8
0
        /// <summary>
        /// Animates the camera's view to keep the control node on the screen and at 100
        /// percent scale with minimal view movement.
        /// </summary>
        /// <param name="aCamera">The camera whose view will be animated.</param>
        /// <param name="aControlNode">The control node to animate to.</param>
        /// <param name="path">The pick path through which the control node was picked.</param>
        /// <param name="duration">The length of the animation.</param>
        /// <returns>
        /// The activity that animates the camera's view to the control node.
        /// </returns>
        public virtual PActivity DirectCameraViewToControl(PCamera aCamera, PControl aControlNode, PPickPath path, int duration)
        {
            Matrix originalViewMatrix = aCamera.ViewMatrix;

            // Scale the canvas to include
            SizeFx s = new SizeFx(1, 0);

            s = aControlNode.GlobalToLocal(s);

            float   scaleFactor = s.Width / aCamera.ViewScale;
            PointFx scalePoint  = PUtil.CenterOfRectangle(aControlNode.GlobalFullBounds);

            if (scaleFactor != 1)
            {
                aCamera.ScaleViewBy(scaleFactor, scalePoint.X, scalePoint.Y);
            }

            // Pan the canvas to include the view bounds with minimal canvas
            // movement.
            aCamera.AnimateViewToPanToBounds(aControlNode.GlobalFullBounds, 0);

            // Get rid of any white space. The canvas may be panned and
            // zoomed in to do this. But make sure not stay constrained by max
            // magnification.
            //FillViewWhiteSpace(aCamera);

            Matrix resultingMatrix = aCamera.ViewMatrix;

            aCamera.ViewMatrix = originalViewMatrix;

            PControl controlNode = (PControl)aControlNode;

            // Animate the canvas so that it ends up with the given
            // view transform.
            PActivity animateCameraViewActivity = AnimateCameraViewMatrixTo(aCamera, resultingMatrix, duration);

            aCamera.Root.WaitForActivities();

            Matrix  pathTransform = path.GetPathTransformTo(controlNode);
            PointFx point         = new PointFx(controlNode.X, controlNode.Y);
            PointFx pf            = MatrixExtensions.Transform(pathTransform, point);

            controlNode.ControlLocation = new System.Drawing.Point((int)pf.X, (int)pf.Y);
            controlNode.CurrentCanvas   = path.TopCamera.Canvas;
            controlNode.Editing         = true;

            return(animateCameraViewActivity);
        }
コード例 #9
0
        public override void OnMouseDown(object sender, PInputEventArgs e)
        {
            if (lastEditedControl != null)
            {
                lastEditedControl.Editing = false;
            }

            PNode node = e.PickedNode;

            if (node is PControl)
            {
                e.Handled = true;
                base.OnMouseDown(sender, e);
                lastEditedControl = (PControl)node;
            }
        }
コード例 #10
0
        /// <summary>
        /// Overridden.  Moves the focus to the <see cref="PControl"/> node under
        /// the cursor.
        /// </summary>
        /// <param name="sender">The source of the PInputEvent.</param>
        /// <param name="e">A PInputEventArgs that contains the event data.</param>
        public override void OnMouseDown(object sender, PInputEventArgs e)
        {
            base.OnMouseDown(sender, e);

            if (lastEditedControl != null)
            {
                lastEditedControl.Editing = false;
            }

            PNode node = e.PickedNode;

            if (node is PControl)
            {
                e.Handled = true;
                DirectCameraViewToControl(e.Camera, (PControl)node, e.Path, 300);
                lastEditedControl = (PControl)node;
            }
        }
コード例 #11
0
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Q) && characterChangeCooldown == false)
        {
            Switch();
            pControl = GetComponentInChildren <PControl>();
            Invoke("ResetCooldown", 1.0f);
            characterChangeCooldown = true;
        }

        if (pControl.currentHealth <= 0)
        {
            Switch();
            pControl = GetComponentInChildren <PControl>();
            deathCounter++;
        }

        if (deathCounter >= 3)
        {
            SceneManager.LoadScene("GameOver");
        }
    }
コード例 #12
0
        public override void Initialize()
        {
            // Add a standard pnode to the scene graph.
            PNode aNode = new PNode();

            aNode.SetBounds(0, 70, 15, 15);
            aNode.Brush = Brushes.Blue;
            Canvas.Layer.AddChild(aNode);

            // Create a button.
            Button button = new Button();

            button.Text      = "Hello";
            button.Bounds    = new Rectangle(10, 10, 10, 10);
            button.BackColor = SystemColors.Control;

            // Wrap the button in a PControl and
            // add it to the scene graph.
            PControl cn = new PControl(button);

            Canvas.Layer.AddChild(cn);
            cn.SetBounds(20, 20, 70, 70);

            // Create another button.
            Button otherButton = new Button();

            otherButton.Text      = "123";
            otherButton.Bounds    = new Rectangle(0, 0, 15, 45);
            otherButton.BackColor = SystemColors.Control;

            // Wrap the second button in another PControl and
            // add it to the scene graph.
            PControl cn2 = new PControl(otherButton, PCanvas.CURRENT_PCANVAS);

            cn2.ScaleBy(1.1f);
            Canvas.Layer.AddChild(cn2);

            // Create a tabcontrol
            TabControl tabControl = new TabControl();

            tabControl.Size = new Size(60, 60);
            tabControl.TabPages.Add(new TabPage("P1"));
            tabControl.TabPages.Add(new TabPage("P2"));

            // Wrap the tabcontrol in a PControl and
            // add it the scene graph.
            PControl cn3 = new PControl(tabControl);

            cn3.ScaleBy(1.2f);
            cn3.TranslateBy(0, 100);
            Canvas.Layer.AddChild(cn3);

            // Create an internal camera that looks at the main layer.
            PCamera internalCamera = new PCamera();

            internalCamera.TranslateViewBy(145, 145);
            internalCamera.ScaleViewBy(.5f);
            internalCamera.SetBounds(130, 130, 200, 200);
            internalCamera.Brush = Brushes.Yellow;
            internalCamera.AddLayer(Canvas.Layer);
            Canvas.Camera.AddChild(internalCamera);

            Canvas.Layer.ScaleBy(1.3f);

            // Create another canvas.
            PCamera otherCamera = new PCamera();

            otherCamera.AddLayer(Canvas.Layer);
            Canvas.Root.AddChild(otherCamera);

            PCanvas other = new PCanvas();

            other.Camera = otherCamera;
            PForm result = new PForm(false, other);

            result.StartPosition = FormStartPosition.Manual;
            result.Location      = new Point(this.Location.X + this.Width, this.Location.Y);
            result.Size          = this.Size;
            result.Show();

            // Add the control event handler to both canvas' cameras.
            Canvas.Camera.AddInputEventListener(new PControlEventHandler());
            other.Camera.AddInputEventListener(new PControlEventHandler());
        }