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(); } } }