DefensiveStrategy.cs 779 B

1234567891011121314151617181920212223
  1. using UnityEngine;
  2. [CreateAssetMenu(fileName = "DefensiveStrategy", menuName = "Hockey/Strategies/Defensive")]
  3. public class DefensiveStrategy : AIStrategy
  4. {
  5. public override Vector3 GetTargetPosition(PlayerController player, Transform puck)
  6. {
  7. // Stay between puck and net
  8. Vector3 netPosition = new Vector3(0, 0, -25f); // Adjust based on your rink
  9. return Vector3.Lerp(puck.position, netPosition, 0.5f);
  10. }
  11. public override PlayerAction DecideAction(PlayerController player, bool hasPuck)
  12. {
  13. if (hasPuck)
  14. {
  15. return PlayerAction.Pass;
  16. }
  17. float checkChance = player.mentality.checkingTendency / 100f;
  18. return Random.value < checkChance ? PlayerAction.Check : PlayerAction.DefendNet;
  19. }
  20. }