Beispiel #1
0
 private void onTap(object sender, TouchScript.Events.GestureStateChangeEventArgs e)
 {
     if (e.State == Gesture.GestureState.Recognized)
     {
         playerController.Jump();
     }
 }
Beispiel #2
0
 void HandleStateChanged(object sender, TouchScript.Events.GestureStateChangeEventArgs e)
 {
     if (e.State == Gesture.GestureState.Ended)
     {
         target.SendMessage(message, SendMessageOptions.RequireReceiver);
     }
 }
Beispiel #3
0
 private void onFlick(object sender, TouchScript.Events.GestureStateChangeEventArgs e)
 {
     if (e.State == Gesture.GestureState.Recognized)
     {
         FlickGesture gesture = sender as FlickGesture;
         if (Mathf.Abs(gesture.ScreenFlickVector.x) > Mathf.Abs(gesture.ScreenFlickVector.y))
         {
             playerController.SwitchDirection((int)Mathf.Sign(gesture.ScreenFlickVector.x));
         }
         else if (gesture.ScreenFlickVector.y > 0)
         {
             playerController.Jump();
         }
     }
 }
Beispiel #4
0
    private void HandleStateChanged(object sender, TouchScript.Events.GestureStateChangeEventArgs e)
    {
        if (e.State == Gesture.GestureState.Recognized)
        {
            var        gesture = sender as TapGesture;
            RaycastHit hit;
            gesture.GetTargetHitResult(out hit);

            Color color = new Color(Random.value, Random.value, Random.value);
            var   c     = Instantiate(CubePrefab) as Transform;
            c.parent     = Container;
            c.name       = "Cube";
            c.localScale = Vector3.one * Scale * c.localScale.x;
            c.position   = hit.point + hit.normal * 2;
            c.renderer.material.color = color;
        }
    }
Beispiel #5
0
 private void HandleStateChanged(object sender, TouchScript.Events.GestureStateChangeEventArgs e)
 {
     if (e.State == Gesture.GestureState.Recognized)
     {
         if (transform.localScale.x > 0.05f)
         {
             Color color = new Color(Random.value, Random.value, Random.value);
             for (int i = 0; i < 8; i++)
             {
                 var c = Instantiate(CubePrefab) as Transform;
                 c.parent                  = transform.parent;
                 c.name                    = "Cube";
                 c.localScale              = 0.5f * transform.localScale;
                 c.position                = transform.TransformPoint(c.localScale.x / 10.0f * directions[i]);
                 c.rigidbody.velocity      = Power * Random.insideUnitSphere;
                 c.renderer.material.color = color;
             }
         }
         Destroy(gameObject);
     }
 }
    private void EventOnTap(object sender, TouchScript.Events.GestureStateChangeEventArgs e)
    {
        if (ServiceLocator.Request <IGameplayService>().GetGameMode() == GameMode.Shooter)
        {
            return;
        }
        TapGesture tap = (TapGesture)sender;

        switch (e.State)
        {
        case Gesture.GestureState.Began:
            break;

        case Gesture.GestureState.Changed:
            break;

        case Gesture.GestureState.Ended:
            if (BallPhysics.instance.state == BallPhysics.BallState.Flying)
            {
                sendDefense(tap.ScreenPosition);
            }
            break;
        }
    }
    private void EventOnPan(object sender, TouchScript.Events.GestureStateChangeEventArgs e)
    {
        if (Blocked)
        {
            return;
        }
        bool playingGoalkeeper = GameplayService.IsGoalkeeper();

        if (playingGoalkeeper && BallPhysics.instance.state != BallPhysics.BallState.Flying && BallPhysics.instance.state != BallPhysics.BallState.Waiting && BallPhysics.instance.state != BallPhysics.BallState.Idle)
        {
            return;
        }
        if (ifcBase.activeIface == ifcAyudaInGame.instance)
        {
            return;
        }
        PanGesture panGest = (PanGesture)sender;

        switch (e.State)
        {
        case Gesture.GestureState.Began:
            InitGesture();
            if (!playingGoalkeeper)
            {
                Vector2 ballPos   = new Vector2(Camera.main.WorldToScreenPoint(BallPhysics.instance.transform.position).x, Camera.main.WorldToScreenPoint(BallPhysics.instance.transform.position).y);
                float   inputArea = (3500f * Mathf.Clamp(ifcBase.scaleFactor, 1f, float.MaxValue) * (PowerupService.instance.IsPowerActive(Powerup.Sharpshooter)? 15f : 1f));
#if UNITY_ANDROID || UNITY_IPHONE
                float dpi = (float)Screen.dpi;
                if (dpi < 25 || dpi > 1000)
                {
                    dpi = 100;
                }
                inputArea *= dpi / 100f;
#endif
                if ((panGest.ScreenPosition - ballPos).sqrMagnitude > inputArea)
                {
                    m_finishedGesture    = true;
                    m_initializedGesture = false;
                    return;
                }
                else
                {
                    m_initializedGesture = true;
                }
            }
            else
            {
                Vector3 gkPosition = Goalkeeper.instance.transform.FindChild("Body").GetComponent <Renderer>().bounds.center;
                Vector2 gkPos      = new Vector2(Camera.main.WorldToScreenPoint(gkPosition).x, Camera.main.WorldToScreenPoint(gkPosition).y);

                float inputArea = (3500f * Mathf.Clamp(ifcBase.scaleFactor, 1f, float.MaxValue));
#if UNITY_ANDROID || UNITY_IPHONE
                float dpi = (float)Screen.dpi;
                if (dpi < 25 || dpi > 1000)
                {
                    dpi = 100;
                }
                inputArea *= dpi / 100f;
#endif
                if ((panGest.ScreenPosition - gkPos).sqrMagnitude > (inputArea))
                {
                    m_finishedGesture    = true;
                    m_initializedGesture = false;
                    return;
                }
                else
                {
                    m_initializedGesture = true;
                }
            }
            addPoint(new PanInfo(panGest.ScreenPosition, Time.time));
            break;

        case Gesture.GestureState.Changed:
            if (m_finishedGesture)
            {
                return;
            }
            if (playingGoalkeeper)
            {
                m_lastScreenPosition = panGest.ScreenPosition;
            }

            /*if(m_panPoints.Count <= 1) {
             * addPoint(new PanInfo(panGest.ScreenPosition, Time.time));
             * return;
             * }*/

            Vector2 direction = panGest.PreviousScreenPosition - panGest.ScreenPosition;
            if (direction.sqrMagnitude > m_minSQRDistanceRange)
            {
                addPoint(new PanInfo(panGest.ScreenPosition, Time.time));
            }

            updateLine();
            break;

        case Gesture.GestureState.Ended:
            //addPoint(new PanInfo(panGest.ScreenPosition, Time.time));
            if (m_finishedGesture)
            {
                return;
            }


            if (playingGoalkeeper && (BallPhysics.instance.state == BallPhysics.BallState.Flying || BallPhysics.instance.state == BallPhysics.BallState.Waiting || BallPhysics.instance.state == BallPhysics.BallState.Idle))
            {
                sendDefense(m_lastScreenPosition);
            }
            else if (BallPhysics.instance.state == BallPhysics.BallState.Waiting)
            {
                EndPan();
            }

            ClearEffects();
            break;
        }
    }