コード例 #1
0
    private void Interact(Vector2 lineOrigin, Vector2 chargePos)
    {
        Interactives.Clear();
        Bonuses.Clear();

        var interactableDetect = Utils.LineCastAll(lineOrigin, chargePos, includeTriggers: true);
        var interactives       = interactableDetect.Where(i => i.transform.CompareTag("Interactive")).ToArray();

        foreach (var interactive in interactives)
        {
            if (interactive.transform.TryGetComponent(out IActivable activable))
            {
                Interactives.Add(activable);
            }
        }

        var bonuses = interactableDetect.Where(b => b.transform.CompareTag("Bonus")).ToArray();

        foreach (var item in bonuses)
        {
            if (item.transform.TryGetComponent(out Bonus bonus))
            {
                Bonuses.Add(bonus);
            }
        }
    }
コード例 #2
0
 public void Clear()
 {
     Movements.Clear();
     Interactives.Clear();
     Gathers.Clear();
 }