需要一些解释才能理解此统一游戏教程中的 get 属性 代码

Needed some explanation to understand the get property code in this unity game tutorial

只是想知道这个脚本中的 get 属性 代码(最后)是否是一个 shorthand 代码,它说,如果 shootCooldown 小于或等于 0 那么 return 是吗?

如果是,那么这是编写 if 条件的另一种方式吗?对我来说,代码似乎是 returning 浮点值而不是布尔值。

完整代码贴在下面:

    public class WeaponScript : MonoBehaviour 
  {
  public Transform shotPrefab;
  public float shootingRate = 0.25f;
  private float shootCooldown;

  void Start()
  {
    shootCooldown = 0f;
  }

  void Update()
  {
    if (shootCooldown > 0)
    {
      shootCooldown -= Time.deltaTime;
    }
  }

  public void Attack(bool isEnemy)
  {
    if (CanAttack)
    {
      shootCooldown = shootingRate;

      // Create a new shot
      var shotTransform = Instantiate(shotPrefab) as Transform;

      // Assign position
      shotTransform.position = transform.position;

      // The is enemy property
      ShotScript shot = shotTransform.gameObject.GetComponent<ShotScript>();
      if (shot != null)
      {
        shot.isEnemyShot = isEnemy;
      }

      // Make the weapon shot always towards it
      MoveScript move = shotTransform.gameObject.GetComponent<MoveScript>();
      if (move != null)
      {
        move.direction = this.transform.right; // towards in 2D space is the right of the sprite
      }
    }
  }

  public bool CanAttack
  {
    get
    {
      return shootCooldown <= 0f;
    }
  }
}

属性 的代码没有 return

的值
shootCooldown 

但是表达式的结果

shootCooldown <= 0f;

解析为布尔值。

相当于写

if (shootCooldown <= 0f)
{
       return true;
}
else 
{
       return false;
}