// Update is called once per frame
    void Update()
    {
        switch (CurrentStatus)
        {
        case BalloonStatus.Flying:
            transform.position += Direction.normalized * Speed * Time.deltaTime;
            transform.position  = Vector3.up * Mathf.Clamp(transform.position.y + 20 * Time.deltaTime, 0, 120)
                                  + new Vector3(transform.position.x, 0, transform.position.z);
            if (Vector3.Distance(transform.position, WorldCenter.transform.position) >= 10000)
            {
                Direction = -Direction;
            }
            break;

        case BalloonStatus.Approaching:
            transform.position = Vector3.MoveTowards(transform.position,
                                                     LandingPoint.gameObject.transform.position + Vector3.up * 100,
                                                     Speed * Time.deltaTime);
            if (Vector3.Distance(transform.position, LandingPoint.gameObject.transform.position) <= 110)
            {
                CurrentStatus = BalloonStatus.Landing;
            }
            break;

        case BalloonStatus.Landing:
            transform.position = Vector3.MoveTowards(transform.position,
                                                     LandingPoint.gameObject.transform.position,
                                                     Speed * Time.deltaTime);
            break;

        default:
            break;
        }
    }
 private void _TakeOff()
 {
     CurrentStatus = BalloonStatus.Flying;
     Direction     = Vector3.right * Random.Range(-1f, 1f) + Vector3.forward * Random.Range(-1f, 1f);
     Invoke(nameof(RequestToLand), FlyingTime);
     TargetAirport.IsOccupiedForBalloon = false;
     TargetAirport = null;
 }
Пример #3
0
        public JsonResult AjaxDelete(int id)
        {
            BalloonStatus balloonStatus = db.BalloonStatus.Find(id);

            db.BalloonStatus.Remove(balloonStatus);
            db.SaveChanges();

            string confirmMessage = string.Format("Deleted Balloon Status '{0}' from the database!", balloonStatus.BalloonStatusName);

            return(Json(new { id = id, message = confirmMessage }));
        }
 private void RequestToLand()
 {
     TargetAirport = WorldCenter.Airports[Random.Range(0, WorldCenter.Airports.Length)];
     if (!TargetAirport.RequestToLandForBalloon(this))
     {
         Invoke(nameof(RequestToLand), 10f);
         TargetAirport = null;
     }
     else
     {
         CurrentStatus = BalloonStatus.Approaching;
     }
 }
 public void SetLandingPoint(BalloonPoint landingPoint)
 {
     LandingPoint  = landingPoint;
     CurrentStatus = BalloonStatus.Approaching;
 }
Пример #6
0
 public JsonResult AjaxEdit(BalloonStatus balloonStatus)
 {
     db.Entry(balloonStatus).State = EntityState.Modified;
     db.SaveChanges();
     return(Json(balloonStatus));
 }
Пример #7
0
 public JsonResult AjaxCreate(BalloonStatus balloonStatus)
 {
     db.BalloonStatus.Add(balloonStatus);
     db.SaveChanges();
     return(Json(balloonStatus));
 }
Пример #8
0
        public PartialViewResult BalloonStatusDetails(int id)
        {
            BalloonStatus balloonStatus = db.BalloonStatus.Find(id);

            return(PartialView(balloonStatus));
        }