OffensiveStrategy.cs 725 B

123456789101112131415161718192021
  1. using UnityEngine;
  2. [CreateAssetMenu(fileName = "OffensiveStrategy", menuName = "Hockey/Strategies/Offensive")]
  3. public class OffensiveStrategy : AIStrategy
  4. {
  5. public override Vector3 GetTargetPosition(PlayerController player, Transform puck)
  6. {
  7. // Move towards offensive zone
  8. return new Vector3(puck.position.x, 0, player.transform.position.z + 5f);
  9. }
  10. public override PlayerAction DecideAction(PlayerController player, bool hasPuck)
  11. {
  12. if (hasPuck)
  13. {
  14. float shootChance = player.mentality.shootingTendency / 100f;
  15. return Random.value < shootChance ? PlayerAction.Shoot : PlayerAction.Pass;
  16. }
  17. return PlayerAction.SupportTeammate;
  18. }
  19. }