public override void Update(float deltaTime)
 {
     ActionModel.Subject = null;
     foreach (TurtleModel turtle in TurtleModels)
     {
         if (turtle.Selected)
         {
             ActionModel.Subject = turtle;
             break;
         }
     }
     if (ActionModel.Subject != null)
     {
         ActionModel.Target = null;
         foreach (SeatModel seat in SeatModels)
         {
             if (seat.Selected && !seat.Position.Equals(ActionModel.Subject.Position))
             {
                 ActionModel.Target = seat;
                 break;
             }
         }
         if (ActionModel.Target != null)
         {
             // Conditions met for turtle move
             ActionModel.Subject.Selected = false;
             ActionModel.Target.Selected  = false;
             TurtleModel.AssignTurtleToSeat(ActionModel.Subject, ActionModel.Target);
             ActionModel.Reset();
         }
     }
 }
Exemplo n.º 2
0
 public override void Update(float deltaTime)
 {
     timeSinceLastSpawn += deltaTime;
     if (timeSinceLastSpawn > SPAWN_INTERVAL_SECONDS)
     {
         timeSinceLastSpawn -= SPAWN_INTERVAL_SECONDS;
         SeatModel assignedSeat = GetFreeQueueSeat();
         if (assignedSeat != null)
         {
             // Spawn turtle
             TurtleModel newTurtle = new TurtleModel()
             {
                 StaticData = ObjectDatabaseModel.Instance["turtle_1_no_materials"]
             };
             Turtles.Add(newTurtle);
             TurtleModel.AssignTurtleToSeat(newTurtle, assignedSeat);
         }
     }
 }