示例#1
0
 // Update is called once per frame
 void Update()
 {
     if (isAlive)
     {
         if (isMoving)
         {
             var movement = transform.forward * Time.deltaTime * moveSpeed;
             if (movable.CanMoveBy(movement))
             {
                 transform.position += movement;
             }
             else
             {
                 transform.Rotate(0, 90, 0);
             }
         }
         Physics.OverlapSphere(transform.position, wateringRange)
         .Select(collider => collider.transform.parent)
         .SelectMany(parent => parent.GetComponents <Flower>())
         .ForAll(flower => flower.WaterBy(Time.deltaTime));
     }
     lifeBar.size = Mathf.Max(currentLife, 0) / maximumLife;
 }