Exemplo n.º 1
0
 void ChangeLife(G20_Unit _unit)
 {
     if (_unit.HP < 0)
     {
         return;
     }
     //増やす
     while (lifeImages.Count < _unit.HP - 1)
     {
         lifeImages[activeCount].gameObject.SetActive(true);
         activeCount++;
     }
     if (_unit.HP <= 0)
     {
         return;
     }
     //減らす
     while (activeCount > _unit.HP - 1)
     {
         var img = lifeImages[0];
         lifeImages.RemoveAt(0);
         StartCoroutine(lifeImageFade(img));
         activeCount--;
     }
 }
    public void RegisterEnemy(G20_Unit enemy)
    {
        if (!enemy)
        {
            //Debug.Log("EnemyCabinetに登録しようとしましたが、対象がnullでした");
            return;
        }

        if (enemy is G20_Enemy)
        {
            enemyList.Add((G20_Enemy)enemy);
        }
        else
        {
            //Debug.Log("エラー:敵以外の登録");
        }
    }
    public void UnregisterEnemy(G20_Unit enemy)
    {
        if (!enemy)
        {
            //Debug.Log("EnemyCabinetから除外しようとしましたが、対象がnullでした");
            return;
        }

        if (enemy is G20_Enemy)
        {
            enemyList.Remove((G20_Enemy)enemy);
            //enemyCount = enemyList.Count;
            // 見た目上敵が減るのを遅らせる
        }
        else
        {
            //Debug.Log("エラー:敵以外の登録解除");
        }
    }
    bool CanShootEnemy(GameObject _enemy)
    {
        G20_Unit unit = _enemy.GetComponent <G20_HitDamage>().Target;

        return(unit && unit is G20_Enemy && (!((G20_Enemy)unit).EnemyAI || ((G20_Enemy)unit).EnemyAI.IsAIStarted));
    }