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