コード例 #1
0
    void OnMouseEvent(Define.eMouseEvent _MouseEvent)
    {
        switch (State)
        {
        case Define.eState.Idle:
        {
            OnMouseEvent_IdleRun(_MouseEvent);
        }
        break;

        case Define.eState.Moving:
        {
            OnMouseEvent_IdleRun(_MouseEvent);
        }
        break;

        case Define.eState.Skill:
        {
            if (_MouseEvent == Define.eMouseEvent.PointerUp)
            {
                _stopSkill = true;
            }
        }
        break;
        }
    }
コード例 #2
0
    void OnMouseEvent_IdleRun(Define.eMouseEvent _MouseEvent)
    {
        //if (_MouseEvent != Define.eMouseEvent.Click)
        //    return;
        if (State == Define.eState.Die)
        {
            return;
        }

        RaycastHit hit;
        Ray        ray         = Camera.main.ScreenPointToRay(Input.mousePosition);
        bool       braycasthit = Physics.Raycast(ray, out hit, 100.0f, _mask);

        //Debug.DrawRay(Camera.main.transform.position, ray.direction * 100.0f, Color.red, 1.0f);

        //int mask = LayerMask.GetMask("Ground") | LayerMask.GetMask("Ground");

        switch (_MouseEvent)
        {
        case Define.eMouseEvent.PointerDown:
        {
            if (braycasthit)
            {
                this._destPos = new Vector3(hit.point.x, this.transform.position.y, hit.point.z);
                State         = Define.eState.Moving;
                _stopSkill    = false;

                if (hit.collider.gameObject.layer == (int)Define.eLayer.Monster)
                {
                    _lockTarget = hit.collider.gameObject;
                }
                else
                {
                    _lockTarget = null;
                }
            }
        }
        break;

        case Define.eMouseEvent.Press:
        {
            if (_lockTarget != null)
            {
                _destPos = _lockTarget.transform.position;
            }
            else
            {
                if (braycasthit)
                {
                    _destPos = hit.point;
                }
            }
        }
        break;

        case Define.eMouseEvent.PointerUp:
        {
            _stopSkill = true;
        }
        break;
        }
    }