示例#1
0
 protected override void OnEnable()
 {
     base.OnEnable();
     gesture = GetComponent <MetaGesture>();
     if (gesture)
     {
         gesture.TouchBegan += touchBeganHandler;
         gesture.TouchEnded += touchEndedHandler;
     }
 }
示例#2
0
 protected override void init()
 {
     gesture = GetComponent <MetaGesture>();
     if (gesture)
     {
         gesture.PointerPressed   += pointerPressedHandler;
         gesture.PointerUpdated   += pointerUpdatedHandler;
         gesture.PointerCancelled += pointerCancelledhandler;
         gesture.PointerReleased  += pointerReleasedHandler;
     }
 }
示例#3
0
 private void Awake()
 {
     gesture        = GetComponent <MetaGesture> ();
     releaseGesture = GetComponent <ReleaseGesture> ();
     trans          = iluminacao.GetComponent <Transform> ();
     areaTrans      = areaPoseidon.GetComponent <Transform> ();
     lightRender    = iluminacao.GetComponent <SpriteRenderer> ();
     luzPos         = new Vector2();
     unitPos        = new Vector2();
     lightColor     = new Color(1, 1, 1);
     unitVerificar  = new bool[13, 7];
 }
    void TouchMoveHandler(object sender, System.EventArgs e)
    {
        if (joystickActive && AnimationSetter.instance.state != MonsterState.Dash)
        {
            if (fingerpresses == 1)
            {
                MetaGesture gesture = sender as MetaGesture;
                gesture.GetTargetHitResult(out hitJS);
            }

            float x = 0;
            float y = 0;

            if (Camera.main.WorldToScreenPoint(hitJS.Point).x >= Camera.main.WorldToScreenPoint(joystickPos.transform.position).x + XTHRESHHOLD || Camera.main.WorldToScreenPoint(hitJS.Point).x < Camera.main.WorldToScreenPoint(joystickPos.transform.position).x - XTHRESHHOLD)
            {
                x = (hitJS.Point.x - joystickPos.transform.position.x) * MAXXSPEED;
                if (x > MAXXSPEED)
                {
                    x = MAXXSPEED;
                }
            }

            if (Camera.main.WorldToScreenPoint(hitJS.Point).y >= Camera.main.WorldToScreenPoint(joystickPos.transform.position).y + YTHRESHHOLD || Camera.main.WorldToScreenPoint(hitJS.Point).y < Camera.main.WorldToScreenPoint(joystickPos.transform.position).y - YTHRESHHOLD)
            {
                y = (hitJS.Point.y - joystickPos.transform.position.y) * MAXYSPEED;
                if (y > MAXYSPEED)
                {
                    y = MAXYSPEED;
                }
            }

            Vector3 moveVector = new Vector3(x, y, player.transform.position.z);
            moveVector.Normalize();
            //print(moveVector);

            player.GetComponent <MonsterController>().RecieveMovmentImput(moveVector);

            if (moveVector.x != 0 || moveVector.y != 0)
            {
                AnimationSetter.instance.SetMovement(true);
            }
            else
            {
                AnimationSetter.instance.SetMovement(false);
            }
        }
        flickReady = false;
    }
    void TouchStartHandler(object sender, System.EventArgs e)
    {
        if (!joystickActive && fingerpresses == 0 && AnimationSetter.instance.state != MonsterState.Stun)
        {
            MetaGesture gesture = sender as MetaGesture;
            TouchHit    hit;
            gesture.GetTargetHitResult(out hit);

            Vector3 modifiedPos = new Vector3(hit.Point.x, hit.Point.y, joystickPos.transform.position.z);

            joystickPos.transform.position = modifiedPos;

            joystickActive = true;
            flickReady     = false;
        }
        fingerpresses++;
    }
 public static IObservable <EventPattern <MetaGestureEventArgs> > PointerCancelledAsObservable(this MetaGesture gesture)
 {
     return(Observable.FromEventPattern <EventHandler <MetaGestureEventArgs>, MetaGestureEventArgs>(
                h => h.Invoke,
                h => gesture.PointerCancelled += h,
                h => gesture.PointerCancelled -= h));
 }
示例#7
0
 void Awake()
 {
     mMetaGesture = GetComponent <MetaGesture>();
 }
 /// <summary>
 /// Returns if a gesture is being performed.
 /// </summary>
 /// <param name="hand">Hand of the user</param>
 /// <param name="gesture">The gesture to be performed</param>
 /// <returns>if the gesture is being performed by the hand</returns>
 private bool IsValid(Hand hand, MetaGesture gesture)
 {
     return(hand.isValid && hand.gesture.type == gesture);
 }