private void OnPanUpdated(BlastyEventData ev)
    {
        var touchEventData = (TouchEventData)ev;

        if (touchEventData.PanType == TouchManager.PanType.Player)
        {
            TryUpdateRotationBecauseOfAimingLimit(touchEventData.CurDirection);
            return;
        }

        switch (touchEventData.TouchState)
        {
        case TouchManager.TouchState.InitPan:
            //_initialDragPosition = sender.ScreenPosition;
            //GetInitialDirectionOnScreenSpace();
            break;

        case TouchManager.TouchState.UpdatePan:
            RotateCameraAroundPlayer(touchEventData.DeltaIncrement);
            break;

        case TouchManager.TouchState.FinishPan:
            //ResetRotation();
            break;
        }
    }
Example #2
0
    public void TriggerEvent(string eventName, BlastyEventData arg = null)
    {
        BlastyEvent thisEvent = null;

        if (_eventDictionary.TryGetValue(eventName, out thisEvent))
        {
            thisEvent.Invoke(arg);
        }
    }
Example #3
0
    private void PanFinished(BlastyEventData ev)
    {
        var shootEv = (ShootEventData)ev;

        if (shootEv.ValidShot)
        {
            Shoot();
            _stateMachine.ChangeState(_inMovementState);
        }
    }
Example #4
0
    private void PanFinished(BlastyEventData ev)
    {
        var shootEv = (ShootEventData)ev;

        if (shootEv.ValidShot)
        {
            ResetRotation();
            FinishAiming();
        }
    }
Example #5
0
    private void OnTouch(BlastyEventData ev)
    {
        var touchEventData = (TouchEventData)ev;

        if (touchEventData.TouchState == TouchManager.TouchState.FinishPan)
        {
            var ray             = Camera.main.ScreenPointToRay(touchEventData.CurPosition);
            var touchedElements = Physics.RaycastAll(ray);
            foreach (var touchedElement in touchedElements)
            {
                if (touchedElement.collider.gameObject == gameObject)
                {
                    OnMagnetPressed();
                    return;
                }
            }
        }
    }
Example #6
0
    private void OnPanUpdated(BlastyEventData ev)
    {
        var touchEventData = (TouchEventData)ev;

        if (touchEventData.PanType == TouchManager.PanType.World)
        {
            return;
        }

        switch (touchEventData.TouchState)
        {
        case TouchManager.TouchState.InitPan:
            _initialDragPosition = touchEventData.CurPosition;
            StartNewAiming();
            GetInitialDirectionOnScreenSpace();
            break;

        case TouchManager.TouchState.UpdatePan:
            MoveDirectionArrow(touchEventData);
            UpdateArrowSize(touchEventData.CurPosition);
            break;

        case TouchManager.TouchState.FinishPan:
            FinishAiming();
            if (_curPower < _minPowerToShoot)
            {
                return;
            }

            var shootEventData = new ShootEventData();
            shootEventData.ValidShot = true;
            shootEventData.Power     = 10f;

            EventManager.Instance.TriggerEvent(ShootEvent.EventName, shootEventData);

            OnPowerChanged(0f);
            break;
        }
    }