public void StopFire()
    {
        m_IsFiring = false;
        // m_animator.SetBool(m_activateStaffBoolName, m_IsFiring);

        if (m_targetCrystal != null)
        {
            m_targetCrystal.OnReleaseCrystal();
        }

        m_targetCrystal = null;
    }
예제 #2
0
    public void ChangeTarget(CrystalBase newTarget)
    {
        if (target != null)
        {
            target.OnReleaseCrystal();
        }

        if (newTarget == null)
        {
            target = null;
            return;
        }

        target = newTarget;
        newTarget.OnTriggerCrystal();
    }
    public void StopFire(CrystalBase snapTarget)
    {
        m_IsFiring = false;

        if (snapTarget != null)
        {
            RiftManager.activeRift.ChangeTarget(snapTarget);
            m_targetCrystal = null;
        }
        else
        {
            if (m_targetCrystal != null)
            {
                m_targetCrystal.OnReleaseCrystal();
            }

            m_targetCrystal = null;
        }
    }
    private void FireBeam()
    {
        Debug.Log("fire");
        RaycastHit2D hit = Physics2D.Linecast(m_staffOrigin.position, m_mousePos, ~m_raycastIgnore.value);

        if (hit.transform != null)
        {
            Debug.DrawLine(m_staffOrigin.position, hit.point, Color.red);
        }
        else
        {
            Debug.DrawLine(m_staffOrigin.position, m_mousePos, Color.red);
        }

        if (hit.transform?.GetComponent <CrystalBase>() == null)
        {
            if (m_targetCrystal != null)
            {
                m_targetCrystal.OnReleaseCrystal();
            }

            m_targetCrystal = null;
            return;
        }

        if (m_targetCrystal != null && hit.transform == m_targetCrystal.transform)
        {
            return;
        }

        if (m_targetCrystal != null)
        {
            m_targetCrystal.OnReleaseCrystal();
        }

        m_targetCrystal = hit.transform.GetComponent <CrystalBase>();
        m_targetCrystal.OnTriggerCrystal();
    }
예제 #5
0
 private void Start()
 {
     riftsInViewList.Clear();
     target = null;
 }