コード例 #1
0
ファイル: csPlayer.cs プロジェクト: jhghdi/-Perhaps_High_noon
    /// <summary>
    /// 리벤지 모드일대는 드래그로 Enemy를 조준한다.
    /// </summary>
    /// <param name="position">드래그한 위치</param>
    /// <param name="action">터치 상태(Move, End)</param>
    public void Revenge(Vector3 position, Common.INPUT action)
    {
        //드래그한 위치에 Ray를 쏴서 맞은 Enemy를 확인.
        //적이 겹치면 문제 발생!
        Ray        ray = Camera.main.ScreenPointToRay(position);
        RaycastHit hit;

        //드래그 할때는 Enemy를 조준함
        if (action == Common.INPUT.INPUT_MOVE)
        {
            if (!Physics.Raycast(ray, out hit))
            {
                return;
            }

            //드래그한 적 선 그리기
            if (hit.transform.tag.Equals("Enemy"))
            {
                hit.transform.tag = "AimLock";
                csSoundManager.Instance().PlaySfx(revengeAimSound);
                pathPoints.Add(hit.transform.position + Vector3.up * 1.25f);
            }
        }
        //땠을 때는 조준한 Enemy를 죽임
        else if (action == Common.INPUT.INPUT_END)
        {
            StartCoroutine(FinalShot());
        }
    }
コード例 #2
0
ファイル: csPlayer.cs プロジェクト: jhghdi/-Perhaps_High_noon
 /// <summary>
 /// Input Manager가 호출한다.
 /// </summary>
 /// <param name="position">스크린을 터치한 위치</param>
 /// <param name="action">터치한 상태(Begin,Move, End,Null)</param>
 public void DoAction(Vector3 position, Common.INPUT action)
 {
     if (isHighNoon && action != Common.INPUT.INPUT_BEGIN)
     {
         Revenge(position, action);
     }
     else if (!isHighNoon && action == Common.INPUT.INPUT_BEGIN)
     {
         Shot(position);
     }
 }