예제 #1
0
    private void Targetting()
    {
        RaycastHit hit;
        LayerMask  layerMask = 1 << 10;
        Vector3    direction = (transform.position - cam.transform.position).normalized;
        Ray        ray       = cam.ScreenPointToRay(direction);

        Debug.DrawRay(cam.transform.position, direction * 15f, Color.green);
        Physics.Raycast(cam.transform.position, direction, out hit, 15f, layerMask);
        thingivehit = hit.transform;
        if (hit.collider != null)
        {
            ivehitsomething = true;
            if (Input.GetKeyUp(KeyCode.Q))
            {
                hotdog.GetComponent <Hotdog>().target      = thingivehit.gameObject;
                hotdog.GetComponent <Hotdog>().hotdogState = Hotdog.pigeonState.followcommand;
                crosshairstate  = CrosshairState.isdisabled;
                ivehitsomething = false;
                thingivehit     = null;
            }
        }
        else if (hit.collider == null)
        {
            thingivehit     = null;
            ivehitsomething = false;
        }
    }
예제 #2
0
 // Start is called before the first frame update
 void Start()
 {
     crosshairstate = CrosshairState.isdisabled;
     myRigidbody    = gameObject.GetComponent <Rigidbody2D>();
     player         = GameObject.Find("PJohns");
     hotdog         = GameObject.Find("Hotdog");
     spriteRenderer = gameObject.GetComponent <SpriteRenderer>();
 }
예제 #3
0
 /// <summary>
 /// Chase the specified newtarget. Feed me a World Position, I convert it to Viewport Position
 /// </summary>
 /// <param name="newtarget">Newtarget.</param>
 public void Chase(Transform newtarget)
 {
     target = newtarget;
     //target.position = myCam.WorldToViewportPoint(newtarget.position);
     //target.position.z = 10f;
     StartPulse();
     //Debug.Log("Chasing at " + newtarget);
     state = CrosshairState.Alert;
 }
예제 #4
0
 private void SetCrosshairState(CrosshairState state)
 {
     if (currentState == state)
     {
         return;
     }
     currentState = state;
     crosshair.SetTrigger(state.ToString());
 }
        /// <summary>
        /// This method is called when the power is different from hundred.
        /// Releases the Wrecking ball and destruct the obstacle according to power.
        /// </summary>
        /// <param name="target">Position of the target point.</param>
        /// <returns>StartCoroutine</returns>
        private IEnumerator OnHit(Vector3 target)
        {
            crosshairState = CrosshairState.None;
            PlayerStats.Lives--;
            yield return(StartCoroutine(Animate("FadeOut", 1f)));

            wreckingBall.gameObject.SetActive(true);
            wreckingBall.Release(target);
            UiManager.Instance.CloseCrosshair();
        }
        /// <summary>
        /// Changes the state of Crosshair to none.
        /// Decrease lifeCounter -1.
        /// Starts the Animate Coroutine. (Perfect)
        /// </summary>
        /// <param name="target"></param>
        /// <returns>StartCoroutine</returns>
        private IEnumerator OnPerfect(Vector3 target)
        {
            crosshairState = CrosshairState.None;
            PlayerStats.Lives--;
            perfectText.gameObject.SetActive(true);
            powerText.gameObject.SetActive(true);
            powerImage.gameObject.SetActive(true);
            yield return(StartCoroutine(Animate("Perfect", 2f)));

            wreckingBall.gameObject.SetActive(true);
            wreckingBall.Release(target);
            UiManager.Instance.CloseCrosshair();
        }
예제 #7
0
 public void SetState(CrosshairState cs)
 {
     m_state = cs;
     if (cs == CrosshairState.Disabled)
     {
         m_targetedCrosshair.SetActive(false);
         m_enabledCrosshair.SetActive(false);
     }
     else if (cs == CrosshairState.Enabled)
     {
         m_targetedCrosshair.SetActive(false);
         m_enabledCrosshair.SetActive(true);
     }
     else if (cs == CrosshairState.Targeted)
     {
         m_targetedCrosshair.SetActive(true);
         m_enabledCrosshair.SetActive(false);
     }
 }
예제 #8
0
        private void SetCrosshairValue(CrosshairState state)
        {
            switch (state)
            {
            case CrosshairState.Always:
                CrosshairAlwaysToggle.isOn = true;
                break;

            case CrosshairState.Auto:
                CrosshairAutoToggle.isOn = true;
                break;

            case CrosshairState.Never:
                CrosshairNeverToggle.isOn = true;
                break;

            default:
                throw new NotImplementedException();
            }
        }
예제 #9
0
 /// <summary>
 /// Stop being angry
 /// </summary>
 public void CalmDown()
 {
     //Debug.Log("Calming down");
     StartSpin();
     state = CrosshairState.Wandering;
 }
 /// <summary>
 /// This function is called when the object becomes enabled and active.
 /// </summary>
 private void OnEnable()
 {
     crosshairState = CrosshairState.None;
     StartCoroutine(ResetCrosshair());
 }
 /// <summary>
 /// This method changes the Crosshair's state according to specified state.
 /// </summary>
 /// <param name="state">Target state</param>
 private void ChangeCrosshairState(CrosshairState state)
 {
     timeElapsed    = 0;
     crosshairState = state;
 }