コード例 #1
0
    static public Attackable FindNearestEnemy(Attackable.Side ourSide, Vector3 ourPosition)
    {
        List <Attackable> enemies           = ourSide == Attackable.Side.Good? _evilAttackable : _goodAttackable;
        Attackable        nearest           = null;
        float             nearesDistanceSqr = float.MaxValue;

        for (int i = 0; i < enemies.Count; i++)
        {
            Attackable enemy = enemies[i];
            if (enemy == null)
            {
                Debug.LogWarning("Attackables lists not up to date");
                UpdateList();
                continue;
            }

            float distanceSqr = (ourPosition - enemy.transform.position).sqrMagnitude;
            if (distanceSqr > nearesDistanceSqr)
            {
                continue;
            }

            nearesDistanceSqr = distanceSqr;
            nearest           = enemy;
        }

        return(nearest);
    }
コード例 #2
0
ファイル: World.cs プロジェクト: BenjaminPrats/Ldjam48
 public HealthBar GetHealthBarPrefab(Attackable.Side side)
 {
     return(side == Attackable.Side.Evil ? _evilHealthBar : _goodHealthBar);
 }