예제 #1
0
    private void SetTarget(Collider2D other)
    {
        ShootSkill.SaveTarget(_camp, other.transform);
        // 可能调用时敌人被消灭,不能调用协程取消锁定, 或当协程还未执行完时,敌人被消灭,也不能取消子弹锁定, 所有用GameManager的方法开启协程
//        StartCoroutine(UnSetTarget(other));
        GameManager.Instance.StartCoroutine(UnSetTarget(other));
    }
예제 #2
0
    // 当敌机被歼灭时或超过引导时间,取消引导
    IEnumerator UnSetTarget(Collider2D target)
    {
        float time = 0f;

        while (time < signalTime)
        {
            yield return(null);

            time += Time.deltaTime;
            if (!target.gameObject.activeInHierarchy)
            {
                break;
            }
        }

        ShootSkill.SaveTarget(_camp, null);
    }